From c49f0f2f8960f1f7025b1e868af501e3079d3e53 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 2 Dec 2014 23:32:05 +0000 Subject: [PATCH 001/282] Add importing PNG files as icon_states --- tools/dmitool/dmitool.jar | Bin 194661 -> 196131 bytes .../src/main/java/dmitool/DMIException.java | 3 + .../src/main/java/dmitool/IconState.java | 96 +++++++++++++++++- tools/dmitool/src/main/java/dmitool/Main.java | 58 +++++++++-- 4 files changed, 149 insertions(+), 8 deletions(-) diff --git a/tools/dmitool/dmitool.jar b/tools/dmitool/dmitool.jar index e82d12e5b4399837ad0447c7e4c8ce8f5e0a8125..4c2fef9f873adf8666332cad4f304663da9de7ab 100644 GIT binary patch delta 13072 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 delta 11703 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 diff --git a/tools/dmitool/src/main/java/dmitool/DMIException.java b/tools/dmitool/src/main/java/dmitool/DMIException.java index ecc9d2f062..e929316289 100644 --- a/tools/dmitool/src/main/java/dmitool/DMIException.java +++ b/tools/dmitool/src/main/java/dmitool/DMIException.java @@ -8,6 +8,9 @@ public class DMIException extends Exception { desc = descriptor; this.line = line; } + public DMIException(String what) { + super(what); + } public DMIException(String what, Exception cause) { super(what, cause); } diff --git a/tools/dmitool/src/main/java/dmitool/IconState.java b/tools/dmitool/src/main/java/dmitool/IconState.java index 568f7c5cea..82fdc86369 100644 --- a/tools/dmitool/src/main/java/dmitool/IconState.java +++ b/tools/dmitool/src/main/java/dmitool/IconState.java @@ -4,6 +4,9 @@ import java.util.Arrays; import ar.com.hjg.pngj.ImageInfo; import ar.com.hjg.pngj.ImageLineInt; import ar.com.hjg.pngj.PngWriter; +import ar.com.hjg.pngj.PngReader; +import ar.com.hjg.pngj.PngjInputException; +import java.io.InputStream; import java.io.OutputStream; public class IconState { @@ -144,4 +147,95 @@ public class IconState { } out.end(); } -} \ No newline at end of file + + public static IconState importFromPNG(DMI dmi, InputStream inS, String name) throws DMIException { + int w = dmi.w; + int h = dmi.h; + + PngReader in; + try { + in = new PngReader(inS); + } catch(PngjInputException pie) { + throw new DMIException("Bad file format!", pie); + } + int pxW = in.imgInfo.cols; + int pxH = in.imgInfo.rows; + int frames = pxW / w; + int dirs = pxH / h; + + // make sure the size is an integer multiple + if(frames * w != pxW || frames==0) throw new DMIException("Illegal image size!"); + if(dirs * h != pxH || dirs==0) throw new DMIException("Illegal image size!"); + + int[][] px = new int[pxH][]; + for(int i=0; i= 0) System.out.println("Loading " + f); - dmi = doDMILoad(f); + DMI dmi = doDMILoad(f); if(VERBOSITY >= 0) dmi.printInfo(); if(VERBOSITY >= 0) System.out.println("Saving " + f); dmi.writeDMI(new FileOutputStream(f), true); break; - case "merge": + } + case "merge": { if(argq.size() < 4) { System.out.println("Insufficient arguments for command!"); System.out.println(helpStr); @@ -145,7 +150,8 @@ public class Main { System.exit(0); } break; - case "extract": + } + case "extract": { if(argq.size() < 3) { System.out.println("Insufficient arguments for command!"); System.out.println(helpStr); @@ -155,7 +161,7 @@ public class Main { state = argq.pollFirst(), outFile = argq.pollFirst(); - dmi = doDMILoad(file); + DMI dmi = doDMILoad(file); if(VERBOSITY >= 0) dmi.printInfo(); IconState is = dmi.getIconState(state); @@ -231,7 +237,44 @@ public class Main { } is.dumpToPNG(new FileOutputStream(outFile), mDir, Mdir, mFrame, Mframe); break; - case "verify": + } + case "import": { + if(argq.size() < 3) { + System.out.println("Insufficient arguments for command!"); + System.out.println(helpStr); + return; + } + String dmiFile = argq.pollFirst(), + stateName = argq.pollFirst(), + pngFile = argq.pollFirst(); + + boolean noDup = false; + if(!argq.isEmpty()) { + switch(argq.pollFirst().toLowerCase()) { + case "nodup": + noDup = true; + break; + } + } + + if(VERBOSITY >= 0) System.out.println("Loading " + dmiFile); + DMI toImportTo = doDMILoad(dmiFile); + if(VERBOSITY >= 0) toImportTo.printInfo(); + //public static IconState importFromPNG(DMI dmi, InputStream inS, String name) throws DMIException { + IconState is = IconState.importFromPNG(toImportTo, new FileInputStream(pngFile), stateName); + + + if(!(noDup && toImportTo.setIconState(is))) { + toImportTo.addIconState(null, is); + } + + if(VERBOSITY >= 0) toImportTo.printInfo(); + + if(VERBOSITY >= 0) System.out.println("Saving " + dmiFile); + toImportTo.writeDMI(new FileOutputStream(dmiFile)); + break; + } + case "verify": { if(argq.size() < 1) { System.out.println("Insufficient arguments for command!"); System.out.println(helpStr); @@ -242,6 +285,7 @@ public class Main { DMI v = doDMILoad(vF); if(VERBOSITY >= 0) v.printInfo(); break; + } default: System.out.println("Command '" + op + "' not found!"); case "help": From f98550fb9d071d1d91405747082943b72dd19435 Mon Sep 17 00:00:00 2001 From: Menshin Date: Tue, 23 Dec 2014 23:47:30 +0100 Subject: [PATCH 002/282] * Made the preloader independant of the called New(). That fixes any runtime with a positional argument being erased by the preloader. * Allows setting an associative variable to null. --- code/modules/maps/reader.dm | 69 ++++++++++++++----------------------- 1 file changed, 26 insertions(+), 43 deletions(-) diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm index 66ebb13c72..daf34508f5 100644 --- a/code/modules/maps/reader.dm +++ b/code/modules/maps/reader.dm @@ -2,6 +2,9 @@ //SS13 Optimized Map loader ////////////////////////////////////////////////////////////// +//global datum that will preload variables on atoms instanciation +var/global/dmm_suite/preloader/_preloader = null + /** * Construct the model map and control the loading process @@ -163,7 +166,7 @@ //first instance the /area and remove it from the members list index = members.len var/atom/instance - var/dmm_suite/preloader/_preloader = new(members_attributes[index])//preloader for assigning set variables on atom creation + _preloader = new(members_attributes[index])//preloader for assigning set variables on atom creation instance = locate(members[index]) instance.contents.Add(locate(xcrd,ycrd,zcrd)) @@ -191,34 +194,6 @@ T = UT index++ - - //Replace the previous part of the code with this if it's unsafe to assume tiles have ALWAYS an /area AND a /turf - /*while(members.len > 0) - var/length = members.len - var/member = members[length] - - if(ispath(member,/area)) - var/atom/instance - var/dmm_suite/preloader/_preloader = new(members_attributes[length]) - - instance = locate(member) - instance.contents.Add(locate(xcrd,ycrd,zcrd)) - - if(_preloader && instance) - _preloader.load(instance) - - members.Remove(member) - continue - - else if(ispath(member,/turf)) - instance_atom(member,members_attributes[length],xcrd,ycrd,zcrd) - members.Remove(member) - continue - - else - break - */ - //finally instance all remainings objects/mobs for(index=1,index < first_turf_index,index++) instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd) @@ -230,11 +205,11 @@ //Instance an atom at (x,y,z) and gives it the variables in attributes /dmm_suite/proc/instance_atom(var/path,var/list/attributes, var/x, var/y, var/z) var/atom/instance - var/dmm_suite/preloader/_preloader = new(attributes) + _preloader = new(attributes, path) - instance = new path (locate(x,y,z), _preloader)//first preloader pass + instance = new path (locate(x,y,z))//first preloader pass - if(_preloader && instance)//second preloader pass, as some variables may have been reset/changed by New() + if(_preloader && instance)//second preloader pass, for those atoms that don't ..() in New() _preloader.load(instance) return instance @@ -242,9 +217,9 @@ //text trimming (both directions) helper proc //optionally removes quotes before and after the text (for variable name) /dmm_suite/proc/trim_text(var/what as text,var/trim_quotes=0) - while(length(what) && (findtext(what," ",1,2)))// || findtext(what,quote,1,2))) + while(length(what) && (findtext(what," ",1,2))) what=copytext(what,2,0) - while(length(what) && (findtext(what," ",length(what),0)))// || findtext(what,quote,length(what),0))) + while(length(what) && (findtext(what," ",length(what),0))) what=copytext(what,1,length(what)) if(trim_quotes) while(length(what) && (findtext(what,quote,1,2))) @@ -298,14 +273,18 @@ 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))) + //Check for null + else if(trim_right == "null") + trim_right = null //Check for list else if(copytext(trim_right,1,5) == "list") trim_right = text2list(copytext(trim_right,6,length(trim_right))) + //Check for file + else if(copytext(trim_right,1,2) == "'") + trim_right = file(copytext(trim_right,2,length(trim_right))) + to_return[trim_left] = trim_right else//simple var @@ -323,10 +302,11 @@ placed.opacity = 1 placed.underlays += turfs_underlays -//atom creation method that preloads variables before creation -/atom/New(atom/loc, dmm_suite/preloader/_dmm_preloader) - if(istype(_dmm_preloader, /dmm_suite/preloader)) - _dmm_preloader.load(src) +//atom creation method that preloads variables at creation +/atom/New() + if(_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() + _preloader.load(src) + . = ..() ////////////////// @@ -336,14 +316,17 @@ /dmm_suite/preloader parent_type = /datum var/list/attributes + var/target_path -/dmm_suite/preloader/New(list/the_attributes) +/dmm_suite/preloader/New(var/list/the_attributes, var/path) .=..() if(!the_attributes.len) Del() + return attributes = the_attributes + target_path = path /dmm_suite/preloader/proc/load(atom/what) for(var/attribute in attributes) what.vars[attribute] = attributes[attribute] - Del() + Del() \ No newline at end of file From 8db95a3ad6d318085ca85308590492077c80ce43 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 25 Dec 2014 18:58:49 -0500 Subject: [PATCH 003/282] Adjusts disposal pressure Makes disposals no longer a vacuum in a standard environment. --- code/modules/recycling/disposal.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 236f80eb93..414ae267f5 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -5,9 +5,9 @@ // Automatically recharges air (unless off), will flush when ready if pre-set // Can hold items and human size things, no other draggables // Toilets are a type of disposal bin for small objects only and work on magic. By magic, I mean torque rotation -#define SEND_PRESSURE 50 //kPa +#define SEND_PRESSURE 50 + ONE_ATMOSPHERE //kPa - assume the inside of a dispoal pipe is 1 atm #define PRESSURE_TANK_VOLUME 70 //L - a 0.3 m diameter * 1 m long cylindrical tank. Happens to be the same volume as the regular oxygen tanks, so seems appropriate. -#define PUMP_MAX_FLOW_RATE 50 //L/s - 8 m/s using a 15 cm by 15 cm inlet +#define PUMP_MAX_FLOW_RATE 100 //L/s - 4 m/s using a 15 cm by 15 cm inlet /obj/machinery/disposal name = "disposal unit" From 207ce65bd6dc27eb5445f0a41229da201b17f31c Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 25 Dec 2014 19:45:31 -0500 Subject: [PATCH 004/282] Adds sol common syllables, fixes #7527 Humans get default random names 80% of the time, and get sol-common syllable names the other 20%. Also replaces the sol common syllable list with a bunch of mandarin and english syllables. --- code/modules/mob/language.dm | 78 ++++++++++++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 10809d9db5..d6510a1f8a 100755 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -142,7 +142,7 @@ syllables = list("rr","rr","tajr","kir","raj","kii","mir","kra","ahk","nal","vah","khaz","jri","ran","darr", \ "mi","jri","dynh","manq","rhe","zar","rrhaz","kal","chur","eech","thaa","dra","jurl","mah","sanu","dra","ii'r", \ "ka","aasi","far","wa","baq","ara","qara","zir","sam","mak","hrar","nja","rir","khan","jun","dar","rik","kah", \ - "hal","ket","jurl","mah","tul","cresh","azu","ragh") + "hal","ket","jurl","mah","tul","cresh","azu","ragh", "mro", "mra") /datum/language/tajaran/get_random_name(var/gender) @@ -221,7 +221,8 @@ colour = "solcom" key = "1" flags = RESTRICTED - syllables = list("tao","shi","tzu","yi","com","be","is","i","op","vi","ed","lec","mo","cle","te","dis","e") + + //syllables are at the bottom of the file /datum/language/human/get_spoken_verb(var/msg_end) switch(msg_end) @@ -231,6 +232,15 @@ return ask_verb return speech_verb +/datum/language/human/get_random_name(var/gender) + if (prob(80)) + if(gender==FEMALE) + return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) + else + return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) + else + return ..() + // Galactic common languages (systemwide accepted standards). /datum/language/trader name = "Tradeband" @@ -422,4 +432,66 @@ dat += "[L.name] (:[L.key])
[L.desc]

" src << browse(dat, "window=checklanguage") - return \ No newline at end of file + return + +//Syllable Lists + +/* + This list really long, mainly because I can't make up my mind about which mandarin syllables should be removed, + and the english syllables had to be duplicated so that there is roughly a 50-50 weighting. + + Sources: + http://www.sttmedia.com/syllablefrequency-english + http://www.chinahighlights.com/travelguide/learning-chinese/pinyin-syllables.htm +*/ +/datum/language/human/syllables = list( +"a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian", "biao", +"bie", "bin", "bing", "bo", "bu", "ca", "cai", "can", "cang", "cao", "ce", "cei", "cen", "ceng", "cha", "chai", +"chan", "chang", "chao", "che", "chen", "cheng", "chi", "chong", "chou", "chu", "chua", "chuai", "chuan", "chuang", "chui", "chun", +"chuo", "ci", "cong", "cou", "cu", "cuan", "cui", "cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", "dei", +"den", "deng", "di", "dian", "diao", "die", "ding", "diu", "dong", "dou", "du", "duan", "dui", "dun", "duo", "e", +"ei", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", "fou", "fu", "ga", "gai", "gan", "gang", +"gao", "ge", "gei", "gen", "geng", "gong", "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha", +"hai", "han", "hang", "hao", "he", "hei", "hen", "heng", "hm", "hng", "hong", "hou", "hu", "hua", "huai", "huan", +"huang", "hui", "hun", "huo", "ji", "jia", "jian", "jiang", "jiao", "jie", "jin", "jing", "jiong", "jiu", "ju", "juan", +"jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", "kei", "ken", "keng", "kong", "kou", "ku", "kua", "kuai", +"kuan", "kuang", "kui", "kun", "kuo", "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian", +"liang", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "luan", "lun", "luo", "ma", "mai", "man", "mang", +"mao", "me", "mei", "men", "meng", "mi", "mian", "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na", +"nai", "nan", "nang", "nao", "ne", "nei", "nen", "neng", "ng", "ni", "nian", "niang", "niao", "nie", "nin", "ning", +"niu", "nong", "nou", "nu", "nuan", "nuo", "o", "ou", "pa", "pai", "pan", "pang", "pao", "pei", "pen", "peng", +"pi", "pian", "piao", "pie", "pin", "ping", "po", "pou", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin", +"qing", "qiong", "qiu", "qu", "quan", "que", "qun", "ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou", +"ru", "rua", "ruan", "rui", "run", "ruo", "sa", "sai", "san", "sang", "sao", "se", "sei", "sen", "seng", "sha", +"shai", "shan", "shang", "shao", "she", "shei", "shen", "sheng", "shi", "shou", "shu", "shua", "shuai", "shuan", "shuang", "shui", +"shun", "shuo", "si", "song", "sou", "su", "suan", "sui", "sun", "suo", "ta", "tai", "tan", "tang", "tao", "te", +"teng", "ti", "tian", "tiao", "tie", "ting", "tong", "tou", "tu", "tuan", "tui", "tun", "tuo", "wa", "wai", "wan", +"wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", "xie", "xin", "xing", "xiong", "xiu", +"xu", "xuan", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "yong", "you", "yu", "yuan", +"yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai", "zhan", "zhang", "zhao", +"zhe", "zhei", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuang", "zhui", "zhun", "zhuo", "zi", +"zong", "zou", "zuan", "zui", "zun", "zuo", "zu", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi", +"al", "an", "ar", "as", "at", "ea", "ed", "en", "er", "es", "ha", "he", "hi", "in", "is", "it", +"le", "me", "nd", "ne", "ng", "nt", "on", "or", "ou", "re", "se", "st", "te", "th", "ti", "to", +"ve", "wa", "all", "and", "are", "but", "ent", "era", "ere", "eve", "for", "had", "hat", "hen", "her", "hin", +"his", "ing", "ion", "ith", "not", "ome", "oul", "our", "sho", "ted", "ter", "tha", "the", "thi") \ No newline at end of file From f17aa78d5fd61f5494672e0636c73b4a1028449d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 31 Dec 2014 00:28:54 -0500 Subject: [PATCH 005/282] Less wall damage snowflake, allows obj throwers like crossbows and vox spike throwers to damage walls --- code/game/turfs/simulated/walls.dm | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 74149103b3..e07535c352 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -25,18 +25,26 @@ /turf/simulated/wall/bullet_act(var/obj/item/projectile/Proj) - // Tasers and stuff? No thanks. - if(Proj.damage_type == HALLOSS) + // Tasers and stuff? No thanks. Also no clone or tox damage crap. + if(!(Proj.damage_type == BRUTE || Proj.damage_type == BURN)) return - // Emitter blasts are somewhat weaker as emitters have large rate of fire and don't require limited power cell to run - if(istype(Proj, /obj/item/projectile/beam/emitter)) - Proj.damage /= 4 + //cap the amount of damage, so that things like emitters can't destroy walls in one hit. + var/damage = min(Proj.damage, 100) * armor - take_damage(Proj.damage * armor) + take_damage(damage) return - +/turf/simulated/wall/hitby(AM as mob|obj, var/speed=5) + ..() + if(ismob(AM)) + return + + var/tforce = AM:throwforce * (speed/5) + if (tforce < 15) + return + + take_damage(tforce * armor) /turf/simulated/wall/Del() for(var/obj/effect/E in src) if(E.name == "Wallrot") del E From 756d79b7f3c34f9a4b5b73967c60cd4902d302a0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 31 Dec 2014 00:43:58 -0500 Subject: [PATCH 006/282] Less airlock destruction snowflake Removed the secured_wires multiplier to emitter_hits because it doesn't make sense that swapping out a different kind of electronics should affect the door being destroyed. If certain doors should be resistant then that can be changed in mapping. --- code/game/machinery/doors/airlock.dm | 4 ---- code/game/machinery/doors/door.dm | 26 ++++++++++++++------------ code/game/machinery/doors/poddoor.dm | 2 +- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 866e2c1b9f..944b5c7453 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1059,10 +1059,6 @@ About the new airlock wires panel: /obj/machinery/door/airlock/New(var/newloc, var/obj/structure/door_assembly/assembly=null) ..() - //High-sec airlocks are much harder to completely break by emitters. - if(secured_wires) - emitter_resistance *= 3 - //if assembly is given, create the new door from the assembly if (assembly) assembly_type = assembly.type diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 306af92f37..0a0e5a7327 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -27,8 +27,7 @@ var/air_properties_vary_with_direction = 0 var/maxhealth = 300 var/health - var/emitter_hits = 0 // For use when tracking amount of emitter hits taken. - var/emitter_resistance = 10 // Amount of emitter hits doors whistand + var/destroy_hits = 10 //How many strong hits it takes to destroy the door var/min_force = 10 //minimum amount of force needed to damage the door with a melee weapon var/hitsound = 'sound/weapons/smash.ogg' //sound door makes when hit with a weapon var/obj/item/stack/sheet/metal/repairing @@ -139,18 +138,21 @@ return // Emitter Blasts - these will eventually completely destroy the door, given enough time. - if (istype(Proj, /obj/item/projectile/beam/emitter)) - if(health > 0) - Proj.damage /= 4 - else - emitter_hits ++ - if(emitter_hits >= emitter_resistance) - visible_message("\red [src.name] breaks apart!", 1) - new /obj/effect/decal/cleanable/ash(src.loc) // Turn it to ashes! - del(src) + if (Proj.damage > 90) + destroy_hits-- + if (destroy_hits <= 0) + visible_message("\red \The [src.name] disintegrates!") + switch (Proj.damage_type) + if(BRUTE) + new /obj/item/stack/sheet/metal(src.loc, 2) + new /obj/item/stack/rods(src.loc, 3) + if(BURN) + new /obj/effect/decal/cleanable/ash(src.loc) // Turn it to ashes! + del(src) if(Proj.damage) - take_damage(Proj.damage) + //cap projectile damage so that there's still a minimum number of hits required to break the door + take_damage(min(Proj.damage, 100)) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 9ab7dabb2d..80152197f9 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -6,7 +6,7 @@ var/id = 1.0 dir = 1 explosion_resistance = 25 - emitter_resistance = 50 // Lots of emitter blasts, it's blast door after all. + destroy_hits = 50 // Lots of emitter blasts, it's blast door after all. /obj/machinery/door/poddoor/New() . = ..() From 3381c615ef5d6f21bde95ee56e0c3ffcf8d3da41 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 31 Dec 2014 01:00:49 -0500 Subject: [PATCH 007/282] Adds blue suit jacket to custom loadout gear Custom item for Nyarlthotep, implemented as custom loadout gear. --- code/modules/client/preferences_gear.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3e8c8e3a3c..cfd3196a11 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -492,6 +492,12 @@ var/global/list/gear_datums = list() cost = 3 slot = slot_wear_suit +/datum/gear/blue_lawyer_jacket + display_name = "suit jacket, blue" + path = /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket + cost = 3 + slot = slot_wear_suit + /datum/gear/hoodie display_name = "hoodie, grey" path = /obj/item/clothing/suit/hoodie From d240f6563df0427678126da27f7d5321a4676a54 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 31 Dec 2014 02:02:49 -0500 Subject: [PATCH 008/282] Throwing speed defines --- code/game/turfs/simulated/walls.dm | 4 ++-- code/modules/mob/living/carbon/human/human_defense.dm | 10 +++++----- code/modules/mob/living/living_defense.dm | 8 ++++---- code/setup.dm | 3 +++ 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index e07535c352..728a9ae616 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -35,12 +35,12 @@ take_damage(damage) return -/turf/simulated/wall/hitby(AM as mob|obj, var/speed=5) +/turf/simulated/wall/hitby(AM as mob|obj, var/speed=THROWFORCE_SPEED_DIVISOR) ..() if(ismob(AM)) return - var/tforce = AM:throwforce * (speed/5) + var/tforce = AM:throwforce * (speed/THROWFORCE_SPEED_DIVISOR) if (tforce < 15) return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index cd91d77cf3..198222a26d 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -297,11 +297,11 @@ emp_act return 1 //this proc handles being hit by a thrown atom -/mob/living/carbon/human/hitby(atom/movable/AM as mob|obj,var/speed = 5) +/mob/living/carbon/human/hitby(atom/movable/AM as mob|obj,var/speed = THROWFORCE_SPEED_DIVISOR) if(istype(AM,/obj/)) var/obj/O = AM - if(in_throw_mode && !get_active_hand() && speed <= 5) //empty active hand and we're in throw mode + if(in_throw_mode && !get_active_hand() && speed <= THROWFORCE_SPEED_DIVISOR) //empty active hand and we're in throw mode if(canmove && !restrained()) if(isturf(O.loc)) put_in_active_hand(O) @@ -313,7 +313,7 @@ emp_act if(istype(O,/obj/item/weapon)) var/obj/item/weapon/W = O dtype = W.damtype - var/throw_damage = O.throwforce*(speed/5) + var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) var/zone if (istype(O.thrower, /mob/living)) @@ -375,9 +375,9 @@ emp_act affecting.embed(I) // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= 15) + if(O.throw_source && speed >= THROWNOBJ_KNOCKBACK_SPEED) var/obj/item/weapon/W = O - var/momentum = speed/2 + var/momentum = speed/THROWNOBJ_KNOCKBACK_DIVISOR var/dir = get_dir(O.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 4ac03cdf5f..1afd5b5325 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -100,14 +100,14 @@ ..() //this proc handles being hit by a thrown atom -/mob/living/hitby(atom/movable/AM as mob|obj,var/speed = 5)//Standardization and logging -Sieve +/mob/living/hitby(atom/movable/AM as mob|obj,var/speed = THROWFORCE_SPEED_DIVISOR)//Standardization and logging -Sieve if(istype(AM,/obj/)) var/obj/O = AM var/dtype = BRUTE if(istype(O,/obj/item/weapon)) var/obj/item/weapon/W = O dtype = W.damtype - var/throw_damage = O.throwforce*(speed/5) + var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) var/miss_chance = 15 if (O.throw_source) @@ -136,9 +136,9 @@ msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (JMP)") // Begin BS12 momentum-transfer code. - if(O.throw_source && speed >= 15) + if(O.throw_source && speed >= THROWNOBJ_KNOCKBACK_SPEED) var/obj/item/weapon/W = O - var/momentum = speed/2 + var/momentum = speed/THROWNOBJ_KNOCKBACK_DIVISOR var/dir = get_dir(O.throw_source, src) visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!") diff --git a/code/setup.dm b/code/setup.dm index c3ab2739a8..4332480676 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -68,6 +68,9 @@ #define SHOE_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For gloves #define SHOE_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For gloves +#define THROWFORCE_SPEED_DIVISOR 5 //The throwing speed value at which the throwforce multiplier is exactly 1. +#define THROWNOBJ_KNOCKBACK_SPEED 15 //The minumum speed of a thrown object that will cause living mobs it hits to be knocked back. +#define THROWNOBJ_KNOCKBACK_DIVISOR 2 //Affects how much speed the mob is knocked back with #define PRESSURE_DAMAGE_COEFFICIENT 4 //The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE #define MAX_HIGH_PRESSURE_DAMAGE 4 //This used to be 20... I got this much random rage for some retarded decision by polymorph?! Polymorph now lies in a pool of blood with a katana jammed in his spleen. ~Errorage --PS: The katana did less than 20 damage to him :( From 3e1ad4099e90cc271e44356593a72062c8728f0e Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 1 Jan 2015 17:20:21 +0100 Subject: [PATCH 009/282] Wireless Wires Bug Removal - This removes the dreaded wireless wires bug, which caused wires disconnected by explosions to actually still conduct power until powernet was manually updated. - This also adresses issue with (on bay unused) singularity, which exhibits similar behavior when eating wires (wireless wires bug) --- code/game/objects/explosion.dm | 12 ++++++++---- code/modules/power/singularity/singularity.dm | 9 --------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index c48d062e9e..32f05901b4 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -70,8 +70,12 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa var/lighting_controller_was_processing = lighting_controller.processing //Pause the lighting updates for a bit lighting_controller.processing = 0 + + + var/approximate_intensity = (devastation_range * 3) + (heavy_impact_range * 2) + light_impact_range var/powernet_rebuild_was_deferred_already = defer_powernet_rebuild - if(defer_powernet_rebuild != 2) + // Large enough explosion. For performance reasons, powernets will be rebuilt manually + if(!defer_powernet_rebuild && (approximate_intensity > 25)) defer_powernet_rebuild = 1 if(heavy_impact_range > 1) @@ -110,9 +114,9 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa sleep(8) if(!lighting_controller.processing) lighting_controller.processing = lighting_controller_was_processing - if(!powernet_rebuild_was_deferred_already) - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 + if(!powernet_rebuild_was_deferred_already && defer_powernet_rebuild) + makepowernets() + defer_powernet_rebuild = 0 return 1 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index e71157be7e..5bed535c7f 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -206,8 +206,6 @@ var/global/list/uneatable = list( /obj/machinery/singularity/proc/eat() set background = 1 - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 1 // Let's just make this one loop. for(var/atom/X in orange(grav_pull,src)) var/dist = get_dist(X, src) @@ -226,9 +224,6 @@ var/global/list/uneatable = list( // Turf and movable atoms else if(dist <= consume_range && (isturf(X) || istype(X, /atom/movable))) consume(X) - - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 return @@ -567,11 +562,7 @@ var/global/list/uneatable = list( /obj/machinery/singularity/narsie/wizard/eat() set background = 1 - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 1 for(var/atom/X in orange(consume_range,src)) if(isturf(X) || istype(X, /atom/movable)) consume(X) - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 0 return From cf5dff8a717ef18c81bcf9b87efa98575b48ec67 Mon Sep 17 00:00:00 2001 From: Fira Date: Thu, 1 Jan 2015 18:15:47 +0000 Subject: [PATCH 010/282] Updated OldUI for Computers to be usable by ghosts --- code/game/machinery/computer/computer.dm | 14 ++++++++++++++ code/game/machinery/computer/law.dm | 7 ++++++- code/game/machinery/teleporter.dm | 12 +++++++++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index ff88f89c5a..b639334c01 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -101,6 +101,20 @@ return text +/obj/machinery/computer/attack_ghost(user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/attack_hand(user as mob) + /* Observers can view computers, but not actually use them via Topic*/ + if(istype(user, /mob/dead/observer)) return 0 + return ..() + +/obj/machinery/computer/Topic(href, href_list) + /* Can't use topic as observer by default */ + if(istype(usr, /mob/dead/observer)) return 0 + return ..() + + /obj/machinery/computer/attackby(I as obj, user as mob) if(istype(I, /obj/item/weapon/screwdriver) && circuit) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 5c970f9d67..2d73e17da8 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -50,7 +50,9 @@ else usr << "[src.current.name] selected for law changes." return - + + attack_ghost(user as mob) + return 1 /obj/machinery/computer/borgupload @@ -83,3 +85,6 @@ else usr << "[src.current.name] selected for law changes." return + + attack_ghost(user as mob) + return 1 diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 04b8c5644a..2ae7abed3d 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -9,6 +9,10 @@ var/one_time_use = 0 //Used for one-time-use teleport cards (such as clown planet coordinates.) //Setting this to 1 will set src.locked to null after a player enters the portal and will not allow hand-teles to open portals to that location. +/* Ghosts can't use this */ +/obj/machinery/computer/attack_ghost(user as mob) + return 1 + /obj/machinery/computer/teleporter/New() src.id = "[rand(1000, 9999)]" ..() @@ -80,9 +84,11 @@ /obj/machinery/teleport/station/attack_ai() src.attack_hand() -/obj/machinery/computer/teleporter/attack_hand() - if(stat & (NOPOWER|BROKEN)) - return +/obj/machinery/computer/teleporter/attack_hand(user as mob) + if(..()) return + + /* Ghosts can't use this one because it's a direct selection */ + if(istype(user, /mob/dead/observer)) return var/list/L = list() var/list/areaindex = list() From d9be074d2970a1ce5c52a4c1bb0f92fa168b1400 Mon Sep 17 00:00:00 2001 From: Fira Date: Thu, 1 Jan 2015 18:17:11 +0000 Subject: [PATCH 011/282] Made Ghosts able to use NanoUI in read-only mode --- code/modules/nano/nanoui.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index 91e97c0cb5..580b3598b9 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -138,7 +138,10 @@ nanoui is used to open and update nano browser uis * @return nothing */ /datum/nanoui/proc/update_status(var/push_update = 0) - if (istype(user, /mob/living/silicon/ai) || (get_dist(get_turf(user),get_turf(src_object)) <= 1)) + if (istype(user, /mob/dead/observer)) + /* Ghosts see updates but can't interact */ + set_status(STATUS_UPDATE, push_update) + else if (istype(user, /mob/living/silicon/ai) || (get_dist(get_turf(user),get_turf(src_object)) <= 1)) set_status(STATUS_INTERACTIVE, push_update) // interactive (green visibility) else if (istype(user, /mob/living/silicon/robot)) if (src_object in view(7, user)) // robots can see and interact with things they can see within 7 tiles From 81d545d4060876c3dadf01b59446547133b71f1e Mon Sep 17 00:00:00 2001 From: Fira Date: Thu, 1 Jan 2015 18:26:55 +0000 Subject: [PATCH 012/282] Added attack_ghost to APC and SMES to allow observing --- code/modules/power/apc.dm | 5 +++++ code/modules/power/smes.dm | 2 ++ 2 files changed, 7 insertions(+) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index dc019ccaec..7519becdaf 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -724,6 +724,11 @@ // do APC interaction src.interact(user) +/obj/machinery/power/apc/attack_ghost(user as mob) + if(stat & (BROKEN|MAINT)) + return + return ui_interact(user) + /obj/machinery/power/apc/interact(mob/user) if(!user) return diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 11bcef5881..ec401935e5 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -218,6 +218,8 @@ add_fingerprint(user) ui_interact(user) +/obj/machinery/power/smes/attack_ghost(mob/user) + ui_interact(user) /obj/machinery/power/smes/attack_hand(mob/user) add_fingerprint(user) From 200358d592daa25b503b2018d59619c5a47f578f Mon Sep 17 00:00:00 2001 From: Fira Date: Thu, 1 Jan 2015 18:53:31 +0000 Subject: [PATCH 013/282] Fix incorrect proc path in code/game/machinery/teleporter.dm --- code/game/machinery/teleporter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 2ae7abed3d..6c058e08ed 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -10,7 +10,7 @@ //Setting this to 1 will set src.locked to null after a player enters the portal and will not allow hand-teles to open portals to that location. /* Ghosts can't use this */ -/obj/machinery/computer/attack_ghost(user as mob) +/obj/machinery/computer/teleporter/attack_ghost(user as mob) return 1 /obj/machinery/computer/teleporter/New() From a41b5bea52cc8458ea3314fa4debbf3a5eaf735c Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Thu, 1 Jan 2015 17:15:46 -0500 Subject: [PATCH 014/282] Unary Vent Pump Optimizations. We have like 250 of these on the map, each one calculates the atmospheric properties of the air around it each tick. 99% of the time this isn't even needed. So...if it's not needed this tick we hibernate for 5 to 10 ticks before checking again. --- .../components/unary/vent_pump.dm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index a602c553d7..742e5048ec 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -26,6 +26,7 @@ var/area_uid var/id_tag = null + var/hibernate = 0 //Do we even process? var/on = 0 var/pump_direction = 1 //0 = siphoning, 1 = releasing @@ -153,6 +154,9 @@ /obj/machinery/atmospherics/unary/vent_pump/process() ..() + if (hibernate) + return 1 + if (!node) on = 0 if(!can_pump()) @@ -186,6 +190,16 @@ transfer_moles = min(transfer_moles, environment.total_moles*air_contents.volume/environment.volume) //group_multiplier gets divided out here power_draw = pump_gas(src, environment, air_contents, transfer_moles, active_power_usage) + else + //If we're in an area that is fucking ideal, and we don't have to do anything, chances are we won't next tick either so why redo these calculations? + //JESUS FUCK. THERE ARE LITERALLY 250 OF YOU MOTHERFUCKERS ON ZLEVEL ONE AND YOU DO THIS SHIT EVERY TICK WHEN VERY OFTEN THERE IS NO REASON TO + + if(pump_direction && pressure_checks == PRESSURE_CHECK_EXTERNAL && controller_iteration > 10) //99% of all vents + //Fucking hibernate because you ain't doing shit. + hibernate = 1 + spawn(rand(100,200)) //hibernate for 10 or 20 seconds randomly + hibernate = 0 + if (power_draw < 0) last_power_draw = 0 @@ -270,6 +284,9 @@ /obj/machinery/atmospherics/unary/vent_pump/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) return + + hibernate = 0 + //log_admin("DEBUG \[[world.timeofday]\]: /obj/machinery/atmospherics/unary/vent_pump/receive_signal([signal.debug_print()])") if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) return 0 @@ -435,4 +452,4 @@ if(length(ML.verbs & ventcrawl_verbs)) // alien queens have this removed, an istype would be complicated ML.handle_ventcrawl(src) return - ..()*/ \ No newline at end of file + ..()*/ From 6d9c2671b9385ca1dad066981a3e739cc3d1a35b Mon Sep 17 00:00:00 2001 From: mkalash Date: Sun, 4 Jan 2015 00:43:19 -0500 Subject: [PATCH 015/282] Copies extinguisher code to exosuit extinguisher, fixes #7603 --- code/game/mecha/equipment/tools/tools.dm | 91 +++++++++++++----------- 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 3f801db365..1309c05f60 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -186,46 +186,51 @@ if(get_dist(chassis, target)>2) return set_ready_state(0) if(do_after_cooldown(target)) - if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) + if( istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) var/obj/o = target o.reagents.trans_to(src, 200) - occupant_message("\blue Extinguisher refilled") + occupant_message("\blue \The [src] is now refilled") playsound(chassis, 'sound/effects/refill.ogg', 50, 1, -6) - else - if(src.reagents.total_volume > 0) - playsound(chassis, 'sound/effects/extinguish.ogg', 75, 1, -3) - var/direction = get_dir(chassis,target) - var/turf/T = get_turf(target) - var/turf/T1 = get_step(T,turn(direction, 90)) - var/turf/T2 = get_step(T,turn(direction, -90)) + return - var/list/the_targets = list(T,T1,T2) - spawn(0) - for(var/a=0, a<5, a++) - var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(chassis)) + if (src.reagents.total_volume < 1) + occupant_message("\red \The [src] is empty.") + return + + playsound(chassis, 'sound/effects/extinguish.ogg', 75, 1, -3) + + var/direction = get_dir(chassis,target) + + var/turf/T = get_turf(target) + var/turf/T1 = get_step(T,turn(direction, 90)) + var/turf/T2 = get_step(T,turn(direction, -90)) + + var/list/the_targets = list(T,T1,T2) + + for(var/a=0, a<5, a++) + spawn(0) + var/obj/effect/effect/water/W = new /obj/effect/effect/water( get_turf(chassis) ) + var/turf/my_target = pick(the_targets) + var/datum/reagents/R = new/datum/reagents(5) + if(!W) return + W.reagents = R + R.my_atom = W + if(!W || !src) return + src.reagents.trans_to(W,1) + for(var/b=0, b<5, b++) + step_towards(W,my_target) + if(!W || !W.reagents) return + W.reagents.reaction(get_turf(W)) + for(var/atom/atm in get_turf(W)) if(!W) return - var/turf/my_target = pick(the_targets) - var/datum/reagents/R = new/datum/reagents(5) - W.reagents = R - R.my_atom = W - src.reagents.trans_to(W,1) - for(var/b=0, b<4, b++) - if(!W) - return - step_towards(W,my_target) - if(!W) - return - if(!W.reagents) - break - var/turf/W_turf = get_turf(W) - W.reagents.reaction(W_turf) - for(var/atom/atm in W_turf) - W.reagents.reaction(atm) - if(W.loc == my_target) - break - sleep(2) - return 1 + if(!W.reagents) + break + W.reagents.reaction(atm) + if(W.loc == my_target) break + sleep(2) + W.delete() + return 1 get_equip_info() return "[..()] \[[src.reagents.total_volume]\]" @@ -1100,7 +1105,7 @@ set category = "Exosuit Interface" set src = usr.loc set popup_menu = 0 - + if(usr != occupant) return occupant << "You climb out from \the [src]." @@ -1131,7 +1136,7 @@ if(occupant) occupant_message("Unable to detach [src] - equipment occupied.") return - + var/obj/mecha/M = chassis ..() if (M && !(locate(/obj/item/mecha_parts/mecha_equipment/tool/passenger) in M)) @@ -1147,7 +1152,7 @@ occupant_message("Passenger compartment hatch [door_locked? "locked" : "unlocked"].") if (chassis) chassis.visible_message("The hatch on \the [chassis] [door_locked? "locks" : "unlocks"].", "You hear something latching.") - + #define LOCKED 1 #define OCCUPIED 2 @@ -1161,20 +1166,20 @@ //check that usr can climb in if (usr.stat || !ishuman(usr)) return - + if (!usr.Adjacent(src)) return - + if (!isturf(usr.loc)) usr << "\red You can't reach the passenger compartment from here." return - + if(iscarbon(usr)) var/mob/living/carbon/C = usr if(C.handcuffed) usr << "\red Kinda hard to climb in while handcuffed don't you think?" return - + for(var/mob/living/carbon/slime/M in range(1,usr)) if(M.Victim == usr) usr << "\red You're too busy getting your life sucked out of you." @@ -1189,11 +1194,11 @@ if (P.door_locked) feedback |= LOCKED continue - + //found a boardable compartment P.move_inside(usr) return - + //didn't find anything switch (feedback) if (OCCUPIED) From 65163dfcc5f9e11ee44fb455226b3b856a72c060 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 4 Jan 2015 01:22:37 -0700 Subject: [PATCH 016/282] Fixes runtime with deleted cameras. --- code/game/machinery/camera/camera.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index eab3e5eda7..6c6aa79510 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -51,9 +51,11 @@ ASSERT(src.network.len > 0) ..() -/obj/machinery/camera/Del() - if(!alarm_on) - triggerCameraAlarm() +/obj/machinery/camera/Del() + // Tries to tell the location, but it's already been removed from the world. + // Runtimes like MAD + // if(!alarm_on) + // triggerCameraAlarm() cancelCameraAlarm() ..() @@ -71,7 +73,7 @@ stat &= ~EMPED cancelCameraAlarm() update_icon() - + ..() /obj/machinery/camera/bullet_act(var/obj/item/projectile/P) From 81603032d3064e3a83914eebc526136a04dd765e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 4 Jan 2015 19:05:55 +1030 Subject: [PATCH 017/282] Fixes #7671 --- code/game/turfs/simulated.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 6686171279..5a290d3fbd 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -77,7 +77,7 @@ for (var/obj/structure/stool/bed/chair/C in loc) if (C.buckled_mob == M) noslip = 1 - if (noslip) + if((wet == 1 && M.m_intent == "walk") || noslip) return // no slipping while sitting in a chair, plz if(src.wet) From f7cd72b7f950f2c77c1197657892a95f380c8979 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 4 Jan 2015 19:06:45 +1030 Subject: [PATCH 018/282] Fixes #7670 --- code/game/machinery/autolathe.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 6f9a2c4b95..71a48df8fa 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -117,6 +117,9 @@ dismantle() return + if(O.loc != user && !(istype(O,/obj/item/stack))) + return 0 + //Resources are being loaded. var/obj/item/eating = O if(!eating.matter) From 9fa73784a545696c293d0c08ed027bfde62242f1 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 4 Jan 2015 20:02:01 +1030 Subject: [PATCH 019/282] Fixes #7660 --- code/game/objects/items/weapons/RCD.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index ff7d010b14..3e5c08539f 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -26,6 +26,9 @@ /obj/item/weapon/rcd/attack() return 0 +/obj/item/weapon/rcd/proc/can_use(var/mob/user,var/turf/T) + return (user.Adjacent(T) && user.get_active_hand() == src && !user.stat && !user.restrained()) + /obj/item/weapon/rcd/examine() ..() if(src.type == /obj/item/weapon/rcd && loc == usr) @@ -127,7 +130,7 @@ return 0 working = 0 - if(build_delay && (!user.Adjacent(T) || user.get_active_hand() != src || user.stat || user.restrained())) + if(build_delay && !can_use(user,T)) return 0 if(build_turf) @@ -168,6 +171,10 @@ /obj/item/weapon/rcd/borg/attackby() return +/obj/item/weapon/rcd/borg/can_use(var/mob/user,var/turf/T) + return (user.Adjacent(T) && !user.stat) + + /obj/item/weapon/rcd/mounted/useResource(var/amount, var/mob/user) var/cost = amount*30 if(istype(loc,/obj/item/rig_module)) @@ -180,3 +187,6 @@ /obj/item/weapon/rcd/mounted/attackby() return + +/obj/item/weapon/rcd/mounted/can_use(var/mob/user,var/turf/T) + return (user.Adjacent(T) && !user.stat && !user.restrained()) From 0de42a14196d7c6e9e5c53447206b5f7b73fc7d5 Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Sun, 4 Jan 2015 13:27:15 -0600 Subject: [PATCH 020/282] Adds the visitor alt-title. http://www.baystation12.net/forums/viewtopic.php?f=5&t=11868 --- code/game/jobs/job/assistant.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 270a4e3867..3211803412 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -9,7 +9,7 @@ selection_color = "#dddddd" access = list() //See /datum/job/assistant/get_access() minimal_access = list() //See /datum/job/assistant/get_access() - alt_titles = list("Technical Assistant","Medical Intern","Research Assistant","Security Cadet") + alt_titles = list("Technical Assistant","Medical Intern","Research Assistant","Security Cadet","Visitor") /datum/job/assistant/equip(var/mob/living/carbon/human/H) if(!H) return 0 From fb865811592f6d11ae163a316310a7a679b9d434 Mon Sep 17 00:00:00 2001 From: Tramziller Date: Sun, 4 Jan 2015 21:12:32 +0100 Subject: [PATCH 021/282] Fixes bug where girders can be destroyed with stun beams. --- code/game/objects/structures/girders.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 93f4777adb..27d4808343 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -8,6 +8,10 @@ bullet_act(var/obj/item/projectile/Proj) + //Tasers and the like should not damage girders. + if(Proj.damage_type == HALLOSS || Proj.damage_type == TOX || Proj.damage_type == CLONE) + return + if(istype(Proj, /obj/item/projectile/beam)) health -= Proj.damage ..() @@ -245,6 +249,7 @@ del(src) bullet_act(var/obj/item/projectile/Proj) //No beam check- How else will you destroy the cult girder with silver bullets????? + health -= Proj.damage ..() if(health <= 0) From 863351a474e00570830fa718e13078a7ad2b3a27 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 4 Jan 2015 13:32:11 -0700 Subject: [PATCH 022/282] Changes the runtime protection to be more general-case. --- code/game/machinery/camera/camera.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6c6aa79510..8fe3387467 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -52,10 +52,8 @@ ..() /obj/machinery/camera/Del() - // Tries to tell the location, but it's already been removed from the world. - // Runtimes like MAD - // if(!alarm_on) - // triggerCameraAlarm() + if(!alarm_on) + triggerCameraAlarm() cancelCameraAlarm() ..() @@ -259,12 +257,18 @@ /obj/machinery/camera/proc/triggerCameraAlarm() alarm_on = 1 + if(!get_area(src)) + return + for(var/mob/living/silicon/S in mob_list) S.triggerAlarm("Camera", get_area(src), list(src), src) /obj/machinery/camera/proc/cancelCameraAlarm() alarm_on = 0 + if(!get_area(src)) + return + for(var/mob/living/silicon/S in mob_list) S.cancelAlarm("Camera", get_area(src), src) From 6e8d2c55b0ae041bcefc3ec4a5c2777c8f4f5f59 Mon Sep 17 00:00:00 2001 From: mkalash Date: Sun, 4 Jan 2015 21:34:50 -0500 Subject: [PATCH 023/282] Adds stack amount check when loading materials into the exosuit fabricator. Fixes #7665 --- code/game/mecha/mech_fabricator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index e56dbe71e8..87b8375bbb 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -826,7 +826,7 @@ src.overlays += "fab-load-[material]"//loading animation is now an overlay based on material type. No more spontaneous conversion of all ores to metal. -vey sleep(10) - while(src.resources[material] < res_max_amount && stack) + while(src.resources[material] < res_max_amount && stack.amount >= 1) src.resources[material] += amnt stack.use(1) count++ From 536e4bd2372a7855d6f7bc5231f98cc15c3bb6a9 Mon Sep 17 00:00:00 2001 From: mkalash Date: Sun, 4 Jan 2015 22:09:00 -0500 Subject: [PATCH 024/282] Adds missing paranthesis in logic for airlock's hasPower(). Fixes #7653 --- code/game/machinery/doors/airlock.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index d5c8ae93e2..b3dd89c18a 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1135,7 +1135,7 @@ About the new airlock wires panel: update_icon() /obj/machinery/door/airlock/proc/hasPower() - return ((src.secondsMainPowerLost==0 || src.secondsBackupPowerLost==0) && !(stat & NOPOWER|BROKEN)) + return ((src.secondsMainPowerLost==0 || src.secondsBackupPowerLost==0) && !(stat & (NOPOWER|BROKEN))) /obj/machinery/door/airlock/proc/prison_open() src.unlock() From f9e352b768fad76c0f7edde64a2f49f80a4db5f8 Mon Sep 17 00:00:00 2001 From: mkalash Date: Sun, 4 Jan 2015 22:26:41 -0500 Subject: [PATCH 025/282] Gets rid of the white wire in Omega's new wire system. The background of the UI is white, so you can't read the wire's name. I replace it with dark red. --- code/datums/wires/wires.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 5121b39dbe..3b0b54942f 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -7,7 +7,7 @@ var/list/same_wires = list() // 14 colours, if you're adding more than 14 wires then add more colours here -var/list/wireColours = list("red", "blue", "green", "white", "orange", "brown", "gold", "gray", "cyan", "navy", "purple", "pink", "black", "yellow") +var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown", "gold", "gray", "cyan", "navy", "purple", "pink", "black", "yellow") /datum/wires @@ -97,7 +97,7 @@ var/list/wireColours = list("red", "blue", "green", "white", "orange", "brown", html += " [IsAttached(colour) ? "Detach" : "Attach"] Signaller" html += "" html += "" - + if (random) html += "\The [holder] appears to have tamper-resistant electronics installed.

" //maybe this could be more generic? From 559e2244462d8f48e068fa9d2db8947b27f7b819 Mon Sep 17 00:00:00 2001 From: mkalash Date: Sun, 4 Jan 2015 22:43:20 -0500 Subject: [PATCH 026/282] Allows the autolathe maintenance panel to be accessed even if disabled. Fixes #7677. Adds feedback when a someone tries to interact with a disabled autolathe with the panel closed. --- code/game/machinery/autolathe.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 71a48df8fa..53b95c712c 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -23,7 +23,8 @@ /obj/machinery/autolathe/interact(mob/user as mob) - if(..() || disabled) + if(..() || (disabled && !panel_open)) + user << "\red \The [src] is disabled!" return if (shocked) @@ -31,7 +32,7 @@ var/dat = "

Autolathe Control Panel


" - if(panel_open == 0) + if(!disabled) dat += "" var/material_top = "" var/material_bottom = "" @@ -81,7 +82,7 @@ dat += "

" //Hacking. - else + if(panel_open) dat += "

Maintenance Panel

" dat += wires.GetInteractWindow() From 6461beaf587de4e35fff02efdb7708e61ce43ed8 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Mon, 5 Jan 2015 05:55:00 -0500 Subject: [PATCH 027/282] Changes Baystation12 to now be licensed under AGPL. See https://github.com/Baystation12/Baystation12/blob/c4fbe8df345296c559eed26cf0054a24575ba524/LICENSE-GPL3.txt#L552 for why this is allowed. The purpose is to close the loop hole of private downstream sources not sharing their code as we share ours. As we share code with /tg/ it is also in our best interests to relicense so that this sharing of code doesn't become a one way street. --- LICENSE-GPL3.txt => LICENSE-AGPL3.txt | 141 ++++++++++++-------------- README.md | 5 + 2 files changed, 69 insertions(+), 77 deletions(-) rename LICENSE-GPL3.txt => LICENSE-AGPL3.txt (86%) diff --git a/LICENSE-GPL3.txt b/LICENSE-AGPL3.txt similarity index 86% rename from LICENSE-GPL3.txt rename to LICENSE-AGPL3.txt index 20d40b6bce..dba13ed2dd 100644 --- a/LICENSE-GPL3.txt +++ b/LICENSE-AGPL3.txt @@ -1,5 +1,5 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -7,17 +7,15 @@ Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to +our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. +software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you @@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. The precise terms and conditions for copying, distribution and modification follow. @@ -72,7 +60,7 @@ modification follow. 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. + "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. @@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single +under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General +Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published +GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's +versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. @@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by + it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + GNU Affero General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see +For more information on this, and how to apply and follow the GNU AGPL, see . - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/README.md b/README.md index 01fec91ca6..3c9d4c2eec 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,11 @@ --- +### LICENSE +Baystation is licensed under the GNU Affero General Public License version 3 as of ___ January 2015 any new contributions are licensed under the AGPL as well. If you wish to use our code in a closed source manner you may use anything before commit ________ which is licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPL you are required to provide full source code for your servers users as well including addons and modifications you have made. + +See [this](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. + ### GETTING THE CODE The simplest way to obtain the code is using the github .zip feature. From e5512518bb937ebc827af46ea35a1797e0746a06 Mon Sep 17 00:00:00 2001 From: Amunak Date: Mon, 5 Jan 2015 13:48:22 +0100 Subject: [PATCH 028/282] Makes LOOC dark turquoise, fixes #7681 --- code/stylesheet.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 8a3eaf1a40..a3c9b7f9ad 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -19,7 +19,7 @@ em {font-style: normal;font-weight: bold;} .ooc img.text_tag {width: 32px; height: 10px;} .ooc .everyone {color: #002eb8;} -.ooc .looc {color: #6699cc;} +.ooc .looc {color: #3A9696;} .ooc .elevated {color: #2e78d9;} .ooc .moderator {color: #184880;} .ooc .developer {color: #1b521f;} From c34a8ee8596ad65ecd65d232a6e4e00f7dd7e700 Mon Sep 17 00:00:00 2001 From: Amunak Date: Mon, 5 Jan 2015 18:40:52 +0100 Subject: [PATCH 029/282] Admin name colour msay colour fix Admin name colour in msay now matches their default OOC colour. Hopefully fixes some concerns presented in #7657. --- code/stylesheet.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index a3c9b7f9ad..937b5a71c3 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -33,7 +33,7 @@ em {font-style: normal;font-weight: bold;} /* Admin: Channels */ .mod_channel {color: #735638; font-weight: bold;} -.mod_channel .admin {color: #e40045; font-weight: bold;} +.mod_channel .admin {color: #b82e00; font-weight: bold;} .admin_channel {color: #9611D4; font-weight: bold;} /* Radio: Misc */ From 54e5ab198336bb4dcbaac23ca5d9ec3272e29823 Mon Sep 17 00:00:00 2001 From: Mloc Date: Mon, 5 Jan 2015 19:12:41 +0000 Subject: [PATCH 030/282] update step_* detection for new map setup --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5895a706b1..955ec2acba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,5 +17,6 @@ install: - cd .. script: - - (! grep -q 'step_[xy]' maps/tgstation2.dmm) + - shopt -s globstar + - (! grep -q 'step_[xy]' maps/**/*.dmm) - DreamMaker baystation12.dme From 708a3b3fa78a2b9fae43ca15ca2d0fb26e5789e2 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Mon, 5 Jan 2015 14:30:08 -0500 Subject: [PATCH 031/282] More license stuffs. --- LICENSE-GPL3.txt | 678 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 679 insertions(+), 1 deletion(-) create mode 100644 LICENSE-GPL3.txt diff --git a/LICENSE-GPL3.txt b/LICENSE-GPL3.txt new file mode 100644 index 0000000000..9144a55a5f --- /dev/null +++ b/LICENSE-GPL3.txt @@ -0,0 +1,678 @@ +Note: New submissions as of ______ now fall under AGPL v3, prior code is +still licensed GPL v3, see README.md for details. + + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md index 3c9d4c2eec..33bfc27f6c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ --- ### LICENSE -Baystation is licensed under the GNU Affero General Public License version 3 as of ___ January 2015 any new contributions are licensed under the AGPL as well. If you wish to use our code in a closed source manner you may use anything before commit ________ which is licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPL you are required to provide full source code for your servers users as well including addons and modifications you have made. +Baystation is licensed under the GNU Affero General Public License version 3 as of ___ January 2015 any new contributions are licensed under the AGPL as well, if you wish to submit code under the GPL v3 then commits and files must be marked as so in comments. If you wish to use our code in a closed source manner you may use anything before commit ________ which is licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPL you are required to provide full source code for your servers users as well including addons and modifications you have made. See [this](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. From be48eccad2ff964593e860c6e4baffd21fdee304 Mon Sep 17 00:00:00 2001 From: Tramziller Date: Mon, 5 Jan 2015 20:39:00 +0100 Subject: [PATCH 032/282] Airlock that are BROKEN (shot or like) can have their electronics removed (for repairs) even when their bolts are dropped --- code/game/machinery/doors/airlock.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index b3dd89c18a..bf9232cc20 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -904,7 +904,7 @@ About the new airlock wires panel: beingcrowbarred = 1 //derp, Agouri else beingcrowbarred = 0 - if( beingcrowbarred && src.p_open && (operating == -1 || (density && welded && operating != 1 && !src.arePowerSystemsOn() && !src.locked)) ) + if( beingcrowbarred && src.p_open && (operating == -1 || (src.locked && welded && !src.arePowerSystemsOn() && BROKEN) || (density && welded && operating != 1 && !src.arePowerSystemsOn() && !src.locked)) ) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) 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)) From fab16c79ed95a6ccdd975121f3a0584e5927f5be Mon Sep 17 00:00:00 2001 From: Mloc Date: Mon, 5 Jan 2015 20:15:07 +0000 Subject: [PATCH 033/282] remove -q from grep in travis.yml step_* check This should let us know which maps are erroring. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 955ec2acba..e1e3e6fd72 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,5 +18,5 @@ install: script: - shopt -s globstar - - (! grep -q 'step_[xy]' maps/**/*.dmm) + - (! grep 'step_[xy]' maps/**/*.dmm) - DreamMaker baystation12.dme From 06e6277dc62327e03363c0ec8a290d1ae6b66e30 Mon Sep 17 00:00:00 2001 From: Tramziller Date: Mon, 5 Jan 2015 22:17:40 +0100 Subject: [PATCH 034/282] Fixed bug of peridaxon healing robotic organs --- code/modules/reagents/Chemistry-Reagents.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6389ab94ee..51ec827779 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1280,9 +1280,9 @@ datum if(ishuman(M)) var/mob/living/carbon/human/H = M - //Peridaxon is hard enough to get, it's probably fair to make this all internal organs + //Peridaxon heals only non-robotic organs for(var/datum/organ/internal/I in H.internal_organs) - if(I.damage > 0) + if((I.damage > 0) && (I.robotic != 2)) I.damage = max(I.damage - 0.20, 0) ..() return From 66759eff3cfc03894a343a52508f8c99523a8f64 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 6 Jan 2015 11:11:34 +1030 Subject: [PATCH 035/282] Adds Borer bantype, halves borer resist time, comments out Devour Brain verb, expands borer welcome text. --- code/game/gamemodes/calamity/calamity.dm | 10 +--------- code/modules/admin/topic.dm | 6 ++++++ code/modules/mob/living/living.dm | 10 +++++----- code/modules/mob/living/simple_animal/borer/borer.dm | 12 +++++++++--- .../mob/living/simple_animal/borer/borer_powers.dm | 6 ++++++ 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/code/game/gamemodes/calamity/calamity.dm b/code/game/gamemodes/calamity/calamity.dm index 2e77fcb19d..53cd72d447 100644 --- a/code/game/gamemodes/calamity/calamity.dm +++ b/code/game/gamemodes/calamity/calamity.dm @@ -411,11 +411,7 @@ var/mob/living/simple_animal/borer/roundstart/B = new(target_host) - player.current = B - B.mind = player - B.key = player.key - player.assigned_role = "Cortical Borer" - player.special_role = "Cortical Borer" + B.transfer_personality(player) B.host = target_host B.host_brain.name = target_host.name @@ -424,10 +420,6 @@ var/datum/organ/external/head = target_host.get_organ("head") head.implants += B - player.current << "\blue You are a cortical borer! You are a brain slug that worms its way \ - into the head of its victim, lurking out of sight until it needs to take control." - player.current << "You can speak to your victim with say, to other borers with say ;, and use your Alien tab for abilities." - if(!config.objectives_disabled) player.objectives += new /datum/objective/borer_survive() player.objectives += new /datum/objective/borer_reproduce() diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 8a8ee1b50a..bb1416dac0 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -643,6 +643,12 @@ else jobs += "Dionaea" + if(jobban_isbanned(M, "Borer")) + jobs += "Borer" + else + jobs += "Borer" + + jobs += "" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 98512d92fc..b9f898ab5d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -490,17 +490,17 @@ var/mob/living/simple_animal/borer/B = src.loc var/mob/living/captive_brain/H = src - H << "\red You begin doggedly resisting the parasite's control (this will take approximately sixty seconds)." - B.host << "\red You feel the captive mind of [src] begin to resist your control." + H << "You begin doggedly resisting the parasite's control (this will take approximately sixty seconds)." + B.host << "You feel the captive mind of [src] begin to resist your control." - spawn(rand(400,500)+B.host.brainloss) + spawn(rand(200,250)+B.host.brainloss) if(!B || !B.controlling) return B.host.adjustBrainLoss(rand(5,10)) - H << "\red With an immense exertion of will, you regain control of your body!" - B.host << "\red You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you." + H << "With an immense exertion of will, you regain control of your body!" + B.host << "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you." B.detatch() diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm index 3591523477..43aa9a9d68 100644 --- a/code/modules/mob/living/simple_animal/borer/borer.dm +++ b/code/modules/mob/living/simple_animal/borer/borer.dm @@ -174,7 +174,7 @@ //Procs for grabbing players. /mob/living/simple_animal/borer/proc/request_player() for(var/mob/dead/observer/O in player_list) - if(jobban_isbanned(O, "Syndicate")) + if(jobban_isbanned(O, "Borer")) continue if(O.client) if(O.client.prefs.be_special & BE_ALIEN) @@ -193,15 +193,21 @@ /mob/living/simple_animal/borer/proc/transfer_personality(var/client/candidate) - if(!candidate) + if(!candidate || !candidate.mob || !candidate.mob.mind) return src.mind = candidate.mob.mind + candidate.mob.mind.current = src src.ckey = candidate.ckey + if(src.mind) src.mind.assigned_role = "Cortical Borer" src.mind.special_role = "Cortical Borer" - ticker.mode.borers |= src.mind + + src << "You are a cortical borer! You are a brain slug that worms its way \ + into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, \ + your host and your eventual spawn safe and warm." + src << "You can speak to your victim with say, to other borers with say :x, and use your Abilities tab to access powers." /mob/living/simple_animal/borer/can_use_vents() return \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/borer/borer_powers.dm b/code/modules/mob/living/simple_animal/borer/borer_powers.dm index 39b2cadf1d..59f6aed6f0 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_powers.dm @@ -69,6 +69,10 @@ if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M + var/datum/organ/external/E = H.organs_by_name["head"] + if(!E || (E.status & ORGAN_DESTROYED)) + src << "\The [H] does not have a head!" + if(!H.species.has_organ["brain"]) src << "\The [H] does not seem to have an ear canal to breach." return @@ -124,6 +128,7 @@ src << "They are no longer in range!" return +/* /mob/living/simple_animal/borer/verb/devour_brain() set category = "Abilities" set name = "Devour Brain" @@ -147,6 +152,7 @@ src << "It only takes a few moments to render the dead host brain down into a nutrient-rich slurry..." replace_brain() +*/ // BRAIN WORM ZOMBIES AAAAH. /mob/living/simple_animal/borer/proc/replace_brain() From d1e918e20341e3367410725851ef76a2ed1f3a34 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 6 Jan 2015 00:46:45 -0700 Subject: [PATCH 036/282] Removes step_y variable. --- maps/RandomZLevels/stationCollision.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm index e401ac1ed4..cbdd44a7c8 100644 --- a/maps/RandomZLevels/stationCollision.dmm +++ b/maps/RandomZLevels/stationCollision.dmm @@ -263,7 +263,7 @@ "fc" = (/turf/simulated/floor,/area/awaymission/northblock) "fd" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "fe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/northblock) -"ff" = (/obj/structure/table,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3; step_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"ff" = (/obj/structure/table,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fh" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fi" = (/obj/machinery/computer/crew,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) From 38c69bab643ffc373817cae4dc1dc1a6a85316b8 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 6 Jan 2015 13:14:20 +0300 Subject: [PATCH 037/282] Fixes #7707 --- code/game/machinery/Sleeper.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 7eb8fa096e..85a9e304be 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -179,10 +179,12 @@ if(filtering > 0) if(beaker) if(beaker.reagents.total_volume < beaker.reagents.maximum_volume) - src.occupant.vessel.trans_to(beaker, 1) + var/pumped = 0 for(var/datum/reagent/x in src.occupant.reagents.reagent_list) src.occupant.reagents.trans_to(beaker, 3) - src.occupant.vessel.trans_to(beaker, 1) + pumped++ + if (ishuman(src.occupant)) + src.occupant.vessel.trans_to(beaker, pumped + 1) src.updateUsrDialog() return From 59752392cd8b8d5751552694d7f7695c8cdfe135 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 6 Jan 2015 11:16:56 +0000 Subject: [PATCH 038/282] Remove step_[xy] from map files --- maps/RandomZLevels/stationCollision.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/RandomZLevels/stationCollision.dmm b/maps/RandomZLevels/stationCollision.dmm index e401ac1ed4..cbdd44a7c8 100644 --- a/maps/RandomZLevels/stationCollision.dmm +++ b/maps/RandomZLevels/stationCollision.dmm @@ -263,7 +263,7 @@ "fc" = (/turf/simulated/floor,/area/awaymission/northblock) "fd" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/awaymission/northblock) "fe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/awaymission/northblock) -"ff" = (/obj/structure/table,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3; step_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) +"ff" = (/obj/structure/table,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor{pixel_x = -3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_y = -3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fh" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = -3; pixel_y = -3},/obj/item/weapon/stock_parts/micro_laser{pixel_x = 3; pixel_y = 3},/turf/simulated/floor{icon_state = "showroomfloor"},/area/awaymission/research) "fi" = (/obj/machinery/computer/crew,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/awaymission/northblock) From 96de9bba3b18290dc365eb111146d9a8faf70539 Mon Sep 17 00:00:00 2001 From: Mloc-Hibernia Date: Tue, 6 Jan 2015 16:09:31 +0000 Subject: [PATCH 039/282] clear up licensing situation Signed-off-by: Mloc-Hibernia --- CONTRIBUTING.md | 5 +++++ COPYING | 8 ++++++-- LICENSE-GPL3.txt | 4 ---- README.md | 10 ++++++++-- 4 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..6bcd96b1cc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,5 @@ +Baystation12 is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt. + +Commits with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt. + +All commits whose authorship dates are not prior to `1420675200 +0000` are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files. diff --git a/COPYING b/COPYING index 77e1d829ff..e8ece1b9f8 100644 --- a/COPYING +++ b/COPYING @@ -1,8 +1,12 @@ Baystation12 -Copyright (C) 2010-2014 Baystation12 and tgstation13. +Copyright (C) 2010-2015 Baystation12 and tgstation13. + +Baystation12 is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt. +Commits with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt. +All commits whose authorship dates are not prior to `1420675200 +0000` are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files. This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by +it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/LICENSE-GPL3.txt b/LICENSE-GPL3.txt index 9144a55a5f..94a9ed024d 100644 --- a/LICENSE-GPL3.txt +++ b/LICENSE-GPL3.txt @@ -1,7 +1,3 @@ -Note: New submissions as of ______ now fall under AGPL v3, prior code is -still licensed GPL v3, see README.md for details. - - GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 diff --git a/README.md b/README.md index 33bfc27f6c..182619a70c 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,15 @@ --- ### LICENSE -Baystation is licensed under the GNU Affero General Public License version 3 as of ___ January 2015 any new contributions are licensed under the AGPL as well, if you wish to submit code under the GPL v3 then commits and files must be marked as so in comments. If you wish to use our code in a closed source manner you may use anything before commit ________ which is licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPL you are required to provide full source code for your servers users as well including addons and modifications you have made. +Baystation12 is licensed under the GNU Affero General Public License version 3, which can be found in full in LICENSE-AGPL3.txt. -See [this](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. +Commits with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt. + +All commits whose authorship dates are not prior to `1420675200 +0000` are assumed to be licensed under AGPL v3, if you wish to license under GPL v3 please make this clear in the commit message and any added files. + +If you wish to develop and host this codebase in a closed source manner you may use all commits prior to `1420675200 +0000`, which are licensed under GPL v3. The major change here is that if you host a server using any code licensed under AGPLv3 you are required to provide full source code for your servers users as well including addons and modifications you have made. + +See [here](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. ### GETTING THE CODE The simplest way to obtain the code is using the github .zip feature. From 29a0ae2ad62fec29e1e5e8dc0d64a49c444ba665 Mon Sep 17 00:00:00 2001 From: Tramziller Date: Tue, 6 Jan 2015 21:48:56 +0100 Subject: [PATCH 040/282] Response to #7686 --- code/modules/clothing/ears/skrell.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/ears/skrell.dm b/code/modules/clothing/ears/skrell.dm index 986f5a02ec..a92722db5e 100644 --- a/code/modules/clothing/ears/skrell.dm +++ b/code/modules/clothing/ears/skrell.dm @@ -7,7 +7,7 @@ desc = "Some stuff worn by skrell to adorn their head tentacles." icon = 'icons/obj/clothing/ears.dmi' w_class = 1 - slot_flags = SLOT_EARS | SLOT_TWOEARS + slot_flags = SLOT_EARS species_restricted = list("Skrell") /obj/item/clothing/ears/skrell/chain From d10546eb16c6fbaa2b87c03cb148fef7d7817f57 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Tue, 6 Jan 2015 22:15:16 -0600 Subject: [PATCH 041/282] Changes manual fire interface icon to be less confusing. --- icons/mob/screen1.dmi | Bin 157592 -> 158264 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 391366d32008f83a390ad94f395c25999649dbf0..5196ec25f8d1cbbf97ae7794eacd36a828ce4fc0 100644 GIT binary patch delta 20519 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 a^n(0E*3smCiWwKq&3LS;rBbeB9`Y}i0U#Lw delta 19842 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 YogXpx8$mPAQIJ2wE7zb^I!=iH0a1+3yZ`_I From 73da1156a24ca9fc86b29a32dbaf8400c8da3f79 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 7 Jan 2015 17:26:21 +0000 Subject: [PATCH 042/282] Various improvements; options, version, info Adds options to PNG importing so that any valid DMI file can be entirely built from PNG files and DMITool. Adds version string and "version" command Adds info command to get a list of states easily (the only way previously was to print the descriptor with "dmitool -vvvv verify $file" and parse with e.g. grep/sed) --- tools/dmitool/dmitool.jar | Bin 196131 -> 200868 bytes tools/dmitool/src/main/java/dmitool/DMI.java | 6 + .../src/main/java/dmitool/IconState.java | 26 ++- tools/dmitool/src/main/java/dmitool/Main.java | 186 ++++++++++++++---- 4 files changed, 170 insertions(+), 48 deletions(-) diff --git a/tools/dmitool/dmitool.jar b/tools/dmitool/dmitool.jar index 4c2fef9f873adf8666332cad4f304663da9de7ab..e42320873fab817001cb2783a3dd8b9e5ccf2400 100644 GIT binary patch delta 37894 zcma%iV|ZpkkZv%sZQHhOOl)Ujn_q0(wr$(a#F;o>Jki9-o!Nc%-rfCm-{+h@-Cd1? z>aNpWRmJacC57++WjXL~upl7N&>+fDRFWWn0roHW3m6b|5CsV}5e6AWNhVMbIx|R@7|&R zHehCFL6+4oyuWvb1r7p&27;cxzX*m7_}AONjDPq?{0DQDEo-#z==xMH zWyvwiOH1s5*4P4oVEk=48Kf2ZJ(=I-_P4m@BlA0TdfRP5fhzC9Jq4Z&1KFxBf!rgZP42k zm2z8Ha&VzO0>OK-K)p_bdUj4;XWRvQAD4bY}0_HUQXHy)-e3`!~rolln)aQJ)GbXKhfQS}tJw`$eIN(M2Sd zT6ggG9G3*~slZrtpD&Z+J!pJ5bExqItcg#)M7^nVu(^DyB(|Q~(P1iT@i1>&I|P_e z>GX}8jGidyG_~^= z*!BI^c!_~c9y^n1nzH)2L#;6=6|ho0_*XS#4U=OdzeXhUnEE&l1F1R1lX43)$sc0s zwv2bkWF{NA*Mj8!|HabyH`Y?de;KFlFQ4LqpeN%q;{69x{Y(GDKiWTps%!>F(@W-^3e=oX?P_uKAPgvW%=?w3u99D#Stl@ck08UE4D-| z$tYEUYe*jfgHmsb)WR$+rvTbp*Gud-h-ohdm^@3KVNmVaQON{_aRjcN!GSYo%Qlr* zvZNi@+@IqL1GP-yjjh4o^JaAs<;`*u?UwF^Q3m0uW!rMqM z&S?yc1Ez{*oq9~V)TWa|X!MC{+xRb4rmrtIwrx+~U(#6%%`CLelz?3SUstUd=T7&1 zW>JyIcYwTcN1v1r)t3MCS< z`5aR@BgB(zqZC{u)p=rB*vTETwc_ytl0*D;KySE*BP}WN%G`w|u)4tod`vRL8z73| zZr#V=evk8aGF>cM3xM0`68BAwi9s=4tiOQhFLRDykHNay7^6=-!SO%x@+gAy{R8Ra zkruy0p$$s#Iwox?bWt$w+;rb9*9{Y%12?(kdx%K1<#S0HC&tB`6 z5c{szzy>(Y4Bazaee$xwVho^iCLLA{GnsYM-1klw>4y#rB3Vm9Tg-d$W9i-Zi>D0L zVBRxGS1LU}EF_Ghz)4N#y)s(b&x00YarF~KHJi+%){9~hb0!~(>xz2-2E3ko*(%=7 zBy=JESPtw+nJVd^^>!R5>O?@pz=OetFa5g2VFf5}Q>EBp`8*i&`T>ZGiD9O2S1FTH z7|!iYx7}%1k(e#M2sUj-WWUd$!kXZXD4_`{radloU;7@B zn-x+KdE6sX%}E=ZUK)#1PxrC|VMXI$OqSN(fHS!)C6TS$|35{ZX+TaYC@}~KivS1+ z3J5yj|B5Ve1sO(DTVofOe=Cwz?{KI+yL`K*_Wf0t25tOsO47 zEQt`6x@rjx9RaC_okW5o&B~J5fbq1aabb_qB3p@zwM`;Y9O1TRy|Za;xB9s``qkcg z_3Kle?&NFEk1ZJn2cXRHv~#@eGVed%c}Vw*zcD?ctXj(Nf#2cJ5`}Lb`>C8u;3U@T z#Fe}u`RwSDo{4jMyl>BF_+aT$_sr3>U&?TLmTzeM-Lq^m!01jL^J_s0!najk-}JUs zurIE@{TY%-V3^DMh4M2o-Qh%6e)qhXrDx;7?ygroYm5G~5#a0abW6~)bC9pqBj)(A za=>T)rjPl{&Z&L$Nz1o>^hw*dU;ZZL1k{S~;a2RuVKiRry<#+ea)mM4W4e9(z##fb z>%C)CNo)J`km`jd`bp=#W%P~Sf9xP%`@Lp#9wv5P_dRHoN#{Ljlqvf?D&G2emHv~b zpVGG1{+7x29RS&Hb*C$+GvlE99yi&aa$WE1iu<*B;L#i4GcULG%(c|xaO=SEnL8Rv z=|@8?$owKk6#7CI4Y)b{I*5mOq0)Yb`YdJ#+#L)E$=z2@e%Y~RzY7UkpUlf^P=1X{ zv3ypK=EDvAqW|n3{c3mym_I04eNr5K<{Q1Yvl~j^14`Kqwcm+|1SSmMfX2HHcU*#9 z%ILkJZweB1=bf!C@}q*AMJYDROKb;q=gBAZb1IDH6FGPS#A5eZrToZMtj6$DcQo~P znY7bVYqvl0o7CHsjw|%6?&wn;X!=WG={aW9K#A;BL(6cli?>#wt%8D#$-R9M;3Z;N zU+^O&0I`1-aXH51$}1a}@F^9fvz(f&df3tAIZ&voWCXhm3GAyTht^ZeXu%w+v=-8| zs#a9Y(`du_SJ36uwa%gC6jB%2RSC|D1sCM}th?By%qwO4dp&YRv9s-KO+MkB=|6S zsu76Id6G%8OsDb)Y_1~0bq}Y9W^>oAA`s0nbiVbDOXwEgX3Ad|ouB{x6U!&CL4N00 z1pJh?vzV@uep~uo^<(DQ#^iDT#C-oxMGRW9WDgB&SCi_m6;KHn)min+~a1 zzB$l+X2e6bS`F?#gN4|(6>BH61(*#xx>#d`Za-rYC17MzC8%erq1(Hn^s}zYr2Iet z-6`Qh&Q@>(8|s_1r|f1yRkDh=a;6NPulP}{zLi8^Zz;WHm|_eFyE=f>urc#9(X{sw zm#0Hek{lPKZ{UMW)YVFXd2vRu5P&yxa}CC1S5x8Hi*Ombb?n-NVxYf_0U*^tXI9l3 z_zHN<6m7oXmI7-D=>~&~LUBfTjr+-v;)rPNV@K1O1Waj2C3J{$(RkWbyH!5+K&nsU z@nolGaLQf@uQ^q7p;MSU+Zskr4&;|6$(f(iQS2S~hhF4E?SHmQ9iof~GjkJn6gEY= zMd<&~gF1xT=+tXFLA+Hn07Un@->!qdZ+AxRA?39J!=&$VCNsN^!(c={xIDz9#p-P$lhe!nq7KG)*stP9eC=?j*0f#C8uTzQL6O^o zt!c5XF(CCA3h2y3zqSPaYE<3>f=dWPY>TE=z8 zknJzxK||Z+btf)Z3~wlf=ApTM*$;e*t=vwyX;19Z36^i)|fP$6Y{N zlD4DMM2!~n@T1x&BZia}2ra6idq>f;PLUUvHc*giqe5JT1KUIuopETve#4V6A1UjW zz0H~2a)*qQ_*1{?$Igsu#Ns!rCnr&p@g!INT(_&N4e+(I-Nh6h@rCCDA^iZ~F3=bzG!8_khya@LQ9*s7 z6Gdl@qzwkBxo+nI<42yOZ&n>GF`XVU?pn#v)}^KoNtKJWL#!fPh34$aXAWyJdJN_k z+66!bff_N$CEYlOB8{tQDS!g!X0}5WtQS2nt0syvs@GVPPOL-{k>5tP8W35laU3G&`#&enYHl((;bq?uPTxs958ox5z)+Mn6FNfCvnJ6+CLqZv>O(8fmiX-Yz zdyJga{-X~qr$!8-3(F=2)umwmC9}I}G zAvTp}1MRG_F}?L_ockHpqT5O=<^+=kC6q!u1uw5A=7xB^4c_$OY74i_^dMi!ao2Go zZDZOabLv&`Dur%N?@9qdKdDxUFazHs0_}*2ItP*Hi4DPXoj;stPssn9a{q^!v_hCD z4+e1Q@7Q>wNsJBRSB1zT>2~vI;Q&Y-LeXfm^+lH)d;~S{gL$UU>hs&|C!LqN1v8kM zO7SlxeM&Y=$fTh`1W|4O#7uljyt@&%B83|oTa;K0*J(RwJVH|v2}?d+l$V^XRarOR ztLME}O-0IEBD~=i$ZCkPmf_>obR&<0H6yi_TuOhyw=b72K61k3FA!s_4hF283fqaW zMmED9lQ5#4ZwGdI&9ZnM+**x9ib$^9F}9kW9h`4S<5>Ivsi+fd=+I$t@Pdp4ZZ2ck zTRKKjQ*H8HbD!;L2!KG|jr-9dkAQ49b82uA2lLVvr~1n6vJN|SZmLz07I$LX>d_S2VOXe(Ch?%0KQ|}BIyi;A=IvI4_Y3?+qt3ze9z)Ut z3?|w0UudQd`H4WAw;{P9W8fPv1D#vRii#!O!iHGTdeRCwy-(G}Jpi$!r-?j$jSQrD zehZq!r-Pci-*>#Z?BfRq#0b@UBA>ELS)^VGk|s(G#b;-U2USnG8 zB=gw@4uTqkE$k#9(w6bR3cjdGV z#D4L~2_^mA5cEY_%o*I8m3wn?E$n;bU|-V_4&u4tD(LXllfzkfMbOcQ(BUOIj&bB zc#deE0@0F`@Uzc@fEHcB*Ah_3ec?2wgdSJKY)gDufYWM^Vn>s{}Fnl=0@~wcLa2;GajFN)=l_7V1f- z6uM%9?b2WNuJFV=p5&MOMD10^bu|rM+@nWy!F-JAmj_RQ+8Haz4Fg2cm$2Q`J$%~% zoo5F~0FVe8Q-df(+I5l2{w%ZzxRQf(^IrzYD+O`~qep-ygdkVX1V}A6h|S&+*zw@S zFX7$ih?pZ0^v2#1M1c{0v52a`+E-og+ps?@G^z_4and%&$YxhJ>8J8kv8Gqw>7~BR zh0%)4MCT5|`%Q(c5Q`X?YZPKkY@!Nmg4JDr0@8CI50?Vt@j%)@ZOa23Tz)tS4rMr&i)_wZUfo&_1koQualX-H>hj zo>^=`m%D-XNK>p5OfJ)jOFei?kHAjKu~2dZGs2b6m)x8@asPPfW7WnjwN;enFd?J~ z2@pJ+mD?!YT_l+C4^;F^IdLeZZ$N8kr|RRg3^UD?@uezNRx5^CH#wr3)@y5fQpN8n z`XyLZ3HJ)74Vq1oog-||%#`p;4zB8*!mV4{j;3WOeOM^?$HEu)DlKoX&lehn2pS^{ zl`hb5MXda~cvM|OX2Cm9zBn8HsMDra5k5sluxs?@J3lqb3%`juPH643-Crh z;|{+LxS`=Kr=3=}g1QWFfXe;mRI@F$Uv+8Zj#OJU1#@!gR$>IvvttI?^JAHya`?Q} zMg%yRLukD&bxMEMB;xHb5G_#mgBSxf_C(f+LDSrR!8gYdpm7XwPguSxudCkn;8=K5 zoK^L1^vP(QM7gPUhV-0Y#Gwwc2>^nB65zW`SYm|)eR%0qSAo?{4G9;@54!864ucPy zTR~w!fd>v*1@0FxXli7Gh0>KnIGZ)nF#8^-gz68Aobu_1S^_BJR-|U#nrH_G11c)h zb<$jy@xaGh5e4miHk~x7;+CTbd`mV;kT}4Hvo#cXMzWkH)SpN+1?b8x0nI3RCRydp z_<1H){EsSINp<*P4gkTT{vixglef9cW5S^@$|H)X)RTQqITVHz#p z5;95Rwn!ASAj#6O(mTPfI|@Me%OFU#C^-h=?(JT7k8|~!TVkXZaro2HTxe?dGF>V2r7c_-a)*s|CK1%;8JM>p z8#WXgeiE#NTu@K>SRn|B*}U*rpI}vn8Ww8!$C|uDw%%^JG6KY}0Pk4md;U>$$-L^E zwW?%Ry|l#$*1UFV>Mb&}6?nW zE8wn`-dT*Q^UKHQ3|*ohd39=lBBBbwlKT0t2eH=tIwy?f);id(L5^H|*Iaq7PR24_ zz4k?owceK5N9>(*z4)ou<*i%@X2T_=Bq0qP`^JjvcykJ4%sHj7is;R>Y^3 zYrhlZ6}!f=m}CqgC+9-3B$mJrJ-O~!s)}*Xus_)KONV2849;X@nLOWCQ4Z+%fa|JriBz|(>Q|I_kYp43^pbd~?y2X0H(eQhR{}S81p^45voIgg%xAjjHN)C6O zI?;SqedTKc;`_&bNq-GkGxiS>Eq|Ff5cVV3JX2}h7sl>CFs3-6~N>9Fdz}h?CA?>}Tg4VpJjj;D^{-3HN8{EUg4A)QGP^;l*-lMIV zEYiM7mgCY@xYU%voY_V?3q5SrP$qNe7M$3nkop^ zG#H6nj;yh#jsq0ZCJXD&9Lc(g1}TMF5%v%P^ljnruE$@&_*Ao6=tSdbeqySq7lw-y zOp^o|+>Fet4um`LAm-*{q$#l^4kr@H<8Y;e{tcec$i_+2e^dh_l~dftC`=Fo17ec6u>ps6G`Y?i#Q1j2e5dNCM4nmU+V^bHF7Z+T{J{E+6=+)XQ!7?mn*qW)drBxEhq z9etEUBaZ8uDoidk=@bz@U?nh49HmT4-$)u}WYXLa^~0ij<)$POvLk+Lz$3_uEbwA(@<9ZlG0K8`mp|;}ACyo4L`CC< z!wFFF)6ODUzek1#$J6K~?wM*P#TSa!O_3kn!XR=|@(ie`b~-MAAjahGe9U*bmpx<4 zQ8J3~?x(CV>G@5^;4 z#2=l_@xgkS_Cq22K%M8_D`%&qJuJKkxQg6uNnw$8_E>_hrS%JQX7sEBez`&Au1V>h z%X*(J=?J)Nxa;Wr0b?-nV)F`Y3J#kw@P|SOKd46@bx6bje#kzncltK|24{(7hxS;w z5`Is_a((&*62fEN5MN#5czHwX@skrN;Y}>zErL@b@nEB4KN3ld61hl}P|DN`j35qL zeI)senz1M|0YJ1HDKC8~yIm(`Jgd;k+*iDamb?*d=^B&vX&{(ZZKNE&%)k%+h7L9s|Li%? zndD(%V)tVxbu1ybIUjjfk@>~v&l)>eeh!%FgQnS0#s+T%j`C?F;5mD=8LiEm6*)R~ z%OuKt6Tf~p)7vchA@Dh*WsQ%|oRD)K<$j^J^I(2}FaDIu;6`!bM<{(s3A)t<2UO42 zz9&)}QqNWPvhKtWRzx9g`Q%>^PhXgj*0HI!G^c1^6&cb(b~GITB#cZzB|n*I_% zv)Zm?6{LsU4W@;@48Z1`g`|LPu1r>Gpq8#rwmH6S6@nj>ZJyQp>?dt?ynQttl1}f# zA+5tgcKFn%d&dBQx}bu>V&HtR;D@K@0A3-#wCxiT(knbN;4yhQwD#00d?_BZZt7AE zn8Fnx{#%c_SG+Y3Z)Qj0q9o;)Zstvrw?IOFuxyYQ=vPY>m=`**$xDZrPpg642rB04 z2x7O+_WF+O9bC?k2`%WuY@%hCWj-xo=8K;l`UVw{^`^E@qo`9 zrlSvEK;qOvw0Z*5_u@{tmlsTqP$u>9-{#hs9#zTDvaJbQt5&|LI&+%Ul6{hX`Sq)h znuM`nqhvhUN+O|dU{!9N1kQ}2dMRfJ*3)jaD{@tK+4?^K?BkEGqKPP zFnpbbDf^M#X2$X0Oj2Cey&EZ5_sA01q| zfSw-0M&H!r7S0TOkv1ADdneLJ!Y=EeIx|-O?~a71uvQIbgGS!YLRzoxC58z}bnke$ z$7W~JzZLuBMBZ=~<~ zvwfN6iLy)%D(ThAB-R)F`WVltdPm%#59ei#fm)`WG<5@Vx(@?q&~5_EAAYNkfa}fO z?_ME%vreIhN?N;t$#|ae24y2kR55e#@PB10FW$x zH&KK_orTu!13z&TCg`-MBD1UIgO9>9St-w-_j2xXoeh3-!3y#`SoTo(4 z$CId&QYLPwnuYv6u~f2+6~I~ngvnXl`MMRhOtla{@FAY?v10utMd1se)yD=8k2#MK z^9NahvS~Dn43(4o#2|o_)!{h-C>O1Qy*qd6MvAIriI(NILT^Gw?rtr+y z)Ll)W)-R9>_XA3Z(gpa%EPMXJb;rV zBuaNm<)b%|{qXemh4ep-5bRunGmTL|Kvak!{@TBRprYonBmP6I z7MyR6da4lB{c~TYuMB0fuS~hjmX+M*WU+!SPB26M&QQ9{+H)XC{`p8wNJM^-@78tzid&+XHrBceIJYWBii>%UBka}x&G+Qf%jum zuD=kFp8B%;!%Tn}(wN@45S88dBOv9JLJ*`Z?5Kc~*Cd0~65 zSL{+d=i-VuA>!gzx7=xP>cu<1<`rlQ9fV*2EW~C?GH%>=>2P^~@Zb?rllcHP)tsiYfzt#_4h9;c7*<_IbKTM3Tv0f6@b)ot{Qf z7mGn;yEa*(sfxja{(E`l}*1JaF)I`=#Yr>g(V9#UglXUi8|$7$5Q^0Y<9}r zlD4pCMy#tU%RE;o=XGApVLpi@m^3eTCR4>p=;gAD|FI$&>oE|xZ;X3m<_vhGTpCJ* ziHpirCDrU$8&$pC_AYxYyx)iu|5069{ULnh+XWu$Gx$@PzI{WZj&5Z&Z~Url6$nqm zdOcX$m>pgmNn%{P*N`g!W!l@>8mrt+w&UVh_WepC0yBKC11lTqXsB@4mOoj}Vyk%( zbefQ!vmd7)Jx=*#H(^#X{u&^oyUn@^?J*iN^6@;#fPLxx8kU?XaHh}K#yZ=)5mT<~ zfq2R~%yStbk-VTpUStN=j6YtVUg;}q+TCuy9Uw-KN%l7SyZK`pMd>=7B{25BU81?R z_sr~KZ!qwuy!Bpz1jQVxOyo*j-oF3sMg(uY>eU!fJ{SvHEk}Tw7YCqZ7iR$xLHIoY zQQk*mGzKvT!Q1&vkG)YlRIV~;>&kO~_!%LpIbgQyz&45wHr}WVd$w+6pwE^cYg$Ki z7$jA{`9t^n zH>*>{L6ONjk=mLq&k_J{`sm;+<=eb6n3z&IJaaK0nh>g-JZP?$aA{iI2BUFl?uVD~ z3=Ax^fSBZ>2JBCcXjnQ*8GYfMZqr3Uxt+gHzXBbbW)=r>c^+lyTRYaRPH0fRm@U6c zGZ^;cl!@<>9g=7_?!mE*>nCA4yt-g%=dtLlI3&U{N!jMc`7VGPUnu}D`1)7?5)gsH z^jDPELf#bXB1|E(X7W+faGEU`XP!kk%g9Sxy&+s5fj2e7)va4DpvVSg7UV{W$&qZT z6vR(m&LjTeT#qhS!RVwlcL~7 zP;#0SWQS%0{h^7DF-k=xUIN^T`!OV-phxLH_U^c^OyQ* zF;)aYHy2FlNt1BlW`1yz`-`m-A>7Cad|HIXb4# zT|m!hn9Hqr^?6pp0pwibiINrpL|B?HXKWD zuF~X8yGF6bkcZwXsT`u$0K2;wATYKJ6>yHT56>anTn^qThYQovv{&uqP8HZA22a33 z+u*Oox^~UZ+Xf-Qm@TVw&KV9H#8X(*8;Z=1;gkS2y6D@2aWkA$>t0H;&d1tqVZAK}cNt=~bq?GHr zck1eJoDBx`beKddd6QF0(4?GCW|1`iygT#5s9!o5vJ!a?y!KToxdi>J_Q+K{bQS zmUm{XEgEEnx4t|uGZZkXBp8%RJfJAAYE>1*FI`!G)dLYL(#{lTFq7TmPHbE?^CiiW zkIGPEugBE-$Z&U5yUeax6N-e_vpiHPdFuc{=e(hY#v1D*_5Lv@xuq`w0L-2+iz^sf zG{=}A3#&pc8FmI<^xoLzBD>k9ciI>Fs?h>o5ksC*Lco z{n1~uxL`vea*EY{nRSs^CRfIaa)J7xZ^CpG1W_)t$$p-e9XS*`$4nQ7YBcnLIoF3o zG6i~8S4IvE7{CHqb>wU;!7JLqHWe=_f*Ccv&)Yp)9?6wOc>;w|0htuAN$alE(nU*^ z#F47$LFA%4uu0gf=;Yt4=%f!;iXQ~yJyB=87&NCY)cZUdyWW!@-qP+Y1sKz+cZzZ# zNbMt0*Qy&d_YUabW-jwge$}ogEelHI3*OZ5R=EDr#&h~v2AA`Q(-7A~uY|l+K_@~M zQqK7MM2b_%s^G%=bx{39MDqKOs>OMISRKE_`f zA|jKgVxG@`3`UH}ucY8L6}6`JZC}+ds7j}1qLR8}g(SOcpL1kB{{y1 zG`TJ;T~Dmq5)ZvA*L?|5d_gg4nQ{G6rw7t~8D?Ec4Xq_451=y3<|-rrlA3`{Q74=F96)iZ^b&P&!=|#r~38p86lb`mW_;+t%K(728`so9J5l5$I<25 z2AsLS6YFtdD*=p+6-IyeQP$8aW%kb~m}dGb9IsTmDQA0NDJ&sZ&6g=GH$v$avV0-3 z=5nvpB5y%{=r7#3MJ!z;ir5DrZAYx%Na{(Qk(`$@5m)DlmU#w30u`ReNUh@r&J-lYUmn zbA)KeS(B{6`VLQMc>SuA==4n?R8_kmcF?%eGo2=W|EV%bE}H`fBj*&;BJqGZ^20kP zuOY*o9|Vx5P_aMh_2@Tu-LU1FsR+sr^W?3H@q6%Ez5ML1K@hK1@RCPD(>L&EP7&Sx zVk2l!rhR01ESS{`HOo#JCv~zy+V^qG`)_t<>>R2@BUu&;<$U9ny|a8Gx_sH-yG~tI zwd~60V)1C8iEkKPT_v-QA=5Lgs(gyo1pCg-+pYkj@~{Bov|83_hLfpog>vnmcFpT7 zDu}b6MkVlvcs~s;v0MLm$1SU(xhj-zx7OB@f>>IUS$Qk&}_G|IogMA^}3Y6(hG8` zMBW1Gge!lW-1-aO`nwgl#{7}jT<}qDhsi4#^zgF`#2nr=#tlT;j=er1H0y{Tq!SWR zDr^D}P@HE|s{mqekXXK0V27C!;Q(?-0|bKMvVVv*m&Ej>kX*nC4ly2}9ZKf!4ZKs3 zmP|bdg=WYKI@9y^-hlr85rWh4i^;w@pTdBb1ExKT@`X`fl<(?_O2gps;IzX$d_b86 zwR_)@eboW={WxxoesTXlq$i3XnlOad!*v!FU^&}zhGq4_MTVxIHM}?Fdmq)#c^#I5 z>EN%pM2rpgz!vP{`}=ya*Etf_?dt>Z67;?bBb+1qb0gG+%(L zV7)sh$7g=~2T?AJ2?8|e{BoecD`u_;WO_!__YLwD+edJwrjPgpT@BS2`4UMcD_4!; z>PBD0$|C~UUa>kCwINoY_;Yq|?P5az^eXmO&VB_J`hE#W$%eb|2Z9I+lvm!23~=M? z09AlA#QtuB#oxsbXZ-Rf=M7AiEgc}Y06h1zPWX&l|4C)QC#z0Kfh$DL4mj3eoR;Mc z_UVw3_bsPie!CvM9z7UCLqmkJ< zeO2Gghtyd{?D2HxgnNn2GC0RZwu&8JxpyDjcnuTfk=1nuqZYe77>6RH0i_0Vo%|#W z=lUJ{)%I=M<)MGJ89$LS5LxFh3Y zuU>!H?@@T*Ex^s`%KC&>X83?te?$aBms4#cZjcWzXxGuD>i8o*xL{xWcshv7K||x!Tv@x5+1g2&#!CU#c}yEV4;^|Cw1Aq<| z!za05*hs{E_E?kz+;bvjB(S_w*i&U!KAQas@aydBfBBb@U#{CM}a)E%L{x^?D1!F7w|K~sQkNOY)O8!Hw4vcTgYO9b% z+s)hz*Q6Qvco2L6WnhQ`3@W+=W~``k5GjCoA|W#&a8f=e6QuCEsH3e;X;A~E)TurS zGNEf#L-#_*Mz{6n&rR#M6+xRf9h8~3{5QX5@^2S6z2Pr?KJzbg0#Dn`J1#fRL+SBC zGU8Hqzx-VJG;#Hg$)Ge}y`Yg&*F+2uZwI6L_YaNv^_au4`9+=9r349S>c8LNUX=pG zo|U}_DA~i|>U5l9TUw*WsR^q)6rFkxoT3CZ_ziBqjiMpsl{`ZS$3J|}puXgR*kFoJRMm}juIjsSppks6z?uFeex6U*1fDQeT+MvcWvWNN!F>n z=m{ggmb;d_n7g_|ZjlJ1UcE>0)?0#z`dXt$WHBEdpnA(AD40Ia_Ut=~McoHbzLkh# z(&+hqOA*DS-Xn8s4rzE@>>$dQ@ds9WJN2$h)ii}^#LEouTszKgBzN#qH7J` z_yZq=zW7O>*Gq`;c?T<U}VjMxq6WjX|;_826-gk-Yh+p~dLdrtqMh{B>%g zye(of8EJj0Ck{d5LzNb~K)SCO+8}bE>tWo4C5~mQVDvWFdu^qeF6nO8YDwHr&c$#8 zDNW8i>|dzUCOS%GY$)@9xhXfZsft$7hfQYz3-Z|ZY6iwl=V5;B7Rf3)J}FcDqTZ=$RYuOs>?_DNZED z)kaepqozArs1Q`PHpXeGXtk6#WzL~{6Gn6V>_mUPHCI(2$gOmBH-^n<9r&#SA49dJ zg6WX%I;wJ}j#JH}D{rvyUbDWTUxb&cjWyraHXVe|`jYV3x3QCXKfm}f>;CY$%S~{J zh{rt&3IuCVxXAJXBr4AC6m%o>5oz!2K_y5h+9CKa?A_qKCx{S{ZWxVvv6;d9V>^3D zE@fu4*(l6@y1*YmwK@uiVXC#1Ru_{cT|=tQj<`cPutQMgW=9R6l0g}3^GS1$iW^G+ zO$?n{t=e&ooubOeqRq2ZH+U-R%vyvaM#5|%8{_O1*3X6kYf0y_?PIpT68V`GJu_UH zNE+2K+4;$G<6Lbx#QZ3QhPD*^Q;66)){Y2z(Ei$bhU%(n*|FlIkhw4`3Mzev4@ObVTh zyXM*2u)XjA{0Tqcx6u^qnnC$_+61%XTB4}NTThFcIn(0W2jL-kae!dK;`q-xs;tYa zKQSF*$zX>ZcNt;AV=&hZ=A>czisUE9uyHQ#WpNQKShD9&&hOn#P&OJ6!X&U7ADuo3 zmc!F!CAClPC7U+1q%1gd6hhG)gB;rgFbyya@#Mk)p~4H$$v-(rzcmFZfzb>7%o0() zQrymFLW{hP%i~xQ(2m?~0tRaYx0rzMRr>*N4A9?Tb3% zfnBus_eO~5aq@iA#x$L=0!SeZ&0A(}tbB`e3i04hjT>9iC_-dPE$Oo@fZi`nAgZy; z`k<%)%n1|yMwwYjQ*<*jHo>X=^;3%yPEI@KVkmP$N4s+(Jk?I0B5AQHG!GlMy&e9{GSC+dVMO>G1JG@ z#lRGZHZSXZkAdHgHsmxq5g}{~INOYs9;Dba*Q;C5f4$4O86c4zHsbI7WA519hUk%2 zPklyhF9*@i%b}g*^gB8k`MVi=Dj2te${_66Hcuq>v&gkthUOkKwOG;SNe!(1Gy-lc z041I(^ybHo729P|mcb)@q>gOUDx&53oLBe=Rm&Y>%$HibH+a%(vWXj`r>#ZC36wl+0)hyP{0e=6V#=Zh9sxIiCy-0U=HzFaON`rJOrARjt zf`lv5A|QDINfA&G6ags_kPuY5q`Ra;Lh8TE?yB$ieBbl@@B2RPojJcdGiPSb+;a|h z_exql{d{?xI=1Ro-?!Nvsc81TGPMe`9V1RN@;;wPb_VX5Y9#|sJl+nT_^z&-S9woL z(t(fttMkd(%rPu!9;&#mlrwme)G6nvk#xfP>pa-h+KE0lDi|MQR9S!Xt!j-7W0+_~D}t6Z^P%Wi}} z7ZtBdw$sh(oOwfT+wXmIo|8K;;=$erF1F&3 zL)R(d@yErk=^Nk(6f5C%w|Y!;{(3{Xsd6PevQ#{{hLUYPCX$Jq?GAaTJF!?@`j2X; z(cI@jvQ^F@tx}4RR z^+-yIm$_q@^E?#lw1amdoLIjme5CwZ?gmx{t!~nmhQ6%J7rDv1w*CbnPn@%kEN)%m zEr?Q<3Z?gH`*!lg@EeBlW9Z=g@Zl0?1GKAw_=&hKdisgRS#n3iqPQMG`bi3!yG9J@ za+QE!n7vZooV324`c#-~{yWfc&SubEt+JzG##dKq8MlM+&W`($#We2ND}26ULRACo zQ+D##==a!v>L>c^qHU*z_Qm9R&L`+sJX6qXrFakd%6$B4rmQcrqhW69`3d8BlMR%r zF0Ck?H0lTM+IQ+pY*EUzwr;ATxS7q1EUn(&u;+G)bJ|?^T$SCi=qJw5Y7Hn^n|*F+ z?i}H(BuAbnu%9LV00& z{+S|~;$ZBaly?p^!Z0oaEvk!AP(xudHgq6`^j%{PL<`Ho`%%=&UFsPJP}ribi7EAj z<(ww$xIvOop*_QLO_pYr=k1VCCK+A&r9SaIhgR$2_~-Hay0|R+LZn6x&Q_sD(5sPG zW^ZxFtfr>_j-gIvShMJ!+$v)8xx8w+`oc$w&19Hx-efG!gkSb1C4(9r?E8sT22>@V z-)z{I=C*E6Ch>(zpNF0I&&M5FCtjOrNI$uqp!ju2n|heIG>uda$L*@)=a!Dj$c(i8 ztT$<^H~X(1064<}GS*x}&q z#-Oj1Yu+owx5^zFrF67{Q4o`U`Grp!e@bfjs_<-ZLB!kdQFmta%Btk_N4M`Bg~cX) zZPJcXD+~+%-2;iIE6eC^>5PCbG?8p@9X>9g6-qVR5}8Yju_sBb{GI~trRNVrKfapU zc02nzC?uJXOej(D?MkyI`^ZDChZ4RJH-%JH-FZd#c9PAGF`C!a#SADW!Td`h9SZJV5+$)Ly};r(07-34|Z zRQrBU$Nm}`c#@^Z!b$o8tw=V(v5KEiR#2HeUh+|`VD1;*gVdi`^`#PxlmejKh~b9K z6twAqWC@vT;wL3q%l^&9JSOJf2CIFqKI~ykHHkhLBj5bppMsrPSMXYW)hrvzQ*zwo z(D`uq8CJ&k-?isP-N7lA-p$J)1*8*r2Bz(IIv;9aGhBB&vTG48mzFA@7!?59ub539 zL=2GYBuC=}anW~(SPO?oB^tAd6W;YGfp{75nUV7k-hMD<7?}9Fr(0!KUoSAv@7bYY zv=V>Ub;pJ5731fui!NZ zNk=jbu@gHqGQ<-rGK; z_^W8(WrC7oPc0|!ID#7A_;2!1I*alCgQc=M>|b+NY~&QOJoCVT=0?A?EY7KqwVqIc zwC9dmnZ+PbZ`fykZWHotWV+PTq~=54$KSjM@dR1C-9f}5v2AlL{g0QpW$fo(e<`Qz zex>?qpz^MC^1g13cV4Y?^#=owJUV@u$CBStDQ^)JxRttlOVW5!g&##YNNiA6Q*7xH2<&5z1Bc86;xs__CHlTC zLyj$yM?^y&uDV3j7%k!=v(TIzMm@|H!5G2EmU_$ecYlaEzkbJ~hn{sUN8#rqQ?5qH zRwvPcP_DICnzFN7#hazc8_9P+%?M^!u(=4E*1GJG*J4&cFB4$(y5Tk}s-(pI%v!D!VG-%JSk4R zEo+g2gZ&4V+}wdK+pY2{Ad_vBJKal%dj_`m(q9TSC=6?-56x*k35&&C9+k}$1f$k+XL?-+LjAJ_A&|V zAx$rlz$BI}_C_v;Y84!)4DMFc{n|cs=7$dwGfM?u6lwNRY|BXBrtzN}JwLMA;DLQr zgSGCf`g6xmgVHr+tcKe!1Mmp&j3j2fr5*VP%x2!#+38#h_)Zp(6fK*Mx4)cw=hZml ztp#_%;*;314l`S+56@O-cpsUqsBgy}eE>81rZfbhmM?KNUVhch=YZcN8JPMG2Ntd0z~Up;5H~KYz45dw^1G_*72(xn|04{aOKKQcm?JU;CFXb&welwjH^B)y$21lnk%e*Fk^JiLU%kOlFp2`^N8v#r!=V8j`?PQeu;l zXUGh?{$`-*ATEcnTj!C(VB~?G4B9p!v0jXy>@rzP^z{~z*$DXt=KJWq1tdgRTJqy~ zExa*5Nb#}n3KOr>Zm&b{L^1QDvzC%9VQ65K5k?Nu_LAV^z95JcrM+kOPLsG065kV< z7_#sfh7X?v-z*3Co*joP+&{j1FkGB> zWBs(&aNjveaB2W&gC3f6g~R9*FO*x?cH^ZNU5Jt8A*mDf%j{jZT$Wt@l#L_V`EH+R z>eI2&GLhTTFR*{+5}ln#|Df|G8B;VlZFoPVx!?nlQ8+Y*O#rB@lNAE8jb+Jci%L z^2YNFlYZN-=PS4apovuWi{cD{o~jIJuDkTLeCLdS6)6xb^(DxqGiO^?F=3dPmkJlF zv+FG>#n`hLPV;`gs!%)OBk6k2LfN;PF{h-IYDIf^74}^qF=$ZtFaC*j|F{jWAfk{l1XWpuJ~iz0DiA{w+b+vOndXGJ5Icz#e6+=$FmBUjz2eZ7l4C28hb8SZe6h z3FO$1oAi}uIWHGxnXO=Si~UYplK1c3rLLcUkZ!sEQS+_8T*0tRcF$^-&I(nQ>|Xei z#_!6RLh%?+|8G!<)JZXwUiYWHds#xUXLsn8H|d0z3ws#%*f%KFhqgPliSVg@kt_Xj`>K z!!4Xh>jp_&Uah<_Bnuc+*e_OgDdM2l{Z_41GOa)ORerDyYRlWY;Dl~+7&n`H<{0=4 zDn+#0Jw0=FOQsJB#O-9aL>!w{k2YjDp9+;8RP9oqJ29>{WUZcvZ%LeM$xKdtBRi4y zdvbnH?(6v_ra5SA;qmP`>r?mbduLO-_~)uJ{S6U1TbpyY&g8OOV;3at7`g?y?j=g5 z>0G7S=~#3Ogcj9gP^IEnI#_lTrkQNt-IbH;4}1nb7udbENcZvc34`kQ`f=Jjv6v_H zc=$8>jVvEIb-ytLb82H!-s622+8@kq58!lRz8|Mpp7jaF^9#Cz=ZodQNyASA_fwqB_9jq#bB7hvHFDLdc;R2SK1#hxaGT z(uefw>9N%Y6`3F6=}5#f8S}rihg6R!)i*vMmR(~0{2@O0P%`FzAHRNNR_~sKzhz5Y z_WgdM_6UclJ~IE70Pm*-!qZKZOSnreXZ*4}w=)a3eD;#Iy!aQi+OLm!0M2t>#7$%E zs~^*K6oVU}(Scosy1KH_SxnnIJg3;QWF)(sr_|*b#Nq;dUdzeM{#p4;y_c2of6WS3 zL_dyv>AGj&AN+N?`%7>4vRlz3d&USMUxWN5<18hC;1~3k0n+t+J2h{;>2==bnEW*E zVy@>+sJ)!w=C8%>!!-Lt@fwx-M1-VVzw>Twq12?ZBlHk&r-m(-VGnac{^5bsmykV; zJx$+;Il12y{*VLHFUG$`{W;DC+g;rI%nWC4YZL5!P@CS&^N%UsX^4BXPuFAg`*t37 zeO|*SWqamp3jUQ%qI%Bn4YhoU@_d!$2Iu+nrlJC!a>o=KsE!6$s}d*kq&tdJs`Fdw z69b)St~NuDS+h-NMirr#x(rK7p?%qctU064uF2&Py>1B%;m^Hh?V7)6X<9l=iEn;A zaYf)No!BC2lGHn=X;-NPIa2ee5MZxtdj82Xx!$VyA{*S(GpJ>=&ys%IyCnLaFc)aa_`K)%ciSP zm0QclS=(J_S!!sH85k&S2<*!LeOr(^)pJWO-G${qKTZDj(|74|w4-rpjLP0ymb3=U zrx{-fH<~Hu=+sg-XLM}1?`AB){=65|D%dlBw!e7RGiBccDg|(#V05m8e8NgBi{lK+ zSGygl2K|NktAkae;R&(G_ZMvfJd?M*f^m+QsbhXGG1ATmo<4J22C-KkR(HSNyX_rm zZO+8teO;Z1?~&#e*&6>d(mEAr|F3hZ!^cwNZoW(e=eU)W)Rdoy>7M%Ed1D=VtRXd? zkkyUmMlaJQbhjP*)+5)7`dQwfaQ9G&>EL>6BBMoU0EN@xlFd7MQHqRXl?;-%931BX z5k5y<0y*E~1Ll3d8Nv>(*;?o^-GgKvyH*W|OWr}_6HM@=WtB+#=T*Tx4a=M$* zulL+l!9wnCwJ53bdBIGguCe8ZwDIQ6sb!_gQ@5jq&fmt9tdir4#ox*<`!C$LGDvn# zX#H?&3fg~OG&!LWyvRyZ+Oi~cs&Vw-Z9GW59w2EXsxR^O zDaQk-Egz3QX5Y@8uZ^|!YvseIgf_&4cnhC>zZ2HlZTyH>q%4`Q9lucuh8^?~gc;Bf z2ymVdJ@5G)N!BLvP|a&UH>cXTO0_R${|ON|CE#Isup>Ob#FWs{-KX?0Hg=w=*XB$} zba%Jn5j5d;B~^w^qTSUM!Ts`+PoilG^wXrLP>o@Q`ldwKmoqZB=*&mmJOo4YQx>4& zX1FRl?&)6A$+I|^gJkn&YkUo_ZOe*J7E@X`b~>*_%Pv$^@QHnOcfIxIYeWBgiDjO1 z{z;W1*DGU=i6^6N{umsiW}5Ht8~x?)@`KKNrH4%aeHPwc|Hj*=_-JTQCOR}Uihus1 z3j0AmB}Y5EzkgJP1KqvzreGgS^CtvXT?V#{m}G{& zo?6O0(z+`1%BnmzB9Oar*yhXw!q}9DaVYhneT#r#YVUKLd(^uxHa~cqKL9eZs-iM_ zkJf*%BxYU>Gz+&-csHh6Ku7=$2&4|>3VZUMD94~jjOKnoO_|Bie#cf)>IZ}HlB;Vw zv(kQ}(f03dH~R*?YLsG_O5C)!JwBF`iC}8qd%*NCl4-?H{!5(gl3v-gGJ`-=Ea-Eh z^hL+#MDxpKsfVR=M!65P!l}ZxL>U@-wlx^ut{x`yeaxNHnwdX%>+_ML4SMbEoGU{^ z@3xs_-)127BSMCTVUO$0Oys!MGq(Ld=gLNHxM|#smL;wA92{T0zd{pbY#d?Q#_i|K z7E`AC{tAgPb#lG*P`Zj@S=-l98&=pFLO3s1GU4f$yky5*>o$YP2FXd{Thut>Hb0A` za2yla@Tk&B1GqkSZs(5x!ZFad1YGK(A^{w6xbX`#bWzF)a}*i*wqE4siL(S&@sv?v z&ZFt8pQAJsee_BX?ORqAdnI#~lot12Tpl6M-I#PV<1*0^E-~ch?=+`R6eUq6v|3C2 zVvAd3G_Y_}!^bDr*y+l5Qk8EjcNmq#3J0I`lzQn9REpio^-ff~AHe<@+CfY-{LIr_ zZ@+2OOh2OdYx3?$h^5-ihE%=+LE*Wx_S&JX*l=Hpz}%D+hvWQvjMsBb9AkYm%~GRsS8 ztc^*V8drn4c*m`azeLyrgHo^`|6@c5=2>V6u43)eG|HH8I>p|osJ0K#MGrnn+Xq3_ z95hk=2|Mb!H~F&oUdM@7g_6!B+>|jUab(sCtt4@M>kwnk;KrRBRua-$aX@fF1MS^1 zL5DU^r43-71ry;1M#ec9Yb#S9Qb*$lK8DgBQpsK2a;LxgEyu)H)ltG_8atL&B783V zG5!rqtl=aB*q>7u)}t$KKx+sV^wM*^MQFYj2Zr8-2*h=}|7=m#ySu#L?%PTCEWD+MMli?i`Z*NGC7e~?!W#OjKa`=x@?rQ^ zvm*H%y77>UhGKG@qk(I5a#Y^DCm~*BMbrzUA@X(FNZ4OGqrd_2?U#!Ly;n}l$FG&U z=~ZXFzV%GLg?~KRsy|^yiJPVn#4X2tJeq#UQfAs_owE3vd0$xPrKAmQ@8!Gq;NeT6DM7leZ?bTllL;LlUEoJ00c#M`3 zzj6whHh191z6kss+B$6|ynJIzf&1T03xPMxY@n12xjz0%3R6xKy_^}0ZlL8*W4}ZE5Krfoj{EXuVV1^C zw%c^t5B*}^jRXd_2S1=+vi~ly)IP>8d(Jw3vRK)YOx$af)Myzd{Po~^@@9zjB%_3H z^B~4VD5HX__#Q*SQ>j?xf(%BFZF>!!v&_eq)Zvq_mWr&@mC&J|pNaW#P@0a?yUT}k z8Np5&XwFxIPk0-T3dtZ?O3vZU)p=%Xg&sO~tYE)^WMzkv6O~q@t3igH zHeWqsyxY$b5}VaQUceOViQ}~rs)68OIz5#u85_+x4<-(x_H$m6g=F4cnj_T$X*!jk zGWC3kwYzP2_0v-BH7`4~JnHLg+RAv^&6(V7ocJw@+)ZMO)6j3!kHrPa-G%lyg=Vww zRD0$<75Ax;!jKoGr})X5@w)VSzG+naPn8T;yLN>`?y;P4&c)tLZjtzi9egE+m&D)0_*pi(NK|Vuy&%C~ zEy0NtH+Gj;o4^%Ho3g{S#Ta(G`6|ITqM5zC<;2g;u{qq85@w3h+g9eDk!{@OF#@+< zm%^Ta;K#KTkQdLpDf>CrsyEUQ+xap6331!31&%3KIIm42;WuWAgeTe=8`IuB{P?Sl zH1mNL2?9h*&+xT5M0kv$SmExHXN!d857f54(clY?w@PH^Lg_mNjjedwdV;M-7~8Bk z+U6KF8>P(eU~Zb%zDaFL*pg5m=~lUXv^uUJBchgf_Mbl1&e)ue?Y>s~^~d8CyXKj@$(0f+l&WbyQ7?%eP}_=Mm95fcn;nriUJ3& zt5KES@ix`DBK-vT1o`IGB(j%Xo^z#j?hj6@d)a~Jm;s8G`?I+H7(4>yDQhZE;&}wr zmOjMU*Rh638CCFo`qh-E&u}6#xUo?ba%5y*6^%b=lA&8UCR17W{O9{O2KMwnGKZWh z(>q}}niG-a4d`0P;wyZ=szQM(>oto;Z$F_B6LZnGZ)l&k@ZGP`5Tq&B`_>>OSMVZG zjpM-;i%!)66}cDtJKKAh0+HxDbc{Y91%Db{6M2=3UF^wcxRj@-bzP~mnY9wF(@E$q zZ*a9~lg6SQpWXp$?uM$qPmb1ltEUgz`cDS)xt=XsRd;jfDt8;MDo&}FX3LE)-sYRB z(R2*E_oA&a+er5?}fBLj}t~%{1_5DRXVCTAD-t zgL=H$EN5-9iR*-5lpDKe^Qu(z{fX~&uf9H@uOfDgl)C-7L`jNJVrg28_3aTpH&>x@ z1FshH|0jE%CbGdzU$(--2Zzq}_C%U?*tmy10-#f$RCQe*j!jEE_AIZ=pCqDp7e6;C zJmyne9nPmZaWQ=gqnrKx2pjd0y}kMlUY@9)2R6n5TW zs%0OeGdoS}kPbkXIU8MXT3=Z*A$U%@MQv}EmO7UDFm6}&EQC}H{ii+ z^+_3jVUc6m=`T}n_vvclgL3G*gf|a(LR@#)x^V^sYV7t~U(~Rewlmk}{CaN#n>`gU z75in}Du3_BdzR6(X)~nFxPIjJ zbk-9UB_ol0z2B9eMoZw+B=Xh@DVy^a2sQWk|7I%CxG!hF?HKo}Iu1()+7NLc9slRH zkdQ;+1D$F@OtlJc0Rq+FislKSpqcR|%w1!vRtpLr?+JM?>t^10>hQht5qqMoX@lj$ z;rw2_B!^zU#s*Fu@c=2#ic2bN&Kx5ub*_iR%oA2?!8Dl^hfhm!PgHy{5=atxVK&4`G&$1M^p zY`wwBdopd(zM@3&q~N3C7vIpVbr$-PVg-&uQ{^E4rKxOm-{$yZvcY2vcSB7!g_pGP zA_`nYOD?Z}ZAnnfZYVR6?Dg|snvx@@q4Mt#dKAt0BY=0N#|vi;9f0<^%~G+tlWc8r zK4g9G5E$(K%$Pl2xSD%PrgCGI+N*Kz2_6BsdRTUk4+?@Xo z88`xdz|ru-Ct=L3|2lE_xmJc0fp$8hTE7DB%z#L+)OAVBd%cv;@?XjG;!@Rn(nq_g zueDovJ%jr3u+y@K`k^u63YGhqJxNkagW9*1Pc=B7pY6_3JtC;^tbVjAIo{amIPVeN z4BLPj9`ZBl&J7-;-$=bFZiV*}>mf5UJw!2x@u*@A=jFcG>pA7D#sOg(wO{7bo+Uxk z4?SFIM#oA$Gw+ZWTTmQrysI3_UnzN~(=Y5wb0`hnez&CRK0f(~*K57U3(G=0A%ja< zas8X(#;*wdu$jh(^}9~a*9a%8u=zWB`jk?yZ?tlCGx5-1MsTJBX>sv}6^;uZo3-C` znQ2Cpk>1QYA$F~&Yl~lMNOHLfz3Y_8#rJ)tG%A2{!@Bu#*vBv+f`P@9L?~VYzK}ZR`;S#_@G#OL$5ZsrjK@0G;*A*k{@UuZ9~~PK5(PHA9TkgbF4(uRwQ;Cs$ZoDN@OImG~dM^$vEp++xb{ zL@R^TN8<}V--|byB4werJNMM33j~rX6b!y(owOJvzg`h~|3>A-{9V{%#V6mDaA+9H zL%B&`YCb9sl?XA>nK3fYoow)s7oA)gz5USV z%Y@;s?|8xj6R)0_Qc&dbI++>1GY+AnbnQ#w&B3P7EvlXgKkGa=dYg@Vdv5b%+8Z*5 z=e`?~2X7Ae4!SOzWIv#UHpU#LnTG={#CF z%3!^olj=v-v~na(uqP?Gnh(htpHBB5KE0DovGwdxH;&&;B}S69>hNw=-6(;`5`ibb z^GE`5ZVzo!5OA@k#)SadKP5O;t))Kkt`2(#T6~#%ESEb+N0LFA><)brFFdxX@OYStS z(Q*{du7WMnSGr0hg{@sZf4?t%e1k`GY0^&G-lzIQ;+2hv8s9pfp04})1zPfK6KfLn zxFmPS7{sSmb@@g=cFVxt!Bo)c;_F)cyu5rOW-q>yF!q;Frgv1(2Eo{HB$X=}U0F$@ zgOAp*eroS{TA9Tc_2B}kj5k&4*9@*|7f#rkg`qDfe~&KcuI#TI>kQP19?>ZCD4xg^ zo%lpg;L4MH)66NLd}6TDfjuH751=U@b8>Ow3%#~hDPwP&fxgM83@u*J&->(kFq+kB z2KBVf)B96T_V|9Bp2gbEQ>IZEyEw$wdN*~t*ZzXN~=&lGT ztq*4y@W{GaYT&>ewps)&;&Q$Woy@<|kSR{Fcw5+KEpYf==bo%Z>-)nAd}+-EQS%;; z`1+xrdka!;NR-0vk3Sj1ubBNn%0JfF$UojBLR}q7K>P6SbfMo+qu1T72STU9P0)w@a%S)P8}Saq zK7Vx1xcvg!+o)0PG7b8r@rZ5VS{kE$6BnwXJ6`iHOcvhaeb{=VC9X|+-CT};?=3~( zw{-k9)pQ=V!e?E6!R-&o)^I)<>uP$%&S{n@(7ew2%x5r-`_Ov2%CmHMTbiIjd<*L& z-bZkYYvyC{HM&E*vm5SE^--}`(lXLrsHFw>i(6XvSAsr2YMHhXlkN zrN|3n7=I1z2Yn2_`G{2S{zCO9rb4mtq~6}zeDllpwXq`B$>J^vS1eWYZd@rCV>7tJ zIO}1QuRoZP+vC9&?%5h3@NA!7w#5Fh4R2&Ni?x40Me~Jyc-KjN5H!i$U{Ge;CMI8c zFyBn%&iy`L7gF@Wk4uU}K|yw=FGKGFlN#>9Q|_{rcy9qo4I7uA8kxYbPn1 zZv%dObA3MF({(lVbjV5@H(ESU)Gv&C{LR9g*pKjiwV+ZaE;)1Yd;QjnzNQh}4DJ5k z4yEncZ>49hCj_W#=5tCyLGuR>jw2VszOhE^2CX06{nEmzp~RMbTzOInXwH23hOy&r zeQ$wcuEgw#hybnogyl0%C2FW`l!oAbhUyVo z!P6H8QQB-$L1?|{Ua9f(zK~&2k~r9ZZ;9ALNqt#a7;7vAv}?M^8_eyaR$p=zc1S4# zYW|*9x9o3FtLv2V#nWF8Yp{%V^wOSt(qI|4Qr74w!?kEVO4HJMTk~2-nvz@O%KIs@ z{tb&>;x$z@(MyTVk2|1NO)t4p=}GV(JkEVGZJT5i${*tWoH#kkE7cz-IpD6T=C!yH zid^~cHRVjJO0OP&U#4DUUQDRWVdd7})wZHMGPscxw^9UkI2DR{x8X?H6({z&P*<@U zAM)Lm9Am9fGVDEs1DM^XqI=FMRysuN>1}`Ph^a6us_G@tgu`^qS^JQOeG? z26Mi#b;M|x-9nBsL!0(5L9th=WtN$DSJ!PT>baZ8o}Rk}qRCfA{=kX~b6E1bClI{x znep~hDi5O5mB1FuFZC@@5l5|52T+b{s42ySaY+4p1Ysp6<-*Cbk?1ljWsc|;L^#|* zX}Bk^X)$|eQsE=I1xLgyYR2Z?cSN6W%ix4SKVP+*67-GC)4#iQZQO9jl5(-*Kp^~c zPLRLI-F!l4z#cs)(c6tBl*3+i=o?2*zQ3t5PT(kkr?_+9>n zo6gb{ZTz*GyhM|xWyiqJAeL3N`jKfzNJh4Uj)BOeKC%Cl@&J#>C0>B4Oksvy4DW+} z8P8?9#}rL3D0lB!D?+(x-*R8NT1Ty>pYfLUSgOLM9H&kq$pMW?H&%q6L1DRGbbeF)#6>x#v9r{cxlWcH!L@+JD>Ch%p| z?d_45%W)TLOs0QlNke5C$aoOHnrL~2Fm;N`hJEZu z$5jP9y)!~%$M)gDL9NTTJt;0nda;jJm90a!CQfei@#OhuAH1P&>@;UHESV1(zI1y2 zpP31!|cc#d#A5HSsRsA^yf9>PGt$j4+us^pMC0k&_Io6SrmKyy(!dX>{Gv$i;>0f zwu$Nc{(Gri18W~}WuR}3UW>_8F}63}GU~M3K5RpWDAs7bWqdXoYNt0A|JF92V`3dQ z`s)NIdvA)nvFL-uCeyfp^a+c?vOlbYIu?&R+Uy??t$e?FkbG##LkY3nSxPpUY-eUZ0`uQHg6e!Rb8jzI$h$do zDy86Vfo5@iwvK6$k zeBa?xB8vZ>PtA1K;WoNG6e}=PS<@zdMrir=(h7t?orSj42ZHHJ$&;XE5JyjOi+PYE zYp7C(We23<%5#@|L9TKspt1J?DyIlXt9~E26{3KV{ ztK^JeX#$(sf~9=`{l%mf&VV2A#*0rqGYvqV{H$%zLSWU@%&s8$Q~tByJ>yFhwC z3wiS|3{Q%;bJ$d>KF;;F+&_`ts61>>J`JQMIOeZeq?FRyh!P~9XnS;UN%B1xZf)c* znx}U@*hC&E{Yaup1hLOXy=I=4*X=WS*)|-m6=nY0a!TB~t#zHHwJmpBKEUYbz<=4&o42PqiO3H z!aRd=3l%bVCs4x3LXT+3(X2fG*S;l^gfTK)v|78n{$B`sDBS%p32=;qll}jS`}ftk zA7Iggt4H~V_`jEXxY;}Xf5{;7FgpDJ`vpKOaXd6MUYL8Mhk(l$E`u}R2fP)2luv~9 zVL-?egKH_lqalF)0@RFjlnK&~^4VxF00ByLiN(Lb;1D1LNMa#A%l%@Fuwc%Q9|pKD z03*nYbC7;5-%tJsxe!7F>W%=I^z1@^H(4f-n=A(?@F+-z(1-vh5~O2aNVP%Qoq{rr zBK`fpK-#}D%aKoYa3d`(U(Zk?_-g>pe+=M58nB2mz`O|fM=sHYatvlfUnfu!Bi;8SD!t$_s(n~O_SO&?!oKXOeS>M*m#@6$1 zH+C@*O2bhXd~SMy{`Ug93#o-j%_ygrC$|2AYeq^X`o}GlGzfVH$cJ6Z%i7)XFQ9A} zqC$~nApjLvr9luL*qAYZ=(_uNcKxqv(S7a>~f|FfbJhN$B?aWP$;s6b|i{P-qX|S!CwzCBV*Qrf&z=v2q+>G zwUO-~QSEq3Kaipl&zEp6j8Z^iI#3wwVvoZq%F-#&;egnzR zN42y4Y=X5nOaj!2r#}%1?1>B`87fCGRs~>@f`b?@l;BYyuC|1|iW`2E8?5`|LdcU@ zAe12U6o7jH%0mW;5}8fq8wXdhFF=S1-4RktC(`0dRmci#@PR@A1QCP>$YQL86i{UZ zKpYVgXu%O&2x5>w=0(_$N{0BXTEK-=kX`7ZWm0$Z{&xuPB2|7zs;p{Yge=2!!VITn zfMNf}>lxB`43zF~%n%loZjZ|l{Qr#1Ib<k>?fUJtU z3NeKhSg>pkAP3#&074L70)j{d)E{9YQ63|gfV_l9=@0fF!Q-rm5Zporu4+aS;zRro znBu|@Lr7Z_QMNw10eK6v6)scY0&$GA>^3r9RkyVu0kDFC(7LIM47~>rLSHEVk%oDI{6cdq(l%?9ZL_uzDAG3A0GJ2xLFNSj zQ6^cCxxtFOrYh0_A_uFJf2_m=T^9hv*v&&?G*EJXxMxloy>_MK*_^e4rE#$^PSm<3-@# zEa^ppgHT}XNJ!ehVCoB*D@a%v3f2_`$^8QhjfNm%K8J)oM8VRcA?bf$MN0s}!bKzu zHefBtsB2 zECqRMNJZt?Mlz%Vo?}g!5JcAyCj6c0fOTmQMg)Ktv|IrYBP8j6%E3?nBS-MUmQJJ% zvB=Iz&B+C11yw>-P`(<-9asfL==ErWV1nx3{Z%T6#6nP`((4GqfW#uCO&~pWibB+#LTHd?u`npf z|06672{}Z$?i>Kf;o*QOW&tg?k(HMpX}K~gU*s?VD-?`DO-cW+dHu*A9?wH1!&fYz z;bOr6mx#ZEs^v&GyCX+_RRs|c4WC`Ydko&8M6Ud}kqV_z_PJ34CVxU(zk~F!AhO3X zs2*=o0k2X118eD#Fc7Kq4Jr^V^g#Qcc$KgsVXu+#`cp)zSb>WoauE#!1@(U%$b>97 z=O~dcxB^{MkzQd2J@$~WW@KzJQ2o#p16cm_BUTCtOF~L< zLZwTp6cCQeWbm3CfSA>ZBBk6xMNLBv2!uy1R}WxeP`>$3H)4@ta6w7jxei3aCBmU# z_b+7BD3QHYLPafK3Ah9A?S({rZG*pgpo@eWqM(8rfCmyPagp@SNV6PKu^rI^!Y--{ z?ENtphzaDiL@2AC8UUC7^i%o(S@dm@zDF%%s}_s__&OFbdQ1)f?PwL!!<8rxhui{s z;U0!n6FSht61f5xM{4Xt+4jg1*nr!Hg8f^eeo-R|c{Hj*rQQJwVN-eVx-;;9+y!qs z1Ms^b8~{$=1Bk(FXJq}!Lna?4%5VA304v;YC@kX6+k}JAi5i(zXZL^`@Ki>@h#55f zMgE4v1Bs_X<*C0fAp8g476{N@c-$AcDA`3?Q8gV15W#PBTam!k3q&r`Gi<1&VvPc> z!JQ35@cvV_E0K~WQIZm(f#2}5?QsIjsOdBS6J$6>-u@+#!9Xp_t3HANd{zDji^yj_ zq^KNJAJ)=!F6FhWXQM#XR{8@TjGDh!UeX{#ZnrlX`%zW_cUr6T4Y zg~(8xp}Krt2++dQ@KFiC4$2iHdl8593!rVcQ2--X{7==Y806b4F zM5pd;x#)#owbMc#12rOppew8%1jU z?+-2hi;R*4S^5Cx3wfw-4{aUeYmEboU6TkCLeuOE;G3c^950YC-V3kO*SVZ$?h0N@2wBj5xFxHYmv5942 zd|>-e*oyD-5KRB2WKez>U;xjDfa|~~5Kd?TH?k9jifF;2Vc2L<%!QpZgBU-6t3W~? z{2aa`2p${&B#E^dM9BL$8rsX?M+Fzik{^H|a8?dGzYOAzz^uOZ0d~#?-Wq}NeOkbo z5r7pe8G(tj`vNEQfr@X5%!A|?dvKuPD6A{V-6)1K(AkGNCjxQDU?Lt&!5Hk|oiUhb zwI%TB7@!G!T~FMeCj-~V09hb+@z@{Ryk}CKCWH(7tm4h?{^pZ*lkH9Jc=?1z`Pxos)qAlQ0iq?1T3v0S&XQ% zr9?9SaM))7A#@+PKO9^za2DoMLM8Cs96<4Rmjo`67uZ(*hs`|)1Lhh3;amfr-GURQ zfQ|)%3E#m0ugt?P)b{wpL2Ool58-TMPXrsb;UEW)`urg-b{_0i~26zJz zoT>#_R%kv$5SJDK34k^cLBMwb;AM>%e6R?M;b9Vj4PW(xwXpR!_!Z9nn(~LO0K7>> z5Qa;z@fMnnAYg0t>wskjf`G5c5kmQvVLr9Zf?O=Y!Ra};o8c_;JjlhG8|0mWu>^-; z!zm{XatU-j1aJYxLQroNmK<0sus+9L5RBlv6@UP~yuJ!V6~mh^II@6WDT08lm&F0! z3It*E6V}6l4+sLj*x39uHH`9$E{;Wt5 zIr6+2Lj2E=CGGnM1z(GT&^4H%?twpS0#FsU2MaE)!4zQ(BiOKIrYJx-^#_AkOoC6= zVVB;V`7awAB<%%YKf5^$Tmlc)VM0pQ-~bwsZv$4{GB*&!Gj0I;Vp#~L!nHMTz<_f* zf7@VdK|z4z=r02_*o2k97ia%)V2e8uK=u+SzXL0mSAIcoLA))PK{40}&dn`Y^9nwK zcnc@wNf89*HjGFjM-UcpLWBxIG-AQB=+ib#%2g%=2X6<~e8K@IZUHG=2qtXNBLY0+ zLlE$#4am3)yC&=^f&*X0fIoi0`sK(C{OkQt2{3mTFajp!;GeAE6hDB2aJTRt%mKzK z2==`_SUf-6KoD_KD9j8T6QGS?UzY>$K;B<4trB_&t-iltMx7fXh%PvhWriR)_F;t9 zT?7F&0I5Fi3`PGC~_>){+4Q0^2q-r=)M@CeR+)$oTc k11xp?A@D)?3=%9og<;J5|6#*tj3B`oK#Vyy1E2c+KXW%a)c^nh delta 33061 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 diff --git a/tools/dmitool/src/main/java/dmitool/DMI.java b/tools/dmitool/src/main/java/dmitool/DMI.java index 7fbe9912f1..bb560107ae 100644 --- a/tools/dmitool/src/main/java/dmitool/DMI.java +++ b/tools/dmitool/src/main/java/dmitool/DMI.java @@ -419,6 +419,12 @@ public class DMI implements Comparator { public void printInfo() { System.out.println(totalImages + " images, " + images.size() + " states, size "+w+"x"+h); } + + public void printStateList() { + for(IconState s: images) { + System.out.println(s.getInfoLine()); + } + } @Override public boolean equals(Object obj) { if(obj == this) return true; diff --git a/tools/dmitool/src/main/java/dmitool/IconState.java b/tools/dmitool/src/main/java/dmitool/IconState.java index 82fdc86369..c3eb2cff21 100644 --- a/tools/dmitool/src/main/java/dmitool/IconState.java +++ b/tools/dmitool/src/main/java/dmitool/IconState.java @@ -19,6 +19,21 @@ public class IconState { int loop; String hotspot; boolean movement; + + public String getInfoLine() { + String extraInfo = ""; + if(rewind) extraInfo += " rewind"; + if(frames != 1) { + extraInfo += " loop(" + (loop==-1 ? "infinite" : loop) + ")"; + } + if(hotspot != null) extraInfo += " hotspot('" + hotspot + "')"; + if(movement) extraInfo += " movement"; + if(extraInfo.equals("")) { + return String.format("state \"%s\", %d dir(s), %d frame(s)", name, dirs, frames); + } else { + return String.format("state \"%s\", %d dir(s), %d frame(s),%s", name, dirs, frames, extraInfo); + } + } @Override public IconState clone() { IconState is = new IconState(name, dirs, frames, images.clone(), delays==null ? null : delays.clone(), rewind, loop, hotspot, movement); @@ -148,7 +163,7 @@ public class IconState { out.end(); } - public static IconState importFromPNG(DMI dmi, InputStream inS, String name) throws DMIException { + public static IconState importFromPNG(DMI dmi, InputStream inS, String name, float[] delays, boolean rewind, int loop, String hotspot, boolean movement) throws DMIException { int w = dmi.w; int h = dmi.h; @@ -192,15 +207,8 @@ public class IconState { } } - float[] delays = null; - if(frames != 1) { - delays = new float[frames]; - for(int i=0; i argq = new ArrayDeque<>(); for(String s: args) { @@ -66,7 +82,7 @@ public class Main { argq.pollFirst(); } String op = argq.pollFirst(); - + switch(op) { case "diff": { if(argq.size() < 2) { @@ -76,7 +92,7 @@ public class Main { } String a = argq.pollFirst(); String b = argq.pollFirst(); - + if(VERBOSITY >= 0) System.out.println("Loading " + a); DMI dmi = doDMILoad(a); if(VERBOSITY >= 0) dmi.printInfo(); @@ -96,11 +112,11 @@ public class Main { return; } String f = argq.pollFirst(); - + if(VERBOSITY >= 0) System.out.println("Loading " + f); DMI dmi = doDMILoad(f); if(VERBOSITY >= 0) dmi.printInfo(); - + if(VERBOSITY >= 0) System.out.println("Saving " + f); dmi.writeDMI(new FileOutputStream(f), true); break; @@ -118,26 +134,26 @@ public class Main { if(VERBOSITY >= 0) System.out.println("Loading " + baseF); DMI base = doDMILoad(baseF); if(VERBOSITY >= 0) base.printInfo(); - + if(VERBOSITY >= 0) System.out.println("Loading " + aF); DMI aDMI = doDMILoad(aF); if(VERBOSITY >= 0) aDMI.printInfo(); - + if(VERBOSITY >= 0) System.out.println("Loading " + bF); DMI bDMI = doDMILoad(bF); if(VERBOSITY >= 0) bDMI.printInfo(); - + DMIDiff aDiff = new DMIDiff(base, aDMI); DMIDiff bDiff = new DMIDiff(base, bDMI); DMIDiff mergedDiff = new DMIDiff(); DMI conflictDMI = new DMI(32, 32); - + Set cf = aDiff.mergeDiff(bDiff, conflictDMI, mergedDiff, aF, bF); - + mergedDiff.applyToDMI(base); - + base.writeDMI(new FileOutputStream(mergedF)); - + if(!cf.isEmpty()) { if(VERBOSITY >= 0) for(String s: cf) { System.out.println(s); @@ -160,10 +176,10 @@ public class Main { String file = argq.pollFirst(), state = argq.pollFirst(), outFile = argq.pollFirst(); - + DMI dmi = doDMILoad(file); if(VERBOSITY >= 0) dmi.printInfo(); - + IconState is = dmi.getIconState(state); if(is == null) { System.out.println("icon_state '"+state+"' does not exist!"); @@ -172,10 +188,10 @@ public class Main { // minDir, Maxdir, minFrame, Maxframe int mDir=0, Mdir=is.dirs-1; int mFrame=0, Mframe=is.frames-1; - + while(argq.size() > 1) { String arg = argq.pollFirst(); - + switch(arg) { case "d": case "dir": @@ -247,29 +263,105 @@ public class Main { String dmiFile = argq.pollFirst(), stateName = argq.pollFirst(), pngFile = argq.pollFirst(); - + boolean noDup = false; - if(!argq.isEmpty()) { - switch(argq.pollFirst().toLowerCase()) { + boolean rewind = false; + int loop = 0; + boolean movement = false; + String hotspot = null; + float[] delays = null; + while(!argq.isEmpty()) { + String s = argq.pollFirst(); + switch(s.toLowerCase()) { case "nodup": + case "nd": + case "n": noDup = true; break; + case "rewind": + case "rw": + case "r": + rewind = true; + break; + case "loop": + case "lp": + case "l": + loop = -1; + break; + case "loopn": + case "lpn": + case "ln": + if(!argq.isEmpty()) { + String loopTimes = argq.pollFirst(); + try { + loop = Integer.parseInt(loopTimes); + } catch(NumberFormatException nfe) { + System.out.println("Illegal number '" + loopTimes + "' as argument to '" + s + "'!"); + return; + } + } else { + System.out.println("Argument '" + s + "' requires a numeric argument following it!"); + return; + } + break; + case "movement": + case "move": + case "mov": + case "m": + movement = true; + break; + case "delays": + case "delay": + case "del": + case "d": + if(!argq.isEmpty()) { + String delaysString = argq.pollFirst(); + String[] delaysSplit = delaysString.split(","); + delays = new float[delaysSplit.length]; + for(int i=0; i= 0) System.out.println("Loading " + dmiFile); DMI toImportTo = doDMILoad(dmiFile); if(VERBOSITY >= 0) toImportTo.printInfo(); - //public static IconState importFromPNG(DMI dmi, InputStream inS, String name) throws DMIException { - IconState is = IconState.importFromPNG(toImportTo, new FileInputStream(pngFile), stateName); - - - if(!(noDup && toImportTo.setIconState(is))) { + IconState is = IconState.importFromPNG(toImportTo, new FileInputStream(pngFile), stateName, delays, rewind, loop, hotspot, movement); + + if(noDup) { + if(!toImportTo.setIconState(is)) { + toImportTo.addIconState(null, is); + } + } else { toImportTo.addIconState(null, is); } - + if(VERBOSITY >= 0) toImportTo.printInfo(); - + if(VERBOSITY >= 0) System.out.println("Saving " + dmiFile); toImportTo.writeDMI(new FileOutputStream(dmiFile)); break; @@ -286,6 +378,22 @@ public class Main { if(VERBOSITY >= 0) v.printInfo(); break; } + case "info": { + if(argq.size() < 1) { + System.out.println("Insufficient arguments for command!"); + System.out.println(helpStr); + return; + } + String infoFile = argq.pollFirst(); + if(VERBOSITY >= 0) System.out.println("Loading " + infoFile); + DMI info = doDMILoad(infoFile); + info.printInfo(); + info.printStateList(); + break; + } + case "version": + System.out.println(VERSION); + return; default: System.out.println("Command '" + op + "' not found!"); case "help": @@ -293,7 +401,7 @@ public class Main { break; } } - + static int parseDir(String s, IconState is) { try { int i = Integer.parseInt(s); @@ -319,7 +427,7 @@ public class Main { return -1; } } - + static int parseFrame(String s, IconState is) { try { int i = Integer.parseInt(s); @@ -334,7 +442,7 @@ public class Main { return -1; } } - + static DMI doDMILoad(String file) { try { DMI dmi = new DMI(file); From cb11a95aa7d5b87ef257eca82bfbbab059ffd074 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 7 Jan 2015 20:22:55 +0000 Subject: [PATCH 043/282] Fix clean_map_git.sh --- tools/mapmerge/clean_map_git.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 tools/mapmerge/clean_map_git.sh diff --git a/tools/mapmerge/clean_map_git.sh b/tools/mapmerge/clean_map_git.sh old mode 100644 new mode 100755 index 1a0c9d6592..e8ad8165e4 --- a/tools/mapmerge/clean_map_git.sh +++ b/tools/mapmerge/clean_map_git.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash for i in {1..6} do @@ -7,4 +7,4 @@ do git show HEAD:maps/$MAPFILE > tmp.dmm java -jar MapPatcher.jar -clean tmp.dmm '../../maps/'$MAPFILE '../../maps/'$MAPFILE rm tmp.dmm -done \ No newline at end of file +done From c3413bc7d767d05ccf5586af6ce1884d7987c4b5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 7 Jan 2015 23:29:52 -0500 Subject: [PATCH 044/282] Fixes meteor event --- code/modules/events/meteors.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/events/meteors.dm b/code/modules/events/meteors.dm index 791f44ab34..33bee714ff 100644 --- a/code/modules/events/meteors.dm +++ b/code/modules/events/meteors.dm @@ -13,7 +13,7 @@ /datum/event/meteor_wave/tick() if(IsMultiple(activeFor, 3)) - spawn_meteors(rand(2,5)) + meteor_wave(rand(2,5)) /datum/event/meteor_wave/end() command_announcement.Announce("The station has cleared the meteor storm.", "Meteor Alert") @@ -34,7 +34,7 @@ //meteor showers are lighter and more common, /datum/event/meteor_shower/tick() if(activeFor >= next_meteor) - spawn_meteors(rand(1,4)) + meteor_wave(rand(1,4)) next_meteor += rand(20,100) waves-- if(waves <= 0) From 08cda659732eb100b73e84832ebaf5d2e8624180 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 7 Jan 2015 23:30:09 -0500 Subject: [PATCH 045/282] Adjusts major event weightings --- code/modules/events/event_container.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 5470f1ba7a..4f2675a512 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -160,11 +160,11 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT /datum/event_container/major severity = EVENT_LEVEL_MAJOR available_events = list( - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Nothing", /datum/event/nothing, 50), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Carp Migration", /datum/event/carp_migration, 0, list(ASSIGNMENT_SECURITY = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Blob", /datum/event/blob, 0, list(ASSIGNMENT_ENGINEER = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 0, list(ASSIGNMENT_ENGINEER = 10), 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Nothing", /datum/event/nothing, 1320), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Carp Migration", /datum/event/carp_migration, 0, list(ASSIGNMENT_SECURITY = 3), 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 30), 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Blob", /datum/event/blob, 0, list(ASSIGNMENT_ENGINEER = 60), 1), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 0, list(ASSIGNMENT_ENGINEER = 3), 1), ) From 4c20d2359751b48514317d2c4c924a2a6d09703b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 8 Jan 2015 00:44:46 -0500 Subject: [PATCH 046/282] Fixes intercooler --- maps/exodus-1.dmm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 3dd3dec5c5..485152df1a 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5923,8 +5923,8 @@ "cjU" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "EngineEmitterPortWest"; layer = 3.3; name = "Engine Waste Handling Access"},/turf/simulated/floor/plating,/area/engine/engine_room) "cjV" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port) "cjW" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/port) -"cjX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_waste) -"cjY" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engine/engine_waste) +"cjX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_waste) +"cjY" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engine/engine_waste) "cjZ" = (/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; sortType = "Atmospherics"; name = "Atmospherics"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/atmos) "cka" = (/obj/structure/table,/obj/item/weapon/FixOVein,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/surgicaldrill,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ckb" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -5934,7 +5934,7 @@ "ckf" = (/obj/structure/table,/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Surgery Emergency Phone"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/surgeryprep) "ckg" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/medical/surgeryprep) "ckh" = (/obj/structure/disposalpipe/segment,/obj/item/roller,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) -"cki" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "platebot"},/area/engine/engine_waste) +"cki" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/binary/pump{dir = 8; name = "waste pump"},/turf/simulated/floor/plating{icon_state = "platebot"},/area/engine/engine_waste) "ckj" = (/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{dir = 8; icon_state = "whitered"},/area/medical/surgery2) "ckk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "ckl" = (/obj/machinery/computer/operating,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) From 0d071e7f9d0013d4d4001ca9ced6192f7e6a4f4b Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 03:48:46 +1030 Subject: [PATCH 047/282] Fixes #7683 --- code/game/objects/items/stacks/stack.dm | 38 ++++++++++++------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 2ab4f72bd2..69b6e97533 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -99,14 +99,14 @@ /obj/item/stack/proc/produce_recipe(datum/stack_recipe/recipe, var/quantity, mob/user) var/required = quantity*recipe.req_amount var/produced = min(quantity*recipe.res_amount, recipe.max_res_amount) - + if (!can_use(required)) if (produced>1) user << "\red You haven't got enough [src] to build \the [produced] [recipe.title]\s!" else user << "\red You haven't got enough [src] to build \the [recipe.title]!" return - + if (recipe.one_per_turf && (locate(recipe.result_type) in user.loc)) user << "\red There is another [recipe.title] here!" return @@ -114,21 +114,21 @@ if (recipe.on_floor && !isfloor(user.loc)) user << "\red \The [recipe.title] must be constructed on the floor!" return - + if (recipe.time) user << "\blue Building [recipe.title] ..." if (!do_after(user, recipe.time)) return - + if (use(required)) var/atom/O = new recipe.result_type(user.loc) O.set_dir(user.dir) O.add_fingerprint(user) - + if (istype(O, /obj/item/stack)) var/obj/item/stack/S = O S.amount = produced - + if (istype(O, /obj/item/weapon/storage)) //BubbleWrap - so newly formed boxes are empty for (var/obj/item/I in O) del(I) @@ -148,12 +148,12 @@ 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 <= 0)) //href exploit protection return - + src.produce_recipe(R, multiplier, usr) if (src && usr.machine==src) //do not reopen closed window @@ -189,7 +189,7 @@ return 1 /* - The transfer and split procs work differently than use() and add(). + The transfer and split procs work differently than use() and add(). Whereas those procs take no action if the desired amount cannot be added or removed these procs will try to transfer whatever they can. They also remove an equal amount from the source stack. */ @@ -209,7 +209,10 @@ if (transfer && src.use(transfer)) S.add(transfer) if (prob(transfer/orig_amount * 100)) - S.copy_evidences(src) + transfer_fingerprints_to(S) + if(blood_DNA) + S.blood_DNA |= blood_DNA + //todo bloody overlay return transfer return 0 @@ -217,14 +220,16 @@ /obj/item/stack/proc/split(var/tamount) if (!amount) return null - + var/transfer = max(min(tamount, src.amount, initial(max_amount)), 0) - + var/orig_amount = src.amount if (transfer && src.use(transfer)) var/obj/item/stack/newstack = new src.type(loc, transfer) if (prob(transfer/orig_amount * 100)) - newstack.copy_evidences(src) + transfer_fingerprints_to(newstack) + if(blood_DNA) + newstack.blood_DNA |= blood_DNA return newstack return null @@ -272,13 +277,6 @@ src.interact(usr) else return ..() -/obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj) - src.blood_DNA |= from.blood_DNA - src.fingerprints |= from.fingerprints - src.fingerprintshidden |= from.fingerprintshidden - src.fingerprintslast = from.fingerprintslast - //TODO bloody overlay - /* * Recipe datum */ From cd53ed613cfcf7bd28af84215e321a590944ec3a Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 03:51:47 +1030 Subject: [PATCH 048/282] Fixes #7691 --- code/modules/mob/living/carbon/alien/diona/diona.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index fd5a80de66..fb24023146 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -14,4 +14,13 @@ ..() species = all_species["Diona"] - verbs += /mob/living/carbon/alien/diona/proc/merge \ No newline at end of file + verbs += /mob/living/carbon/alien/diona/proc/merge + +/mob/living/cabon/alien/diona/start_pulling(var/atom/movable/AM) + //TODO: Collapse these checks into one proc (see pai and drone) + if(istype(AM,/obj/item)) + var/obj/item/O = AM + if(O.w_class == 1) + ..() + else + src << "You are too small to pull that." \ No newline at end of file From 29435d8750a58c339356a6b8c787d4fffe8d2767 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 03:56:12 +1030 Subject: [PATCH 049/282] Fixes #7700 --- code/modules/mob/living/carbon/alien/diona/diona.dm | 6 +++++- code/modules/mob/living/simple_animal/simple_animal.dm | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index fb24023146..5ce66b8489 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -23,4 +23,8 @@ if(O.w_class == 1) ..() else - src << "You are too small to pull that." \ No newline at end of file + src << "You are too small to pull that." + +/mob/living/cabon/alien/diona/put_in_hands(var/obj/item/W) // No hands. + W.loc = get_turf(src) + return 1 \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 491d5cdf74..74f6c85eb9 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -372,3 +372,7 @@ message = capitalize(trim_left(message)) ..(message, null, verb) + +/mob/living/simple_animal/put_in_hands(var/obj/item/W) // No hands. + W.loc = get_turf(src) + return 1 \ No newline at end of file From b36b41a2f5f3cd28e5194e948d724ccb3e164c51 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 03:58:43 +1030 Subject: [PATCH 050/282] Fixes #7656 --- code/game/objects/items/weapons/melee/energy.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index e29860dc2c..0de1036209 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -9,6 +9,8 @@ /obj/item/weapon/melee/energy/proc/activate(mob/living/user) anchored = 1 + if(active) + return active = 1 force = active_force throwforce = active_throwforce @@ -19,13 +21,15 @@ /obj/item/weapon/melee/energy/proc/deactivate(mob/living/user) anchored = 0 + if(!active) + return + playsound(user, 'sound/weapons/saberoff.ogg', 50, 1) active = 0 force = initial(force) throwforce = initial(throwforce) sharp = initial(sharp) edge = initial(edge) w_class = initial(w_class) - playsound(user, 'sound/weapons/saberoff.ogg', 50, 1) /obj/item/weapon/melee/energy/attack_self(mob/living/user as mob) if (active) From a23e0aa91f78a1afc47fbfdb95268e76f899c2ae Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 03:59:43 +1030 Subject: [PATCH 051/282] Fixes #7679 --- icons/mob/rig_back.dmi | Bin 6293 -> 6295 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/rig_back.dmi b/icons/mob/rig_back.dmi index 68d802193f10a3d1356367ba0fb4f5cc5c09ae0d..f5fef65c746451d31a44550fc90dcf7111a3a15b 100644 GIT binary patch delta 267 zcmV+m0rdWrF_$rrB!Ag@R9JLGWpiV4X>fFDZ*Bkpc$}4y!Ae6x3`N&7UlH29SnYN; z@`}7g`wNeliEpA#Dw%1Ee!YtdqKKx;z`2)8&Jyl6_u~$R?HG@2P4)^2)>qdtoFw-G z32tvR9JLGWpiV4X>fFDZ*Bkpc$}4yu}%Xq42I|ADXex!6uM?X zSD_o)S2!8RTnvqioInLn&(HyZ5coz*-{;}~)^NAG9}h6>$N0w9bdvzVdS#mFs z;Pxhl!ZMeBIa`3ggQn Date: Fri, 9 Jan 2015 04:05:11 +1030 Subject: [PATCH 052/282] Fixes #7701 --- code/modules/mob/living/carbon/human/human.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a37933f57f..4916d801c3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -946,12 +946,13 @@ // This will ignore any prosthetics in the prefs currently. species.create_organs(src) - for (var/obj/item/organ/brain/H in world) - if(H.brainmob) - if(H.brainmob.real_name == src.real_name) - if(H.brainmob.mind) - H.brainmob.mind.transfer_to(src) - del(H) + if(!client || !key) //Don't boot out anyone already in the mob. + for (var/obj/item/organ/brain/H in world) + if(H.brainmob) + if(H.brainmob.real_name == src.real_name) + if(H.brainmob.mind) + H.brainmob.mind.transfer_to(src) + del(H) for(var/datum/organ/internal/I in internal_organs) I.damage = 0 From 8d2d3302bd764433dd38cf5d79acdad67e491706 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 04:07:08 +1030 Subject: [PATCH 053/282] Fixes #7720 --- code/modules/mob/living/carbon/alien/alien_attacks.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/carbon/alien/alien_attacks.dm b/code/modules/mob/living/carbon/alien/alien_attacks.dm index 4957a2d95f..4285f91c3f 100644 --- a/code/modules/mob/living/carbon/alien/alien_attacks.dm +++ b/code/modules/mob/living/carbon/alien/alien_attacks.dm @@ -31,6 +31,7 @@ M.put_in_active_hand(G) grabbed_by += G + G.affecting = src G.synch() LAssailant = M From 7e0610e31cfcce368562be0e4814b7fbe2138a31 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 04:18:42 +1030 Subject: [PATCH 054/282] Fixes #7684 --- code/modules/mob/living/carbon/alien/diona/diona.dm | 4 ++-- code/modules/mob/mob.dm | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index 5ce66b8489..caa29aec91 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -16,7 +16,7 @@ species = all_species["Diona"] verbs += /mob/living/carbon/alien/diona/proc/merge -/mob/living/cabon/alien/diona/start_pulling(var/atom/movable/AM) +/mob/living/carbon/alien/diona/start_pulling(var/atom/movable/AM) //TODO: Collapse these checks into one proc (see pai and drone) if(istype(AM,/obj/item)) var/obj/item/O = AM @@ -25,6 +25,6 @@ else src << "You are too small to pull that." -/mob/living/cabon/alien/diona/put_in_hands(var/obj/item/W) // No hands. +/mob/living/carbon/alien/diona/put_in_hands(var/obj/item/W) // No hands. W.loc = get_turf(src) return 1 \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 1d0150ecf6..5088f98108 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -844,7 +844,6 @@ note dizziness decrements automatically in the mob's Life() proc. if(stat==2) return 0 if(anchored) return 0 if(monkeyizing) return 0 - if(restrained()) return 0 return 1 //Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it. From aa3c7574caaf050cc7ca958cddd41c2d2f17e9ef Mon Sep 17 00:00:00 2001 From: Tramziller Date: Thu, 8 Jan 2015 19:03:05 +0100 Subject: [PATCH 055/282] Added option to print research levels and researched devices to RD consoles --- code/modules/research/rdconsole.dm | 74 ++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 18 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 3f40be01df..a29fc1dfec 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -122,6 +122,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, C.files.AddDesign2Known(D) C.files.RefreshResearch() + + /obj/machinery/computer/rdconsole/New() ..() files = new /datum/research(src) //Setup the research data holder. @@ -523,9 +525,52 @@ won't update every console in existence) but it's more of a hassle to do. Also, spawn(20) screen = 1.6 updateUsrDialog() + + else if (href_list["print"]) //Print research information + screen = 0.5 + spawn(20) + var/obj/item/weapon/paper/PR = new/obj/item/weapon/paper + if( text2num(href_list["print"]) == 2) + PR.name = "research list" + PR.info = GetResearchListInfo() + else + PR.name = "research levels" + PR.info = GetResearchLevelsInfo() + PR.info_links = PR.info + PR.icon_state = "paper_words" + PR.loc = src.loc + spawn(10) + screen = ((text2num(href_list["print"]) == 2) ? 5.0 : 1.1) + updateUsrDialog() + updateUsrDialog() return +/obj/machinery/computer/rdconsole/proc/GetResearchLevelsInfo() + var/dat + dat += "Current Research Levels:

" + dat += "
    " + for(var/datum/tech/T in files.known_tech) + dat += "
  • " + dat += "[T.name]" + dat += "
      " + dat += "
    • Level: [T.level]" + dat += "
    • Summary: [T.desc]" + dat += "
    " + return dat + +/obj/machinery/computer/rdconsole/proc/GetResearchListInfo() + var/dat + dat += "List of Researched Technologies and Designs:" + dat += "
      " + for(var/datum/design/D in files.known_designs) + if(D.build_path) + dat += "
    • [D.name]: [D.desc]" + dat += "
    " + return dat + + + /obj/machinery/computer/rdconsole/attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) return @@ -570,6 +615,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(0.4) dat += "Imprinting Circuit. Please Wait..." + if(0.5) + dat += "Printing Research Information. Please Wait..." + if(1.0) //Main Menu dat += "Main Menu:

    " dat += "Loaded disk: " @@ -593,16 +641,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "
" if(1.1) //Research viewer - dat += "Main Menu
" - dat += "Current Research Levels:

" - dat += "
    " - for(var/datum/tech/T in files.known_tech) - dat += "
  • " - dat += "[T.name]" - dat += "
      " - dat += "
    • Level: [T.level]" - dat += "
    • Summary: [T.desc]" - dat += "
    " + dat += "Main Menu || " + dat += "Print This Page
    " + dat += GetResearchLevelsInfo() dat += "
" if(1.2) //Technology Disk Menu @@ -897,18 +938,15 @@ won't update every console in existence) but it's more of a hassle to do. Also, ///////////////////Research Information Browser//////////////////// if(5.0) - dat += "Main Menu
" - dat += "List of Researched Technologies and Designs:" - dat += "
    " - for(var/datum/design/D in files.known_designs) - if(D.build_path) - dat += "
  • [D.name]: [D.desc]" - dat += "
" - + dat += "Main Menu || " + dat += "Print This Page
" + dat += GetResearchListInfo() user << browse("Research and Development Console
[dat]", "window=rdconsole;size=850x600") onclose(user, "rdconsole") + + /obj/machinery/computer/rdconsole/robotics name = "Robotics R&D Console" id = 2 From a01592d5b75fb2127b83fbe0ce6743ebcd3493bf Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 06:25:27 +1030 Subject: [PATCH 056/282] Fixes #7740 --- code/modules/organs/organ_external.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index f6d5de69cb..0882531ab6 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -769,7 +769,7 @@ Note that amputating the affected organ does in fact remove the infection from t return 0 //ORGAN_BROKEN doesn't have the same meaning for robot limbs if(brute_dam > min_broken_damage * config.organ_health_multiplier) return 0 //will just immediately fracture again - + status &= ~ORGAN_BROKEN return 1 @@ -1131,7 +1131,9 @@ obj/item/weapon/organ/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/hemostat)) if(contents.len) var/obj/item/removing = pick(contents) - removing.loc = src.loc + removing.loc = get_turf(user.loc) + if(!(user.l_hand && user.r_hand)) + user.put_in_hands(removing) if(istype(removing,/obj/item/organ)) var/obj/item/organ/removed_organ = removing organs_internal -= removed_organ.organ_data From a4fca84e3eb9ac76c6b9ae8513d56f436e488215 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 06:44:09 +1030 Subject: [PATCH 057/282] Fixes #7726 --- code/modules/mob/dead/observer/observer.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 362d3827ba..c2f7adc171 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -557,8 +557,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(src.invisibility != 0) user.visible_message( \ - "[user] drags ghost, [src], to our plan of reality!", \ - "You drag [src] to our plan of reality!" \ + "[user] drags ghost, [src], to our plane of reality!", \ + "You drag [src] to our plane of reality!" \ ) toggle_visibility(1) else From 7c88b5440485a75f010d8743243313b77a5a20a3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 07:08:02 +1030 Subject: [PATCH 058/282] Fixes #7722 --- code/modules/mob/living/carbon/human/say.dm | 76 ++++++++++--------- .../mob/living/carbon/human/whisper.dm | 31 ++++---- 2 files changed, 57 insertions(+), 50 deletions(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 7201cfc8e4..3f89f5b230 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -12,8 +12,14 @@ message = trim_strip_html_properly(message) - if(stat == 2) - return say_dead(message) + if(stat) + if(stat == 2) + return say_dead(message) + return + + if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle)) + src << "You're muzzled and cannot speak!" + return var/message_mode = parse_message_mode(message, "headset") @@ -52,9 +58,6 @@ if(ending=="?") verb="asks" - if (istype(wear_mask, /obj/item/clothing/mask/muzzle)) - return - message = trim(message) if(speech_problem_flag) @@ -63,7 +66,7 @@ verb = handle_r[2] speech_problem_flag = handle_r[3] - if(!message || stat) + if(!message || message == "") return var/list/obj/item/used_radios = new @@ -265,45 +268,46 @@ return verb /mob/living/carbon/human/proc/handle_speech_problems(var/message) + var/list/returns[3] var/verb = "says" var/handled = 0 - if(silent) + if(silent || (sdisabilities & MUTE)) message = "" handled = 1 - if(sdisabilities & MUTE) - message = "" - handled = 1 - if(wear_mask) - if(istype(wear_mask, /obj/item/clothing/mask/horsehead)) - var/obj/item/clothing/mask/horsehead/hoers = wear_mask - if(hoers.voicechange) - if(mind && mind.changeling && department_radio_keys[copytext(message, 1, 3)] != "changeling") - message = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") - verb = pick("whinnies","neighs", "says") - handled = 1 + if(istype(wear_mask, /obj/item/clothing/mask/horsehead)) + var/obj/item/clothing/mask/horsehead/hoers = wear_mask + if(hoers.voicechange) + if(mind && mind.changeling && department_radio_keys[copytext(message, 1, 3)] != "changeling") + message = pick("NEEIIGGGHHHH!", "NEEEIIIIGHH!", "NEIIIGGHH!", "HAAWWWWW!", "HAAAWWW!") + verb = pick("whinnies","neighs", "says") + handled = 1 - if((HULK in mutations) && health >= 25 && length(message)) - message = "[uppertext(message)]!!!" - verb = pick("yells","roars","hollers") - handled = 1 - if(slurring) - message = slur(message) - verb = pick("stammers","stutters") - handled = 1 - - var/braindam = getBrainLoss() - if(braindam >= 60) - handled = 1 - if(prob(braindam/4)) + if(message != "") + if((HULK in mutations) && health >= 25 && length(message)) + message = "[uppertext(message)]!!!" + verb = pick("yells","roars","hollers") + handled = 1 + if(slurring) + message = slur(message) + verb = pick("slobbers","slurs") + handled = 1 + if(stuttering) message = stutter(message) - verb = pick("stammers", "stutters") - if(prob(braindam)) - message = uppertext(message) - verb = pick("yells like an idiot","says rather loudly") + verb = pick("stammers","stutters") + handled = 1 + + var/braindam = getBrainLoss() + if(braindam >= 60) + handled = 1 + if(prob(braindam/4)) + message = stutter(message) + verb = pick("stammers", "stutters") + if(prob(braindam)) + message = uppertext(message) + verb = "yells loudly" returns[1] = message returns[2] = verb returns[3] = handled - return returns diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index 0c6b9e147f..0c9882b215 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -5,7 +5,7 @@ if(say_disabled) //This is here to try to identify lag problems usr << "\red Speech is currently admin-disabled." return - + message = trim_strip_html_properly(message) log_whisper("[src.name]/[src.key] : [message]") @@ -36,6 +36,11 @@ //This is used by both the whisper verb and human/say() to handle whispering /mob/living/carbon/human/proc/whisper_say(var/message, var/datum/language/speaking = null, var/alt_name="", var/verb="whispers") + + if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle)) + src << "You're muzzled and cannot speak!" + return + var/message_range = 1 var/eavesdropping_range = 2 var/watching_range = 5 @@ -55,17 +60,19 @@ message = capitalize(trim(message)) - //TODO: handle_speech_problems for silent - if (!message || silent || miming) - return + if(speech_problem_flag) + var/list/handle_r = handle_speech_problems(message) + message = handle_r[1] + verb = handle_r[2] + if(verb == "yells loudly") + verb = "slurs emphatically" + else + var/adverb = pick("quietly", "softly") + verb = "[verb] [adverb]" - // Mute disability - //TODO: handle_speech_problems - if (src.sdisabilities & MUTE) - return + speech_problem_flag = handle_r[3] - //TODO: handle_speech_problems - if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle)) + if(!message || message=="") return //looks like this only appears in whisper. Should it be elsewhere as well? Maybe handle_speech_problems? @@ -102,10 +109,6 @@ message = replacetext(message, "u", "µ") message = replacetext(message, "b", "ß") - //TODO: handle_speech_problems - if (src.stuttering) - message = stutter(message) - var/list/listening = hearers(message_range, src) listening |= src From 11ff17463699867aabae5dbbf58143d3a1b58d7f Mon Sep 17 00:00:00 2001 From: Tramziller Date: Thu, 8 Jan 2015 22:26:31 +0100 Subject: [PATCH 059/282] Old link was replaced by new one --- code/game/objects/items/weapons/manuals.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index b301a77e76..fa4dd16146 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -749,7 +749,7 @@ - + From 683c8b50a828411d954e3f72ed84ae98609bdd16 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 07:53:57 +1030 Subject: [PATCH 060/282] Fixes #7702 --- .../mob/living/carbon/human/inventory.dm | 169 +++++++----------- 1 file changed, 69 insertions(+), 100 deletions(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index f9bc6ee4ff..545fa41c03 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -417,8 +417,55 @@ for(var/mob/O in viewers(target, null)) O.show_message("\red [source] is trying to put \a [item] on [target]", 1) else - var/message=null + + var/target_part = null + var/obj/item/target_item = null + var/message = null + switch(place) + if("mask") + target_part = "head" + target_item = target.wear_mask + if("l_hand") + target_part = "left hand" + target_item = target.l_hand + if("r_hand") + target_part = "right hand" + target_item = target.r_hand + if("gloves") + target_part = "hands" + target_item = target.gloves + if("eyes") + target_part = "eyes" + target_item = target.glasses + if("l_ear") + target_part = "left ear" + target_item = target.l_ear + if("r_ear") + target_part = "right ear" + target_item = target.r_ear + if("head") + target_part = "head" + target_item = target.head + if("shoes") + target_part = "feet" + target_item = target.shoes + if("belt") + target_part = "waist" + target_item = target.belt + if("suit") + target_part = "body" + target_item = target.wear_suit + if("back") + target_part = "back" + target_item = target.back + if("s_store") + target_part = "suit" + target_item = target.s_store + if("id") + target_part = "uniform" + target_item = target.wear_id + if("syringe") message = "\red [source] is trying to inject [target]!" if("pill") @@ -427,86 +474,17 @@ message = "\red [source] is trying to force [target] to swallow a gulp of [item]!" if("dnainjector") message = "\red [source] is trying to inject [target] with the [item]!" - if("mask") - target.attack_log += text("\[[time_stamp()]\] Had their mask removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) mask") - if(target.wear_mask && !target.wear_mask.canremove) - message = "\red [source] fails to take off \a [target.wear_mask] from [target]'s head!" + if("uniform") + target.attack_log += text("\[[time_stamp()]\] Has had their uniform ([target.w_uniform]) removed by [source.name] ([source.ckey])") + source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) uniform ([target.w_uniform])") + if(target.w_uniform && !target.w_uniform.canremove) + message = "\red [source] fails to take off \a [target.w_uniform] from [target]'s body!" return else - message = "\red [source] is trying to take off \a [target.wear_mask] from [target]'s head!" - if("l_hand") - target.attack_log += text("\[[time_stamp()]\] Has had their left hand item ([target.l_hand]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) left hand item ([target.l_hand])") - message = "\red [source] is trying to take off \a [target.l_hand] from [target]'s left hand!" - if("r_hand") - target.attack_log += text("\[[time_stamp()]\] Has had their right hand item ([target.r_hand]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) right hand item ([target.r_hand])") - message = "\red [source] is trying to take off \a [target.r_hand] from [target]'s right hand!" - if("gloves") - target.attack_log += text("\[[time_stamp()]\] Has had their gloves ([target.gloves]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) gloves ([target.gloves])") - if(target.gloves && !target.gloves.canremove) - message = "\red [source] fails to take off \a [target.gloves] from [target]'s hands!" - return - else - message = "\red [source] is trying to take off the [target.gloves] from [target]'s hands!" - if("eyes") - target.attack_log += text("\[[time_stamp()]\] Has had their eyewear ([target.glasses]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) eyewear ([target.glasses])") - if(target.glasses && !target.glasses.canremove) - message = "\red [source] fails to take off \a [target.glasses] from [target]'s eyes!" - return - else - message = "\red [source] is trying to take off the [target.glasses] from [target]'s eyes!" - if("l_ear") - target.attack_log += text("\[[time_stamp()]\] Has had their left ear item ([target.l_ear]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) left ear item ([target.l_ear])") - if(target.l_ear && !target.l_ear.canremove) - message = "\red [source] fails to take off \a [target.l_ear] from [target]'s left ear!" - return - else - message = "\red [source] is trying to take off the [target.l_ear] from [target]'s left ear!" - if("r_ear") - target.attack_log += text("\[[time_stamp()]\] Has had their right ear item ([target.r_ear]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) right ear item ([target.r_ear])") - if(target.r_ear && !target.r_ear.canremove) - message = "\red [source] fails to take off \a [target.r_ear] from [target]'s right ear!" - return - else - message = "\red [source] is trying to take off the [target.r_ear] from [target]'s right ear!" - if("head") - target.attack_log += text("\[[time_stamp()]\] Has had their hat ([target.head]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) hat ([target.head])") - if(target.head && !target.head.canremove) - message = "\red [source] fails to take off \a [target.head] from [target]'s head!" - return - else - message = "\red [source] is trying to take off the [target.head] from [target]'s head!" - if("shoes") - target.attack_log += text("\[[time_stamp()]\] Has had their shoes ([target.shoes]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) shoes ([target.shoes])") - if(target.shoes && !target.shoes.canremove) - message = "\red [source] fails to take off \a [target.shoes] from [target]'s feet!" - return - else - message = "\red [source] is trying to take off the [target.shoes] from [target]'s feet!" - if("belt") - target.attack_log += text("\[[time_stamp()]\] Has had their belt item ([target.belt]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) belt item ([target.belt])") - message = "\red [source] is trying to take off the [target.belt] from [target]'s belt!" - if("suit") - target.attack_log += text("\[[time_stamp()]\] Has had their suit ([target.wear_suit]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) suit ([target.wear_suit])") - if(target.wear_suit && !target.wear_suit.canremove) - message = "\red [source] fails to take off \a [target.wear_suit] from [target]'s body!" - return - else - message = "\red [source] is trying to take off \a [target.wear_suit] from [target]'s body!" - if("back") - target.attack_log += text("\[[time_stamp()]\] Has had their back item ([target.back]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) back item ([target.back])") - message = "\red [source] is trying to take off \a [target.back] from [target]'s back!" + message = "\red [source] is trying to take off \a [target.w_uniform] from [target]'s body!" + for(var/obj/item/I in list(target.l_store, target.r_store)) + if(I.on_found(source)) + return if("handcuff") target.attack_log += text("\[[time_stamp()]\] Was unhandcuffed by [source.name] ([source.ckey])") source.attack_log += text("\[[time_stamp()]\] Attempted to unhandcuff [target.name]'s ([target.ckey])") @@ -515,17 +493,6 @@ target.attack_log += text("\[[time_stamp()]\] Was unlegcuffed by [source.name] ([source.ckey])") source.attack_log += text("\[[time_stamp()]\] Attempted to unlegcuff [target.name]'s ([target.ckey])") message = "\red [source] is trying to unlegcuff [target]!" - if("uniform") - target.attack_log += text("\[[time_stamp()]\] Has had their uniform ([target.w_uniform]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) uniform ([target.w_uniform])") - for(var/obj/item/I in list(target.l_store, target.r_store)) - if(I.on_found(source)) - return - if(target.w_uniform && !target.w_uniform.canremove) - message = "\red [source] fails to take off \a [target.w_uniform] from [target]'s body!" - return - else - message = "\red [source] is trying to take off \a [target.w_uniform] from [target]'s body!" if("tie") var/obj/item/clothing/under/suit = target.w_uniform target.attack_log += text("\[[time_stamp()]\] Has had their accessory ([suit.hastie]) removed by [source.name] ([source.ckey])") @@ -537,10 +504,6 @@ return else message = "\red [source] is trying to take off \a [suit.hastie] from [target]'s suit!" - if("s_store") - target.attack_log += text("\[[time_stamp()]\] Has had their suit storage item ([target.s_store]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) suit storage item ([target.s_store])") - message = "\red [source] is trying to take off \a [target.s_store] from [target]'s suit!" if("pockets") target.attack_log += text("\[[time_stamp()]\] Has had their pockets emptied by [source.name] ([source.ckey])") source.attack_log += text("\[[time_stamp()]\] Attempted to empty [target.name]'s ([target.ckey]) pockets") @@ -553,10 +516,6 @@ del(src) target.cpr_time = 0 message = "\red [source] is trying perform CPR on [target]!" - if("id") - target.attack_log += text("\[[time_stamp()]\] Has had their ID ([target.wear_id]) removed by [source.name] ([source.ckey])") - source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) ID ([target.wear_id])") - message = "\red [source] is trying to take off [target.wear_id] from [target]'s uniform!" if("internal") target.attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [source.name] ([source.ckey])") source.attack_log += text("\[[time_stamp()]\] Attempted to toggle [target.name]'s ([target.ckey]) internals") @@ -575,8 +534,18 @@ return message = "\red [source] is trying to set [target]'s suit sensors!" - for(var/mob/M in viewers(target, null)) - M.show_message(message, 1) + if(target_item) + target.attack_log += text("\[[time_stamp()]\] Had their [target_item] removed by [source.name] ([source.ckey])") + source.attack_log += text("\[[time_stamp()]\] Attempted to remove [target.name]'s ([target.ckey]) [target_item]") + + if(target_item.canremove) + message = "[source] is trying to take off \a [target_item] from [target]'s [target_part]!" + else + source.visible_message("[source] fails to take off \a [target_item] from [target]'s [target_part]!") + return + + source.visible_message(message) + spawn( HUMAN_STRIP_DELAY ) done() return From f43f58380c74c3f123dbc2dd3e753b391436c575 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 08:26:53 +1030 Subject: [PATCH 061/282] Fixes #7703 --- code/modules/surgery/implant.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index bb7d25046a..32546da143 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -198,12 +198,13 @@ if(worm.controlling) target.release_control() worm.detatch() - - obj.loc = get_turf(target) - if(istype(obj,/obj/item/weapon/implant)) - var/obj/item/weapon/implant/imp = obj - imp.imp_in = null - imp.implanted = 0 + worm.leave_host() + else + obj.loc = get_turf(target) + if(istype(obj,/obj/item/weapon/implant)) + var/obj/item/weapon/implant/imp = obj + imp.imp_in = null + imp.implanted = 0 else user.visible_message("\blue [user] removes \the [tool] from [target]'s [affected.display_name].", \ "\blue There's something inside [target]'s [affected.display_name], but you just missed it this time." ) From fd311a412fc423984eb41dd95e969f45077b2ed0 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 08:58:11 +1030 Subject: [PATCH 062/282] Fixes #7742. --- code/modules/clothing/spacesuits/rig/rig.dm | 14 +++++--- code/modules/surgery/other.dm | 40 +++++++++++++++++++++ 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index ca17213bbb..dd0d073cd2 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -169,6 +169,16 @@ return 0 return 1 +/obj/item/weapon/rig/proc/reset() + offline = 2 + canremove = 1 + for(var/obj/item/piece in list(helmet,boots,gloves,chest)) + if(!piece) continue + piece.icon_state = "[initial(icon_state)]" + piece.flags &= ~STOPSPRESSUREDMAGE + piece.flags &= ~AIRTIGHT + update_icon(1) + /obj/item/weapon/rig/proc/toggle_seals(var/mob/living/carbon/human/M,var/instant) if(sealing) return @@ -281,10 +291,6 @@ piece.flags |= AIRTIGHT update_icon(1) - if(instant && air_supply) - wearer.internals = air_supply - wearer.internals.icon_state = "internal1" - /obj/item/weapon/rig/process() // If we've lost any parts, grab them back. diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index ccd9d388e2..c954c16de6 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -169,3 +169,43 @@ "\red Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.display_name] with the [tool]!") //no damage or anything, just wastes medicine + +/datum/surgery_step/hardsuit + allowed_tools = list( + /obj/item/weapon/weldingtool = 80, + /obj/item/weapon/circular_saw = 60, + /obj/item/weapon/pickaxe/plasmacutter = 100 + ) + + can_infect = 0 + blood_level = 0 + + min_duration = 120 + max_duration = 180 + + can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(!istype(target)) + return 0 + if(istype(tool,/obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/welder = tool + if(!welder.isOn()) + return 0 + return (target_zone == "chest") && istype(target.back, /obj/item/weapon/rig) && !(target.back.canremove) + + begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user] starts cutting through the support systems of [target]'s [target.back] with \the [tool]." , \ + "You start cutting through the support systems of [target]'s [target.back] with \the [tool].") + ..() + + end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + + var/obj/item/weapon/rig/rig = target.back + if(!istype(rig)) + return + rig.reset() + user.visible_message("[user] has cut through the support systems of [target]'s [rig] with \the [tool].", \ + "You have cut through the support systems of [target]'s [rig] with \the [tool].") + + fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user]'s [tool] can't quite seem to get through the metal...", \ + "Your [tool] can't quite seem to get through the metal. It's weakening, though - try again.") \ No newline at end of file From 5bbe1ecaa80897b0e69211184111929e38fd5173 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 08:59:38 +1030 Subject: [PATCH 063/282] Amends nymph pulling fix to add higher w_class. Adds fail messages to pAI and nymphs trying to drag non-items. --- code/modules/mob/living/carbon/alien/diona/diona.dm | 10 +++++++--- code/modules/mob/living/silicon/pai/pai.dm | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index caa29aec91..5faeadbdcc 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -20,10 +20,14 @@ //TODO: Collapse these checks into one proc (see pai and drone) if(istype(AM,/obj/item)) var/obj/item/O = AM - if(O.w_class == 1) - ..() - else + if(O.w_class > 2) src << "You are too small to pull that." + return + else + ..() + else + src << "You are too small to pull that." + return /mob/living/carbon/alien/diona/put_in_hands(var/obj/item/W) // No hands. W.loc = get_turf(src) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 10de649a79..a334809a37 100755 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -390,6 +390,9 @@ ..() else src << "You are too small to pull that." + else + src << "You are too small to pull that." + return // No binary for pAIs. /mob/living/silicon/pai/binarycheck() From a2e30b4ee9599f2f478e39c9da33b374b06e085b Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 09:12:31 +1030 Subject: [PATCH 064/282] Addresses #7744 --- html/changelog.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index c5c115f383..b534169136 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,15 @@ should be listed in the changelog upon commit though. Thanks. --> +
+

1 September 2015

+

updated:

+
    +
  • Voice changers no longer use ID cards. They have Toggle and Set Voice verbs on the actual mask object now.
  • +
+
+ +

22 November 2014

Zuhayr updated:

From 8fa2fdb51bc7437005d35e4200cd3b3855f1ca70 Mon Sep 17 00:00:00 2001 From: Amunak Date: Fri, 9 Jan 2015 03:56:58 +0100 Subject: [PATCH 065/282] Reverted "say" error helper Commented out the "say error helper" before we have a better implementation or before it can at least be toggleable. Current state doesn't fit way too many edge casess. --- code/modules/mob/say.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 532ffd4f2d..998c241498 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -13,6 +13,7 @@ usr << "\red Speech is currently admin-disabled." return //Let's try to make users fix their errors - we try to detect single, out-of-place letters and 'unintended' words + /* var/first_letter = copytext(message,1,2) if((copytext(message,2,3) == " " && first_letter != "I" && first_letter != "A" && first_letter != ";") || cmptext(copytext(message,1,5), "say ") || cmptext(copytext(message,1,4), "me ") || cmptext(copytext(message,1,6), "looc ") || cmptext(copytext(message,1,5), "ooc ") || cmptext(copytext(message,2,6), "say ")) var/response = alert(usr, "Do you really want to say this using the *say* verb?\n\n[message]\n", "Confirm your message", "Yes", "Edit message", "No") @@ -22,6 +23,7 @@ return else if(response == "No") return + */ set_typing_indicator(0) usr.say(message) From 69da785b3c992f662fbd899cfefd731795fddcc9 Mon Sep 17 00:00:00 2001 From: sirbayer Date: Thu, 8 Jan 2015 22:53:47 -0800 Subject: [PATCH 066/282] Fixes combat borg icon state breaking and turning borgs invisible; adds some modularity to the general borg icon_state situation. --- .../modules/mob/living/silicon/robot/robot.dm | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 3db1a97d7e..9ebd8a6687 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -23,6 +23,11 @@ var/list/robot_verbs_default = list( var/integrated_light_power = 6 var/datum/wires/robot/wires +//Icon stuff + + var/icontype //Persistent icontype tracking allows for cleaner icon updates + var/module_sprites[0] //Used to store the associations between sprite names and sprite index. + //Hud stuff var/obj/screen/cells = null @@ -109,6 +114,8 @@ var/list/robot_verbs_default = list( robot_modules_background.icon_state = "block" robot_modules_background.layer = 19 //Objects that appear on screen are on layer 20, UI should be just below it. ident = rand(1, 999) + module_sprites["Basic"] = "robot" + icontype = "Default" updatename("Default") updateicon() @@ -208,11 +215,10 @@ var/list/robot_verbs_default = list( modules+="Combat" modtype = input("Please, select a module!", "Robot", null, null) in modules - var/module_sprites[0] //Used to store the associations between sprite names and sprite index. - if(module) return + module_sprites = list() switch(modtype) if("Standard") module = new /obj/item/weapon/robot_module/standard(src) @@ -966,7 +972,7 @@ var/list/robot_verbs_default = list( if(stat == 0) overlays += "eyes" overlays.Cut() - overlays += "eyes-[icon_state]" + overlays += "eyes-[module_sprites[icontype]]" else overlays -= "eyes" @@ -987,15 +993,13 @@ var/list/robot_verbs_default = list( overlays += "ov-openpanel -c" if(module_active && istype(module_active,/obj/item/borg/combat/shield)) - overlays += "[icon_state]-shield" + overlays += "[module_sprites[icontype]]-shield" if(modtype == "Combat") - var/base_icon = "" - base_icon = icon_state if(module_active && istype(module_active,/obj/item/borg/combat/mobility)) - icon_state = "[icon_state]-roll" + icon_state = "[module_sprites[icontype]]-roll" else - icon_state = base_icon + icon_state = module_sprites[icontype] return //Call when target overlay should be added/removed @@ -1228,8 +1232,6 @@ var/list/robot_verbs_default = list( else triesleft-- - var/icontype - if (custom_sprite == 1) icontype = "Custom" triesleft = 0 From 7a760298af5f9071b1c3dbde0560403500046161 Mon Sep 17 00:00:00 2001 From: sirbayer Date: Fri, 9 Jan 2015 18:17:51 -0800 Subject: [PATCH 067/282] Further repairs borg updateicon() code for improved modularity. --- .../modules/mob/living/silicon/robot/robot.dm | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 8c6044d4ef..c928cdd3a5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -964,27 +964,16 @@ var/list/robot_verbs_default = list( overlays.Cut() if(stat == 0) - overlays += "eyes" - overlays.Cut() overlays += "eyes-[module_sprites[icontype]]" - else - overlays -= "eyes" - - if(opened && custom_sprite == 1) //Custom borgs also have custom panels, heh - if(wiresexposed) - overlays += "[src.ckey]-openpanel +w" - else if(cell) - overlays += "[src.ckey]-openpanel +c" - else - overlays += "[src.ckey]-openpanel -c" if(opened) + var/panelprefix = custom_sprite ? src.ckey : "ov" if(wiresexposed) - overlays += "ov-openpanel +w" + overlays += "[panelprefix]-openpanel +w" else if(cell) - overlays += "ov-openpanel +c" + overlays += "[panelprefix]-openpanel +c" else - overlays += "ov-openpanel -c" + overlays += "[panelprefix]-openpanel -c" if(module_active && istype(module_active,/obj/item/borg/combat/shield)) overlays += "[module_sprites[icontype]]-shield" @@ -1306,4 +1295,4 @@ var/list/robot_verbs_default = list( if(2) //New Module connected_ai << "

NOTICE - [braintype] module change detected: [name] has loaded the [module.name].
" if(3) //New Name - connected_ai << "

NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
" + connected_ai << "

NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
" From 034d78e8e38dfe0a132f1aeb2bfe25dc4846dd8c Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Fri, 9 Jan 2015 18:27:01 -0800 Subject: [PATCH 068/282] cleans up the custom-synthetic file --- icons/mob/custom-synthetic.dmi | Bin 315240 -> 238261 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/custom-synthetic.dmi b/icons/mob/custom-synthetic.dmi index a82446462f7cb9435d85103b9ca2e83392a946d9..352567812558806ae4c0a5df51c6ba30ea1e1bbc 100644 GIT binary patch literal 238261 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

$5%bj8 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�K`_&FW9e6dsloIq@IMs!R(NBv2 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ÐzVCfs3$XBv*DI)k*0c;uAmU&=)4rsgPc!AI zOyj7*%oMWctJXaXPyab$XT}ou^T_@$&D2Y6BTz~h$aqCImrKyfL~7RrPZ2&^tVyNw zcF>Dj6L!jSQZp0 zFsY0)`vC7UC_B!qiYKbDH@Fb~qC0$^eD=afW6KNSvOm0ETe=}Z3C$6yUn>(*sZXCj z-jvQb7W{yW7DGnCZ|S2iw6M~WH%(8y>CUb$L~}A5N zlOV(FcrdR5np)e#=?VIVcf;LLQD(k{HCnH*{a1Z1hy?w>#`^V1tH@$7^DNYLPU52q zdyD)tvkN*%gkw%Qu0}wK6L^7O4)ynEWO^o-T0Z$mgf0=pxIJ$5tiFdf?U;IK`Tj?u z02bm%c%icCsaWN5V9x5YLOcj~7NYpxNVcqfuk^Yiss|oRWR1R*;}c;o;X7cO%Yj4> zJ3D{QjR_LiKv%R4A)_F@W^TgsW$MM?hzTmxnJ9Q4}~@5RW17m23Dsf)GO%R zxTD~qRcj!cefH>Lc(e^6^I-)$*oUONb+je=jU;vHk5_wH{KnAVihH?AdWnoj<1ZhB zAGH!y5?L;4D@tNP&b@_?=jM_=lVUVw4fCmqa9&iC98yAe;opp7mH4*@ouKs4lfXjG z*M5taNk7izF9k&93Y0&r2rrPjTsU^r;`gZhIvCe{!yv(ebuBC$M+%AD?ChBMjeoHu z+lENPzH@z(SCbo16B~5Hn1ulec^8+J5D22Pv5AFmSHrP4WTItu9YZ#A*(~aod!d=X)-ILv?U-|d6{yLs`<^;~>X)YVeS7uw#wPPht$u|BW~g?ndRJyf z0svQRH`I+t{W$S>gLnEY9D;YUK}5$cpZ!{Lyap*)M~N!Da(90y#i0&KTRI)NCSdrdZAkWZIUr1;}gN(j;hdkVid;!NGHUQRzFq^Ex!9VQ84m-(i4o+)#hU)7YMmPUDbd7$|!+6k1eQxQwu z46ifyjq;-rQ-_T>HXDQtE0d`i{*w7c`XqDnU=p3n7X8CpqMyazF0613X0j3iy!+d@ z2mzG+@cWiJX$gOJphJf1OSbqn4iX`lcbV+kn`?Xf7o8b60|(*zsn}lk4Zgg_iUN(XACX4tv)Ydz(nh+E$*uThF4l?_0N8n#$ykmx-Jo z7|=V`18AqUQl!$yWjdM+;LeB67=v~aXU};n-*U6vuA&wcW^IS$D0+2$dvpiu`+L^e$hqq6V7%G>s(6 z2`~~_zs}&Yggr2^f1IE4Me=P7t%y0gG-W*@7Db80|`if8Uw+GLfRZ zRedESCdE(nMQINpW4ISwy9Nx6NtWV1r-KJ(nVmNwGS*CP}{&FkMIS)tBY;rGp z2lL9afxyV)4(ktlF0_&xgMkJ-1QEj!9MtAMZ5GgF1eM`P`U%80X-Tv|Y4n-5(vrVq zo@A~ik^cg)b7Dx_N=W(2Mm3`{|LVwU$m~kU{K|%d>VwBhWKbCy4AA%hXjRa`;Ll=t zD`vYgP$f0LzcZUJY^?L3nvAR|Xbr4JV3ClFYi-qpZ<_3P;!k_pQJ2>CCvYq^>^^DI z_!2dBIQwe%vB_IsWdd67Pe?`ymQeDDCyb0}fJ{^?Ei1C~y1i+EQ=hfwus&P%vm51a zL_VF;p2HrZ6(lWD^0&A+I3P@uRPq!abjYQMi4MxWcXA2v@Y{5nsMGTT(OYdu{nFg_|U>qc>S6YYkYQ%bmshXK;t`9UrbDV zCYFMPY#lU8hs*B%ZwuA@h#@E+FM8Jcq6}oa?j?<3eTumrdCo$HQB&dKDl^L6tac*p zw=jSXG5$j2m-0DEk(b?C{uY}BHI(BPqK8Gk~|M`iEo}Hb3jZzwAVAy-3*UbxI z(0Oq|?{egjdMbEX69_Pe-;?muKYQtA&HF08Fqu{Xhg)xET_J=}I%t=^7LrU&?c}*R zS0Wz70s+ypATANNC1!e$FouwDembFaIZdBJ*vmI;cjn8{iOA>UOsptKJ@)c)ll)u; ziBts%V;M)1QtFosqY;EtFO*=$cuvvO>b7kNowMhgsf^k7baXP=U=QB^-#2ijcJdPo zVudAKg4$P^(hM>0$&tbO;-j1QIQD5JtrPP1^au8yz-~Sb%7NTnQ*PbDDV|ICm7SB}0|k z*4vcF=-GT7BU{jye~3ox6UHD1D?7Mi!*H*~wW1ex-z_b)tpAOl1qpqN%g|6Iv0WJl z?}N+JldyFeStyY)s#-f44l01u^z>qbvWA#&Dm>2Iu9dT%xS-;pbi`dhPNS1H^Za*> z1TK)iyM*pu9|e;b&&Kf*7uTZTagpLVh33l#-r`bEPDsTIsclu3dLMQ^R42B?wr&Zw z=tVM$U(ktch`P7@7_%hmPx_JVR+yh*(#Y9NcxU$HH<7Z*ux?EkGuNj}&WbEH-gSn}K^DvI10hV$5)y&}$)Sgf{fak2gVX z=_HPm2e2o2tY;x*L7o9|J*;(f*@^`AB&hOQpBQ$x|EDpUXU$Jra)vp8gRusv3Khi% zHQz^fa!sJ+cz9h6Muu}-H%Io@8WMygC|~B#(E8O=r}ybWw~G;8KQ$fZ)%9<=tcs-4 z=f{O_+6%?_nb1L@7Hgt{OIq6Ql85x(4NV@h?*!2h=*>~0 zwRHG2TmkHX^wmQE{}istz*J&zdh4P|hwnbhZ7vR+66a93xxXk{N+OP4dYX6^O?|)t zLZM=~){tY)I$AxXkR5LV36L+-r52x~qhl%1iM-F-|MU5r*VWaLG^uiQSQ{X_T3J~O z1c(E;N|OlKdkW?f`RO}uHmO?58c3>nOg`jez83%e1E6Wj?1o*(n;~n=E*X1Y8TJ|1 zfFcqOaQ<}-4JX|aPoKV8I~LSLlD#XrwkQD|0>~Wg#t*co^LiK4&uh_>ah;9r-i3h8 zrjn81j*VkI16JCm=5l@Qo*RdFi9usb@%N;W4El%j2^o3w1p8B7e-_mVfoYGwRdgLv zNv{V%7R9HvjZVVQqcUh~aDz3@qK9eZq70<048alu|N%(F$u#-{LkEc>3uDqLUA$hR} zpwVAVOZzh<=Nptio^Z|iZ2LScagsBCfD{xYhTal|WN`P4|3sFfj{tjBtm8CDo+7n+ z{P>kj5hXL<11%5ry&Hw@cXbV6L|@kqu&bFr-Hf_nKm1B$+Fo16AUgNK`JsY#v60sLknnaH!~y`}0MehB_a1@P;7>w$Hf&El2qfKLoI#=1 zN+DHczzH{96l1)-?R@zhNgCx$eg_+q1&)=CuKs8T$lo}-gS=9bS!#N+P*FXa`y+oR)K)byV zu`fXNkKp3;uLf_}T34X6ycu9PT2$~Q#3kqKqV5Y^X)$`fh3BpU%@F;C12w2_I(&#n zA^8j1ha8?j*>0=L=G?Otrg_e0*aNXlny2)qf}fT;_T6RiubWDpZfMn92XF)-O=mlL zt~8MAx~*4ti2g~3c%GVHaQ3^DV}(1$z=;mNP7x!uxgHNv#9s9Ttk`?e4pq>b5Z*sd zUKgHj@~l+eZ{^*fQ0%1LoFe{|dRyNDY#W3S>qaqV)m?;cD7?Ozx?eToIT7*J z`Jwu@o4bW4QFRbM3?DvdGX^1F!StJIRV-Lld2-?iJU^rPZuwgF2{l`vV24lfeOf+t z2^v)B;OO2^Gz({{!j(Th?eN!Y71`I^`~EHY@frhP%s0cG@xnolN1q&C{9wDqNtNHQN7x9leIVPjA(0@QMjB4_bn7;)xQ7?e-pr zb3sTuya!Ww<=5Sap&WP?Mt=}c@wg_5c~yJq0K!Xs8JUi_k5Z|AY??%&y-k9&&XFCf#{RsH!>%pZM%Xf8 zW4WOUjU)i;=E2{?Sn%Iq5D!#=XSd%nJgZ(fJ(C5hf;ZnS709>)E!!WMdl zv%IMbVoZ6kYLJD7EvRc?L948B8;?FWT__>zF;z+p1GXim@T{_GJOE95XgV`|Erg%> z`|-uM?1`Jj*0SVpL5N@1G2!;}GZJ#J$PaSFK*M_a?pjgf zBz#o_O}+o@j(%N^uL7ez@}8vyLP36I=lGo=Zoj5rn80144qo-2&;%V8ulp!#-9D@x zJhXCe6TXm1Z#R6ie1FK8Gu>386CCrS&Q(elb;NcD&>leX7ONXxP+s_q-GOMsMkpF^ z6_OdZ6bw)aPy_Hgq^-pvRduQt32gxHO=Kc`B{P8|$%Qq7N{^dj$zpdoI-v5ICd|yq z`A5Wiio#*XdA-~9Z5tU731ajsjq@b&G=WDbV{9PHa4V#U_1%(|v*%9Bu|5`Sc( z4AQJ2-im;fH7YtPinP4-;T9C68Vd2Z-Eu zqA8{ifNO*3h3N00%BhpAygcC|2F6+|m@!}#KttU@HHo0{T0q}4Z2vuEWE#=ECGm2W zz*ynr1IRB+v9>p^Zr1g!hLh-~AreNy3f74!Y;dad0?4V{x=z1$<_tFf^O30bN-7gW z#Qr$Y!@Y;Uq?s3MxOqJadb=i6S1%FCgD&gyWvwvuL)hOD z6jck*-lWx4fM}6bg zmEzf*7MS?cZN5tBAtG8LD(|JHjNa{ZQ@VdANcM3Y&6!sVlxC40WO&=!(lJ=GHrKdg zQ-n8vWX zN04I3_d+j3xw*@PZp2pkkBh~b)xo-Hbs;`$np1{$pv+iLEdA0DEVBE>&F&K8n!gt; zF6W^h@>rcj;hWT^-v*te@h-H5nfw2DE@w;0N@2NS+6;{C`Tibj6>3$1H4z)cyugze zM`)@TZImPd1B5Wj>eq2;;fyz}qXsrep2GSX33)-;u49ovSB$G=C^`C3cY9bMks+pE z;1|T8%twr?2L&y#CISfN6~TSOn?v_w+f|JcJmZ6)z%b=3KmKj{S%dz1x41Io!NThO zT|>K;&+7zM-|vB*Eg;FE{sA~${+CUcK*=BtuQY=n?Sc%)xfacK=ii<((({lY9z)D zA$QjnF;iPZKYiF}JvQxd8@Rd5p{Q7iJ^J#eR%4e_ZubU|zsrEm*G%Yz&J`h*nT3#M zrbO(wpFB0hgns;ig;RdoF>x_}c0ut{-8fcIT=I+j0SqsnT!_bV`$dlxZUYqZ;c`~Z zX9vZ=9SGQ4g$niuZb{yRsEHsGa~QLrkzE0xA%hNzlyyhK-KI7rjG*rgJyzrvA{|;7 z&m0a!l~b@GfWIFt>`~kJ;;n-cvVhD1=vV$S=CUl!O03dOX6oAuOQFJrlwd`+8@K(X zs1SUWvgaV9bcSj4)s(Bstg>(I4{;CVA)kmQ|X zA2mlCXsG$%V>weh?&NtY{Ps~VG{+Gdl{e!b@a(ID!qgz`9v}P(spzlo)1ir5mTbk| z6w(KKYVmwyB1C^{T^t#Q&Us7@z*4g&gg!&|Q5Up-qy}DqoH_hDc84I2*%WX95cUMJ!E-UZ5rSErs8&_1BGgBUSl7=wZ+ z6P!B!ZFcH5%s{DA^DwdKFGiGZ!boprY=V)R2Ya=JLukrp2V>~7^G1LH$MJ64t7Qhi z&k24oYdZlNhX-C`Fdzu=G-G$i(Th~@6ow+yy8?B56C3=r+o!-{#x^iB)d}y60)4)WQ*?d~a$@`Z@Zg4}7f=o=Ct5uoJbR??FKJ z$4O_&j0eXYw8{HXK27;>cJ^RbjAbW3cMBEpF`hJ1d#^$Y>5 zP9`QMK@!6kCL;OOVAiNUC$}kM_T5%CxK&^GR?VG&D!jT`QJ}ZYYn`EZhxxLSJKNRA zVj!#L%&N&Qlpv*`ta>Eb9Q`G4pchl+d(4Tw<28eN=p>;$EUpB}xGnP&K``aseQTwd z)jjuNYlLxoSF`j`^&(c^C>7`7Al^>+KoaGf%AVLwA83O=Y6&P#xpuXK#*~Wow*qM; zS_XT_lvdW%51>(>?ESvbe*O37hQI`8H_$gf{zrKGy!oGbQb1M;y=mru#b!-(%9h8m zq1A0@QNDn81eWUglHDak999b+sK^QLn}8QDvwrW6*gy#26#3Kve%dvmi;9BCd^lzP zRBgeMA&H}iN<)Sf`oTBxZOfdc2Z%t-cIXI07aoO3&#TpHDHTKHK?_vc`efv5B{Ey8 zsJQr@i0!GTA7p{Htt=!a02~{Eew2VXH5VI2@L^>0ULxB9`Fmka1uIRr@#pm(gFng< zK)>bvDd%7bh+R!|$S$L)3WSiLV-EGfeo{sQi_O-?!`9kejAjRT2BW$4v(Zs?pvvi? zmRu>AW+xI$$NNCoyAsg#zh^Fr*3Wt!_DQ2Fb&D-puBZ2mLd^VGcTBYG&aC@hY5xq8 zPzttXi)R;|&~QN;MN8c`xv~}iQ9yolH!;Qyvjx%Y4wu2o?C!J_drTmV3u2AwBTt49 z0@?`BdG_V?W816eM81YT+)lkZucJVz+p?9`Us4=ErvPfjBRH3E`*YX^&YqP1AYL+R zAqPEMfN4QPZWx##XmSh#jT|n?^Xx zyll*cq2#a0>jzo)6?*043wc@0r&Ht4mLl;A_T&AS>PBQLn3n4>TH3tIM_VG_a=uCx zj1$Ti4-+yx`Me>7%n+bYJk#s{nlnJoe_mkPe=aKW!a{Mx?M)sF^&6U@A2IGrS^T`M zRWxaN1Rvqvf*;`qJth_9O5XvsgNSX|AM*!xt}pS48)5|d^6{J3yI<+Ss^VX$KCh~H z;iQH)dU=wS^95MZBFWk3xTHjlr_itFef0;1&_@j?h=REIrweU&S#Jujm6{0xrjyfB zBod#<7JRRR27x3X7GZZ32h|MeM3<$5j?6Z!qNup zoKJ_d90agamF$DBlcja^1v}vGZ;ZYVFCC0-?v~-%@r{}D*aeVO2`h*A&Gw%ACykow zZY%OX$&(Vf*y1*w;a4Z|`<+KC_9-^Kc_u97OtSDyg^aGY|46~$hF~n-0nvY`vwyw3 zyVN)((RL{SEWmU&;FK%nD-)o$1S7n6JGWsvUHLA~z)Fa}-g*7ruV24Ft9a0e|0?&N zFk;2B_-hx?fByCi^tgjIxDe2Eo+P)nIgxxmpEHp5fTRehT7O6NYy%lzz$Op@a$iiK z*&dKzkvlt!Tm&C|`9iS*#4uPnI9>oQ8ptwOwy>dR6o}_@{q46iN0;hXp69_?$(Gx| zR2i9=(1B33L*+yFv`5QZ{GV@9eb+(^vM9IDpPlBLg&gpKO$o+9&$k`<@=4F}{+h?>-4k0fE8}rv^)Bj90;CQG^x?_4$R>dSr zV0c}?+%Mr}I+Y>sacKaV2%Pq1ze;?)hJ$F#=qdZ7qEdU}e)LSrwCF=KsP8D=9j(Kq zx8sIT&v35Uvx5Pc#LZqMswo=Mqn@-xD?tE2w+|&hu37%hkc+_)jW>s7jpyELuv&Tb zQImyTwoGzE-Qx#-NlK1ZI9#)~zCK;2-!8MPl#CX!g*&w08iiEMAQQk|kA#4_mZXhs7+Scgzs9Wc@U}J|eAWO^0_R70B5a;ZoMi(g5jlU}aP75gZ;0`4fpjKF*jYAtlNGn1L%5ZEZ zZgcKCCN__^LZN>*Hfn_FBQWFUZ;eA_D*Lj{VqR-)=~c2l{hjaHB1U?y*LNp(>V%t> zxsMD!3EQul8tWmm^TZqFUUy+=))c=~&xc0>Ie5;o2ZMp;2~vGDDWxN|=2~yYJqk`U zMjalJgcz>&;M`Hb`^O?2?G0vUZwo#t zpRx1o+cxN&hMl8S9D^*+FYR2wtk5c>WK*#JJMbKt#jF9F2;*et$I6) ze!F{E)_yyhr~T6mXSaPd3USshQRy9~bEbu5w{3I%Twxe(wY#7a=B&%M{W)Rc6B@}W z{eCk1(^&j@;SH$VMTwQtZe$$jMWbT3WP8amA9YGW>n)DvL+Hnu(a6G;V~4J5tC*D1 zx4$JF&k+V)Gv`YcrlG4|7$%Q{fSd-#r1ha zBI$6{HC+)8$nG@Kv8>FanphMq&h*%pCO7Hv7!tw&^})ISdC`su;cUHnqw*w0)sw zQI!!b6;o+WA?W|F4^dE?#Z!N}ExY8Klx4H;VWWGZBv_09A`)tEHABG4K}PLB0(eNO zM9FDBvK)At2_Icf5eXwXd%ck=w!DsZqs}F|)!z)@pkn~w<<*|Z(Y3^AG)O{%K$t1o z)l)lvgK(~No8qN~ML0&=Q60J3mvhXJp61@O{8`{RhN1vRT(9XJ<65-sC|{e)CC!gR zqkm9?i#2uy0{6YN>(PPA!x;M7G>2=LyDOsc6oGcL#HMTXRP50NH6_QzGVyUcCl-*v#@t>f%6p=hJ@9c7ONm$%-E%GbuAnk z-gR1OOX1zq29XXxivmG_EIn{2KIsbYi<6SQiInt2?e8Cp(Gq0PK&d*xna(j(Ol0 z6p+VVBC@8l<&S9MO!PFQ@GYzbx$vyjl zUafr>m~GR7<$8gy{Fg1-I&(agWKE9-6ioVM)+t% z?GY?u)4-l*Ne4c;_#Hn5BB>b8K6^Dq{jtKM&jpgLgBj&I0Cs~(@t;7*4Ge3BlEBKU zI3OuSh!mr3sfYaZ*+FKbFiKk=63{c2n#Hmygf zd8!%u_0^T}CC+kAynz05*NpS|6kbK!S5@XR_>C7J9^#-@f5Q_Kl?_x}4a{Ahh(o3u z;6F2tD{q2CLCa>k02C7ZHX#+yHA>)odtM;yYrr`6w_5E1GalCSJf}%NhUm%P8A`2A z9i>(2w=~PsS=f-}d|#Ux!5=9SW&wSN8KwJC*SThA3O%1oV?Pl;jICy-lvGdfk9j$X z961Bctb%1ok7D9Cz~Gn?q>AaID>3g_RcRiSc*6C>u!JsH&?R@5O8>tTO3yJE|F;(4 z|8nxr77(X@+?-V;VB7xC%euWaJ)|!~J<*@UZdw6!IfZSF%d9wTm& zmAmFwY$8GBm!T#`HMW#D!l+Hx6mSP37NgZkbcOhO4Ly?^t<10mALJ|Z!CuFTaZ)>x zIuo7W*Tfp^ZxLN@!r=K_8!uI~++r(lgWkvZVXw4dE~Uc}&#CZ8NavE_ta!L77#xj#e$rlv>xT;3tSy-0iDfrbOy!`YQ|qaq2X$PUm!=op^{) zh0foJr@r^fTtRQjb^K2JWotaLB)1(yNPmnH;~P6hm|^Wt#J72G8zODZsKbRzb!c9y zct7B_ATZFu82#KMy{TU}MR1`El4JAkh; zVOler1Io~5F1|(V8U?(wLnUb2zfE&oGMcsieZv1nq(aRk;6X}J68U|(%MGBfr0_pv zF!ic&tq6aCWi)Qlzi(EY0IMMiMyM{JJQ;)*e{df_nP3INtOa6HgInQt^Zp_=M&q%n z)|SR0EqHX8k4~|OyqR?f45Xawlw2Oi2=orpL&B~XdK$*M1U_m^V*@lRjGBHr=jJf= zmrpH)?#1;stJssIMQN4ax!W%*9RG0&_4Qk?H7vo1*Ngu<{7dt&{hY*e2IwM=arc1E zhl2X5ah8nI5v>R*uNV_mkwQ#9@n%htsfp9!sn%dUA2{2$GBiJfjhA2{Hy=*Cn@9Ev z2EeY$DEc4gXk4fA)@?+`ital+TEj%j-ZOlCk`bs|EZOi*vKa%>P+6$E?YyR9n_K>0 zJ$c1n)$;B;wVGZ(0K3Cm^dU<4Q1_odpB!k}ai$W^_1KyxXRfM&MsHLLmD7K2{~VOo z9gJeO{QI06vSJebFlYp`M7@+Ow(a4i6iaXI*RK!%{a;m7EFNb4^~fI^drcq70d#d9 zW3PKCKo6iXqGpoSGZ@&G&F(R}Q>=e9&i=8AgA)HSHM?qP3-2Yve%4s3RrVymn2wQv zdj^lA$hRLC!;Q{_|JidW0aB29v`(<{(63utfv$@f|Zxmjyo>^7!>Q1Qqo@^1;bl<8in0d>6 zmZ;5|^7e25v%I#N8k zIn<%zNohQ~8OW)D(<(u^de*QZ~0Op`^?S;HjQX*5Iw1q&<8k^~BuDnq0yTL&=eFYx-0Ua{$a5%P6eRwvpVrE5ZyNCB~QnESYao5RJy^(Qze4DKWq60JH|N;ro>oX*T zE9=O3*gZl*caaA_rUL&nNB(&k8kCxg3AqFOE(ARL+@*au1oFg2z?D^|fVs*Xp|Diw z0F&kQk>u0V^==xg-M!FR-2QIE`+!{`GK10M!Y<{~M301*3VXQ4M>H{KRLzG+LP2zV zA-dTxk&mE5Z2rxdQ6gWd&Ub%WX7&Pkt+m(BNJSSEEnX@rl5wQv-Bsz!T-%OZm5C@c z`u{@Lzf_EtrSIvBeQH%aux)N)0)m6k3z)i!`tCZV~0 zAJg549k=y7Xc&3_c*JGuuIT;+Pr^9Uh|+j`DjwUnZxBc&rWfPL55k>Nn?j>SR}4wT z$yh!NON;l9s8YvyTc5J&38?kYQ3{UyP-&bhy1VTvtKr2-`-q+WtpdpR^cy9!2PyQ} zA}Wnsg)kxI&z@nq;hSt%m*l2nKSOiU->yu2=O5Fvx|TIw zY$yFsj?-w~zg4>$}tB_4X*P7ZEZ1>2X(ZQ zS-$3nWfOW8mTI|=-!E^S-{^G${$!2`bO>OsQ8myAw8%n`j1X#nbt24uTU?A@if*%b zgZt6vnitnG~r-KdELc2^DN02QnCNADhkI%FaJwCDECezFbmPN`Nk9@Vz| z#ieYv9(~d^v(FHP7bkivyX4|$k+)}{$vg-Eh_sMrUj*c^-N?sOSaEU61w+P1?FhH^ ziOdGjOlAZn2M{ym7Fo)^oV3BPAqYy&MbuDF50{gZ^WvEpfn>Fz5Rka~q?& z^@;vO^xh;-cV+u+s(-h#3%y@jH3fzWi0;tzvuMdEZgI zgiQfG@G}&+6?k9X82twB1ESh|Cqw<2-MIczyqoPL55|ajg5^R z{AO(+j_a_l{-*2o`lXTetpYv+`}q$|wjvrDV+TAS8;s_+@o0**t-NXu!g={2MhL=Ot>3ax641eXr1s~_)Zuo6Lk@@0SRpVAFMk}O7&=$l;_%-bE z)fMdY91Hbp?G?;LC|wV$P+eZLM4Rz>{ncCjI>!gTXujG)4g%({GkWQ8HwQzE{OCFK zg(6wVTY-F+W)W=v616BqU)GrX$(4PUZh_8_DlxhleEM3uij~-*srKyzk7J~k9g(yN z$q45=%F+;7Q$#}L%E3X59|Q`?C9XQ!mRK1S)Zi0@LjD+goeq*d`v_ARxW&Of0#8D8 zLqeEZOD6XZ_$W9-xyJ z`DtZMJhMdNskNgD9Ksx@V0L*04(i1oBt?96#`_!9Ei9s3LqO~K_`4y2y_rH1d@iwj z)N&n9fG4HoGs+At;>#qBH^`-Q6ImQUg*-cSwVD3?0MF>~D>~`+na0d5`D${`mg; zjzgTi_UxLyuC=c7iglf%qwk-S>^m*0xgQR*$!G9`1Pejab`gSH+;)Cx_%n+#GvsG0 zlIna)R$Gp8oL_#vW%#Qjjze188 z@m85JSR)xJGfZ9zch`BPZ=avzjP`V&V;mz)Qo&(Jbw>6QFB&EmaS(9c3^aH-9*4M~ zHcUSAd5PUlnX$kUonrsmm1*KapojL%+GVfJNwlYU$ZOAgrn4S*v2n*&%!u+jwC`VL zXE3YyIrcmS93~?l8vpXOn?Vc>1u-e5EYNhzwyX_{J{4_O9@zs=DRc1k8rRfh8T$RD za{`9p`HM8?1Q&@2atUgof?BcEG=TgJG&zksNi5rih)GC*-8*F&O%n%50MFiVy=5$x z;0OrqNqvbxz5<|FcB@Nf<_F6pfvoHG+qPMYtpTEY;Y2WlJeSfl!+V&Ig|*wCJlXd> z!X}v_ylXP2Dc2k?9>3VVZMe&C>3G`%H||{m5@-G;yQ&1)MW0?nyn;gmBh~FcJk;$u z8`-(kyfpa2s2|Tt=e~Yc&QEw75a9lJY0Al&~vA-T)K~*L2(fZmr7;aW}6bwl6_TZX1f_=`XU1 zN;7fZ0M!Me!*`UU^6v&fGq!PX^Gr6wZfGaztFg*Pm53wVMa0nON)tPctM%Q*zP@4t zV#4B38t@GOPGV}mVC)^yQk|kBA#O6z_cBVPA6twYV{YG$k1`OBQ~vQG=Y4eP>uaVh`V0c^rLuP$P9c z<+GaqkBcw~n0GWgp|_^KPwR_cdi_+PEgDYgFKT%dvOJduH*1zz9ad*yAnHOI^*2}P5SUO`qqFJ!tHW!^$dU0gPL7KSQcgb1SY?)JGez&a-36EvP+E`Is`9mWBw0BvtUF$6 z1fyw_@=U`Ui1Fr4ZHC8cK4r*TPoK_6cuSHHS9Hnu@B5?J)u&44(xKdg!O$WX-GWX;n z6@MT!|1kKxoyg{nYnq}#rk7uwP9}eR(88{)Xq<0F&N__0F@HaqoD-$WcYPp$G8>d7 z2kh6N4&Lack@Qm+w`G+nW&NoJtUa{IFNsm|H#b`pXVh4o!c4G|CvgPyIEVJWC~xDG z@M2z!?p60LK@tCx%0NhG`0sz>E11KLb(+_JZ@iM@&by@uo7}T(BztTA1&)rn`6T)I zZ;jT8H@vvZqr#khs)XZt>(6yO9XZ)OXjJstqvR3g>H&FSqNV5UNnmvCkt$*h1 zc?~MH6zR~}CV!JzZa`IP5;nV5f-+m$A)+iObb81mDEI_a3m}3(_1!P$?Xo*-3_rq+ zS*4Ykqr;~(7WHImwX0MaJ;ax#|Hwa60ETL*?KGQLiK#$^IsYVPfE+XK1B^UYfl=2MPHa&n|479(-vS`w}I&ka40NSN*5r>Af!A zRFo;64i#p5qx4|oTIq=CP*!wu%v0jmJ5rTTFFh|4qLlwyFG2QY#~ysfGporckxM|@ z#j|za9|6r*8~ub5icJ(Scq~j|vFp#e0fK`4LvR{9P-@ScYgnmKC5H=mrm1nYr>#Y2AABSX%e}saPcyUq2kx(fk=rj z0GE(3Uv2=q*7 zbeIKG_yQUf5~qQT{W?bDb-u-)0Diak1zIKP+1aFkI@r79+;~BOw@brkSH@55cjtF- z7DUWX0S=opH{k3Y4Tz6t0qep!u3yj9V3w(@tR#%t);00){TS;I=7|?hyy*)ptN!+X zE^ZkhS$tjj^J3B!$M`=JiGcdl%1oHc2h5?P6V@2QroiD1LV-3@C@;<@l8_0T7=81q z+6}q>*!iDh<8N;@lgX%%W}iSLD&N0PsS!oQ;3;X_9=K9Y%=2 zG?wU>ownRW%R#pO*xtgSg{^&Cl7FOQcYlPf9)I^7p=GAzZ32>*c z7O&GKw>v@7pm)N(|7PMnn)nFAV_#m38j!4{YsH?uGcB-=7onS`zhI=-&a?hzCiw0s z?iH6qy-}>dqLyXzLIXdE)K;sz?yT#}1ih35KrY=luuT3kXAa=|xfmk0d@C~6gpQ#7 z-R7ZiiyHeL{^tRmeB)nU{*o=!E|o2B?I3XazQ5KL55BQ*-n3K{>FpViHlrT}X4x$# z4Ea?QeMt4%9M@V<{!IXws@Fy$u+IdHb5b6!Bj(RO9FuhX{07Voet<~~d>9X#(4?1@ z^>b}U%U1o23veiP(z{glkL2iLKzvbR6q-;U{2t2d#VS65@wTQ z<>uOpG$20-Kr5(}cXY8UK@dn};$3%nM^7Pp^@G!3B7Nyb)KHdZ%+>oL%y<-25J!IX z(%KINLD`3)x#R(YiLVc)_T_Bl+Uq%LVu!rlW(qyC0!;D1=hVsO9eb|gAnJ-rr$2Dy zIUIj!0J5j4GSX+a$kP3N!H75AuA5Jd7anoA1SYAU{-;agmh$rd+K<842?#(gEF%cB ztIcwB6Ihw<vW#o3em1u)U*0b3{B& z`5j0#=j`(I&ICArKFy!)-H@f@jgJ23KxLmU7z*-dbNhLjBDj;?w-ICpW9xvl_=Qoc*WM0%Oy(_KuQHiZVRZ1EZ^;PQq0`(pv7QH^wi<_4S+mNNGizw* zA6W0sPcTaXtgqYJUs?m9fy1{zes773f1L~_n5DHl!!_Udr6}3!PpIGd$_Z}IzB(#S zJ#+ZMf3|_q{jrWtNKUdVH9^7`c6$t4g6Q*Yeq?56pIsB~++uc-WD5?K%QHWNVQxvc zP41FcKuuVCe2V%I-+>?)0Sx@lmRPq4)~Xr5V#7n1^x}%MxVPf78DZs6z_i;f$&RUK_%fY^wF=*A zu>rcm%h))bL-h0ee)RL!frAbzj@=Js$w2nUlC*Z~qX=HXPL^DS(js8sj$A22aT8Bs zI0h%FfNP9)wb*~J_LjCt=t^?`z<}fhuyiS3CQclz_-~{`{cQarGoz2_b4gv&SZGi{ zv>La6e#I-S5XyTY51*5=DFgU400(6#uv@kn^qdV^0*|eG=MmcpK4?kxElk($Y7ckXTgk<8af_##G6jh0(b7| zeuV4xbztAVEAdARlzuyhHa zIiTg0lXnC@UOHCrN0|Q}prNF^52`?eQ9?=Tt5?E)ybUN9hW1prB4t`58x5g2e(zB@ z7m!%Zw}z5H7o|P4hfbco8-BM36h+!d@ZBv7&z~20Zr<#_O84)W$-n%;AApMFOgAar zIX2(YyLZkDv%;-y8!&eI@I$aCW1%<;2*e;}Yu;VCI9hoL9H&VoFCTQ}{KS&8ohyoW0+Ls4!zwnrnyu-y81}iWe7ec3oFJ!)1lPaD5FdQX zJCsKh`Nw1L4FhH&s5IXcPYY0NUpRrDFiYeeo3uY|r*=p} z*xKd^vH~#B&>(Yg=ImK8Mc92S76xUR*FgDbZS=+T(cwRa_*2z^Na;D8IKkVW{ai+U z*MFD;IBDAxUZ;)@Hw#7Ns?p7Yg%3A&$t-?J#|iAoDaQ#>T@y{;h61ulIO_THhybrF zSG0+*8?%5qPJuls5M-6leD!iA2%#|2Yb~a&lf81EsI($}YNn%;-TZO+siblfzJ!}B zPu+a^Kehg}r+>i-OyB$VZG2&-$rCn5*C0U(zfShmdzoTD;g^S`0P`12vfdfTa;Cii z|1exF9uEfY|BX)e8$+Q{7T=zQW%-ok$GdVWSmJ*wZAM7PAp+M9%5JOsqUvDj4u@A3 zwD1XfV}s99{BSN#YQe}FZi|9;4_1=za4pZAiK%oO#rD}~?w?NfB$E&zueVpnz* z+Gm@L8Gzu;i*(cy-4}iYuAa7^Cgl1r2l&4}yd#-qpztJjb&0qHDm68=%-0h^w!CCx z-whO08s-q4_dwBP`TK2G#N6JmPT%S3zI)?y@&%Kkf&vox`%ME(Apoq+S#FBCxQWF` zvz{xe_5zd$Tf@KiT}(}diigKyCfydIE}WwJK7Na}&8*xAxaBlEWC^jMsp+!NP!%0h zb5vV<)Gw!zgWbL6b}jWS?57U|U)6CqP}*~hjAgv+@5+3IH2gUij@4Dl3<+i&Feu8q zq#;nUycv)k5P4tX=jC-c)*a2%)Yc9FJX#a_dM%sZM~4laHwu09dFjqTK$pjx5uF zbF^!C&l3Gk_*i%f$Tq3ev4+GRq@`{%76Vca{Yg@r9FdnHu%=jj$H#`u}Q8BwOAP=ogU zQp$@$F9+MJpS&xJfCRe04CS=_r-?X7v&;IbhCNLpw;z?9i;D!{%WLj-b$8DIvj=<9 zovi0Db3gJb2LxhFU$l8UDbo)f^noqvfL6B;#7o|f3-CUgzFbuHI`=}-r)&`}z7e1Q z9$->1Fz2@x(~Kn-2KrHAtA$P3!-ZuPdEPzC!W19w3Ii-reb1fC(cY2=x1Ne3p;8*Pg&dl* z-WD<;G>M(vPvk?MEz+#;3!0v>>i`uUYTa+L6o>latB9O1$mH)-4N{tw!s2x$!BH;{ zu44F3LjB1%$ zcS>&eq-N9d*Is4_2cHUAf6gJz-96fWJUgNz=D)k(Byt)WGRRDJW#6sFL`U|{(}Pe- z0YYTad&qKOk>)=`W)~$BZxV6ySv}Lz@&`101Z6QywhXLo<7Xe&bt=Qxbdeb5MKx#6 zr3Ru{#3a?48p0}F&4f?CR{Ic)Y6y@uA`gJ?Gf>bZUC>NfB>AC^x4W$WEa-R_u2)1D zQS+;L_kin6?AELB*Wj}z7W%TzUb%P$_z9TUSlY`BazT;1XVfYllio&6o0@gZP5`tB zSdZ2nt(OBGHBzGIJ7oF5$mlXqpT!1rtmR0M4V}NjNKbDxm>bb4LkQe_RE~P=TuP>{ zWN=mdRQ0}5c1U#i$5H#-=zWv)w;ufxOF%+GSVYeQ4|38lC#O%R_&a4rH!c83YEtZ@ zfGpg}=!*$uo#Tw>@5jqUInKT5*D8m@M5tF{`woLzl^%vN`J-}Kw3b2IVfpAj(TA(D{C(zA@n^=s<8&SuUFHIW~h2=U$1Q#^P za(|W*VPp3J`=uf`@(O@kE`vAEp#ik|SR6tufy&!ru(#53`BBIBxGu9xlPC~J(l1eX z`t(9aeVWOhJqR#8Ho3Le*GC-6J#u;1|6?DEVi!A~QvW|GegDc1_)cfSXYN* zb0Pvk{oT0WeP%Pwz1(%ydtAL}_~?Qc+?E4D$dfgHiMLl{^yFBdXo0nmmBrMoVm5DG zcTJnJRlt)CLEfASZ@0gqg6^tazva5}_3Lo4e*stTmv&1mdXpcZS%tsxm{r= z2O*jG>ENZH!}Z25j~s;sAj6;GX7~(DG>{%{^McN`LAet=+*1dV7DwpsA^e zM9z=W@wpWavw!Cvt-#Blk0t3WfaCp#9gVn|*N5sF09W`6bMuY4luL_KeIAyL`lz9(noPa_Y+lQ}T#le(EfZZTTKxlUXeDiG5;fqeu8FKQ{fgG6nx3!og zE*OCD(gm#9w~qH*`U$+ zJoDrx;LI0T^~vjGQfE!^`6_I`)RMC_v(rQT4ku*?q?}*+E}6H*`D4mjJ<%>Ocao8O z=w$j%?oe6WUCcYKz;6ECnmFQkx3BH_`l#?j3Lxp-jo66z`!c~k51!vk`rrl^3a~t} zwlZ93tulE1#hoEEf)wl_ctZvS5Q^*;zuqy4T3!XtxW|AN84#rtqHaKVGvq_x@7)pI ztE;VDS5EDHH9!bSg7`VT3P<0Wev@IDZNeo&#G@VWP|t^&%I@ekTGxVD=|DsR0$7LX zAPSl`kPW5`OVjj;S9`LZgW4dpbY}aU3YpvcBkwqVXO^K3kBB)mx<{EqHs1542!>!3 z=C5dJYR;=>Fail~rTh%+x6gwCapI4-dh_e%dZ;Nbu$z!JU8B2>)TN`svQ>il$!zz?n6jlGiek)ay z;DMK16Q);51(PO#=1L?6Ek_N%2xeUioZ!taUq>k;;`+IhUDgfn|Aar|2uUaK!&an~ zOtrPYK`VlWg78BfJiwJiTAELsOuxw~5G6J# zmL&}ve0l?D)E46>B0f&&DJtJa?>FKb;I%J*%6Jq6& zg}j3=@XQoTaj|2ZNLc$tq9q1oT>Su2la`+TNyzGp(Et}1G=n_@k#Pd_^mAWPzwBH= z+>v0bCA&ybLw7FH#i@#r#>u?BB!tZUGx6^IDd6LH*O|i2=4>NP2r&X=MaZKVHu1xB zKV}HWx&VjoAH6&iPm32md%K>sTYn4b2yp^mUK zPmEzsYSN}lqqU~xt2lE-JhpXfimjpXM)^?gL3~# z16yX>ZA78!&cf)PjxTnY3NaI1lvS9_$k~)Z4#Nfx|9S*;u`^{94zLe+Qgj?1PySMj zknIGBszCmTmwp$U$jb&0Hn>+ZG7suNGTn6(A&@?;^j|xu2QnE|^Hh$oK77#Xr*SC< zFE8akadM}H5onZI_C6>adiLzuJGf(|?0665Jn9yC!6zXX#=-38iukXzP=Zjp-BvY+ z2)OR+W>?JCpm5KPWaMhxl87);5iSMmIw(`JVXNCERmXDiYEo?6U8jhlVRwHaAA*M7 zYHxp8TPDOzPaoBpnYPs3d>_GisQ}32O8Bifgh}gt5^s}HM`*$u=V&+hyqoIK5)J|lY-o^e;4xgD9f&j`!BsivH2rc-5YIk3i*jjSi!KbAqk22z}zJ z5-*DCHjnl8j)&}-N{ea-=FbCyk_)Sk5Ok2OM^6Q159KA$eJcHR6bsdEYDRT|iaGj&s13`NEAj=Fc*V5BSomb_ z9MCTd)A)^9l$9m^`U<1x(V13C(vOKGKa%^OrHF{zw99}@S@{qqAA`^%Dk$}}8nLX$ zdI`75Px@Vjvr!Qm{o9FE*9e=@$$Wvpnu(w=NWXJ> z&6^%h6Kn>I-=p`(KS17AqJ2kG2+_9jSoz{1m_4ADQT=Qc1<@tx+l>FfQ{V1Gy;SnjVx0pN2hYx|* zoI5%?o?8Q#;{5+*@ySnr#5bVL+Db>*tvh~zjj_0UdX1o)$305Ky5eMrd)1BkoNdK0 zu5Q1he5|@0R&tLyVdje{XHV9XL6`$ zq{4WNy9z|4$!{_^AfPX|sOZ7$v`{l$BwK?YFxG+LaxYlo46xJU5FOb;I1AZ&ms9d4 zg$!?lFhDPW+&rC+V6?Xvi--Tt%*_{i79P^ZBGnEi=dm#=t8B;w~Zi?%l*omFne$9`Zp} zzJ0+dBwp8}97}+@x!mD{l$Z};{P;IAymZR~AcF!)f8WG>W!EMcr^Bu9KB1qYp96j` zjdG$NyH$SNitj|p`kYkGTdwFa>tO(A38@!^c!&@Z@L>BBr~rkp1Ij$Toam}g^-=@= zQ&vU%$V(t~>WGZmZyYrV{o@?&(aS0&xXb|DAcErYYMrf;PJh?|^yL+MjsH)i+7!`0 zOPNXl7NGFSd+^!q2KBk~DK$h$o8o?^&Fe+@T;(ezg)U#_+!|zuQ+38Ft19xi`}~oU z0iVvlnb#W5Q7k`E1NpzXG}Qa3G@+Nl!#H|Sr6NjPMsuzXg?(_Q{^WJdI;Sg|l@C-R zxE&rZO&H?YT(p@;=ri)_4ub#g-&SpH_9W% z5)aOd>810BHcn5cn4VHel%n$81nJ`yK|Y-+?d^{eQIA7O3^t6I5&hB+bS#vVVir8h z2GYoS?R)rIa#CWqe;4qGCcp$cTnZCQj;<|_H^ub|ubhOjkwE!o(8CB8foQY&508o~ z!GhnV?l?A?B0U~);S> z;6pK-KTix|Hy}$x#U$Kv{BIy^bpOg~(8W3dhRz{P_jDN=D0~$_8#c@Z;ne3w+V91dc>~lML*p3+;#4DfCz-r_tfQMJe=l`%* zDU|k^lIdo7^!F7{NjgQI#J=Glr__a{q0&FhX<6i#hd}Q4r#aD>TY9T+N&MOifs;p) zF1IN8Zqf(k;)9CsuviS%Sg8sgDhRNXY;0ncdSrnnt4iN)StC4FD(zA%A*s z?E1IYM}1Cw$ra8J4&oj?e?I?hJOjV>RF}^)(@_R~{X%!IUq8euf1OfK04%BF%6a zb5Fh#n9?FQnm&WXjjw<#U97UQ8U}f>X7!0uuIB-WUoBIG+8j!M-no2`dz%p2F&Y$; z`GWz;9M#pNhD|hrxmFNqe8mtqu=?JG#D!iT#D=rSMrO(YMvG)v zH>7NvsEF2MXQwwPnXUlEUY+6i2ABuJ?WEY}bhs{Ev3U!<#B?Ws=8ks!k!@fk#4js# zd<31K2SVz8R5gqsHY$+NRSlwsX0jGUaR>rioQ+OI5!!WHUJe76ciLoo=N|R zl=7ZDWlKht*rdJgZ=Ft5|FqzxgrlXs{S7_)@-=5O-XJBFJ9oHX1x^K?#N(5is6EN; zLxVFMk6LKcVfq{ldO{)w$)UINj6(SZl=IVqG8`@%!`r z8en%(*XiEcC9|!#hBIXy zG5p9Xi9YpKqA2&?*`WB(mOXUBSD&iVbN>ca5^MEU)u{dMQ*l(zncg9_P?w4Kk@?ut zOwn65jo`8}@A2$;X~0#EN?H0P95=>ua-xeu7gCiY%ZJb2{TeUktH~|^W84oXos}SC z2Cc!0K1ovHKF<0d+4he8=;YS!6#iROo_g4+r?KZ8tbgOy)~u)N#Mk#5bJ=A4RJQMjtzx&c2%iBahtv&Dd z6o~p>Qx$RvaEMgtILIrWc2*q{pXt0G#v1Op>SAEIKK|-7 z><|`Lg}R`#Iy#%LOXIx^DAkoZCbKcN&nV5p5as(sYoW-Ta(k6pF+M&{t(9C@mmV`c z^6e9p#J&X6W1z&8ZNtI*m z!mt*mo-?nT_BF1N8dK@$$QQr8BS~Z(G_J~xLz79LY8@KEvU-E}X0Wk#GVHQZF{~P; zt=@nfkV=Jb%%Wal2+y#zKiy2&sSm4!Ts!^0Hyr~$xI^b;&s=^_`(OWMGBcZz$^5rn zw6YZ+PILU%5r2;j7vapi>wPw%JCq&;H=kHbLY>#)v>U8Obn|KOupd4uuHnqTa{+W& zF}60#sLH=z{0|Kz26PAEj^|_QVQgri-LjpAk-UH3cIMd+Dofdo-WLO~;`CP2E`FlsPa98BH?ed>a@y0~6=T{G-}GVL1z)x2$0 z_}+h*KJ_7L{F*XeOV6HT3E9J=qQYawqW>lf?n{IJUQv4#21ETzK0Lbnh>i;`D8Bs| z6DEsEQ3qF7gI5rLZ{_xX8ooc_%mWB;b`fFsuL~F}&us7TR0fzn=Jd3Asbl$IFb6j3 zMOw+hMO3)2VtdoS|CfgE5DaAYi>XZ67zRm=DtRvB%b@!jXM z$E5V0w=2WPvKq1ql770{=(K-9v5ne_p*QsbC~%;2E)@pQybg6`va>>eqCQeJw_JAf@h-q=b1|1!Ne=R@{0bqC_Ly)JE?p` zz02Xg&T!?ngAr9|TI_L$)G|`y@2g#tCA`0{xBjaE8}3aHPfR5Cvj1c~_rYY0s(~o= z%gTfZV~}LoMa_kc7>X(pS^O zIq>Y?jxD12+soDeOT)L1&{zL4SO`Pms^c#KN$9_i4%&1+z`Xq5_hmBw|9#iWeWQWz z)la1u1xYb#0gkgrK(140*M4k+(T%t~{9&FTCR&*dV79F%5o>=7Uox?Qgha|z~o5y6^C2n8q(SYr^b$Z+1;{+ zcxdi|3!^H5S29vMzq{bLS13#1(%F54=U(J(#uE5y64(~=UBLiyo~NS@#kcn62A;+~ z(E*#UmwFgu7{rnatZsH**JMj^f-!gaU?Kqx6wMIn1+c%|^H5)e-b|w6yzR|SyU}|0 z5=)IrFB16>FqjDb6@J6$g%FXPN%FImE3@n^V5~_2wR`B=X?!sRb(E-zmTO6EQwv zkqDlP(#Hzf2I3kZ9w^D=;o4$p1p zJNC=bD_Qp?uXSZ_sPreseWa@lInzyQ`D+`}FV^b|WKxW2r_0CEFsP89Huo;@G2 zbaPm7#K4tV`smNqVtAI=+Qpi0^ZBti_NcK$O!i`mLFJ=e8rhT8)l3@c+vE_F*sD_?AK@pmm*-|ViDwLY6F+Eo{n4%wBq z-svif?q!I-9k~NRF%#OU9sa$OYV?ZbT+sLd5u*qCSO7-3Io@jCPQVvE-(`}oea>Ms z&Ul3D)hzgdg%3+ge8Ao6?U6pGpp!5%jLUMqrV-x2(IRy5_T$BWj$(}0GB{^3{kHPJ zlg#_~@qYi$&c5aK+wX25k{A}@Vg+Z}i~R1dlNSZ8b$|0Z9$X}XJWPgj1z`Ts2(UDo z#uG_@6&f8F3+YbgJZdd`VuXj$RT=S%GI6`MohP3bMg{rp9>#r` zDRIP+Nv#v78Vh%%Aj#&AKKciXhMDM0qO*3ZsYxIPl_U9Bm=*tt9NYkxQQb2idG26- zmu(SMw{|&TKEpPDM9L3U$^Yq2O*b*5Q?uxQjLexIp>5mm?O8pJI0Yr?nfHx3G8F0U zHeq{u+*AoYF!fs$0b&fdg{;m%sXV(e)kg*fQo1anA|whuiA|1HDU`c#2HB>sgmj5f z`J$l6FjP6BcE>i^H)+T=$J$y@I&&mpz6Vm?Pk`W_rOVY8MTVqrM^HszelvuDwZf`Etn(Zd-)?}*cIR)mvtgY@8P{S(G!fxs zP1alFZfsp}ualc$6%1N|E2wC2HqR$m{tqkUWUkNle{SszS_4Qv`&22dt8nN~aj4LX z!-dT6-&Z%lHN?l_t>Q=)zF#>;&=&1R9%lfgXwrg4Y)g+*L&EJyi{EY)&Dwt^+u@>Oer@c{C7I~Oy173&5^pe=%1?08bFAC* zO;G6QK?z?0p2MIg^Y(A{WLR6L^iN^4R0brPzx%1wGbttZAg+cpM(j1D4^!&|a0A;%fc3cqMq(RosOW zgIqq)goZ6x{3S-x3Z6aKLp)XDhcESCg?!SR#cOAU?P{y)m;(FWO4e=tK9Ju-Z7+~Y zq=pe5Q-oso&l2@3^*`H)f-|E;U2i$McSE0N%!JN(=6=)%72X;JPea6~1I28QC==iK zC-g;YUimr@47NBiVKH~BUyW#vC@t~bj7nj@s6pEYKlr+2)MSwQ>f+oBpXX{_MrfbM ze05VK^oJg#hG+7{UcAfus_+eu@*tn!L9JWmuoL0z;27yDdiuk}p$FyQN4dE?fp>%4 zrGuA|R#P4mar;&(_8dE4%&{xbyf+|eeq&nbc7)XEAvd%j1)cu!@;N;GRdV<3gln~A zuc`t;4*K92{i&dY?&SP7NI}I0-t+wd_}-hq*S`tf;W%lsv#T&%9JCCx*3=Q|oQhDtDF%ZL z^r&tuoTd|al(Kc+&Ql!Oc3;BbTb@7$XIf;|x&O`1fkh5eXk`N`N2~H4#*60k9=HtM z$(v85k;@86wZ+>2tIoqm#aE6vtU;OoTi~y-DH|G2=@mSVF98$b1*}8w{A9 zZD97Gyn+73AdawV7UUAgi)epau|{}_>!RdE7c4NdAd}C+B)o0OS`IxviLiI{Y%k0N zz;ntXo(^bIhIX3E3N#hq`9Nv_JJ4@X>&K3!J`x+3TFWF6E7dfc@oX-YXok?t66_Y) zsd}Frf3Hj$^}|9B8T=O69)DZ-8dJ_I$_Px+ATe=5&*Gid565ZFcwkFt$-KW=gmX6Ql}g z8T3gle`64eRR!G3@g%q5lS9#s7g(F7!;RFxHZNil$G!cllZ9{J;Zk1<>)oD9YK+jJ z1$V#LC4j>alUOohb}wn%j&Mj<2SIMM-)4{i6!B+%!`)N+u$XbcoFSuWscD42_LNSs z99urZ)9lSC%gmf((f(H(%TL(0uyltpsRV7}xsZ*-TFRDw-AmBkuX}~HHEQ%QJCqYko-;#gqmC#Q>Hw|g+u}>o}#%{kzzJ{~qwS-dD!0VW-tQ-}A zQO?_Xu~KC+()Bsz%q3p<^lLbSfNM}i&%MG#M6jcuEBlS;kF1O{C-ynN+K?w$)eukT zjB7ZQ^)KIl?w<1EPfmqz@Wjn4p>EWEchN-j` zPeb13t!g4&Fr$GR+t}FH&KuNpSj}dl)kF9$s}%&et{Q-a`-r7eZz!9QQmUtFy4LzXyr8 ze|5aGK-k#*!oFQ?VP)ZcbNjP4 zSsjaG2bIVxljS=^AuK68$RoPxZj!$p8cb#MfR`Zn060fHis>qU-%3B7*X*cGnq2K~jl;+d)4y>{oK0~X-2=tBd7l-K0Vqt>i@x4VnW zqYsfUhiNBqS`3q&d+>7Hj5{sBOy#w3hM(E;CY+mw`?}t>hpMZ)yX@lbUbBGf0n_ay z3<_r+$1>nkQj{O}lZA#;>yeHMc?*g|+|op4uwa}<7F89>iTJ3>M`!UK+(eM|Bpkfr zskF5mxduU~@v0l^N6zM5=en#f(f92^Kmh?N~f8Ye@WhzohN!)8l~~tUVl1+9yi?^ zLsn!Du6YHjw91@T418{Hz84aGY4Qk`)<@6GLT+6Gl8vK-%*3Sf5AFuX6z=M zNS5qU{zC->C)Adp@NT1}!^6)qnjYSmIyve&%CQQ$@vi=GJH_U!zW5K?qJ@r_aj%sz zN(j_>Rsb}E&r0<9M88&~HmuxNQW8$=CVl~enmccJJ{9A6&fyur3ZgED?;BO)%SaXs z%0?sdf;PsmBokXTuGVpTxqV4x;6aQZO=fLENc4^4%{`YDAzHNxdlnripHN^f$DSRb3hH!rh ztS=tzWAR36C#7k@)E}A&v0+MHsX2Py1y}N`hU1Wn&uxqYhSBcq>|DtC>CQD|$F&1P zm|tSVd7(TRt|{q=!7+-Pfn}5E6>cbj$$Oyl;y%bZ&nny>GW2}enr#FBMGAXf&t1lbd9OV|nbVc~ygvnTdv?%OOgEn99 z6mnz>%xrNk_!1VBYI0tB6r6@B#g3@6FZV3uZ?An>Y&frpr@89qayx7h2X?%h8zMfZ zG~WEFzRuij9)pzYvftsQFT&Ccg)N|>F)~PL+gw*_bWD%d0xV+^5OZjO_F=V5Ch09W zJ_6Epp0nI9m14UMj*dtDDt}tBgLsOFhILj+aCqCiW7f^+9AR zCG0qgVcQC^ALzr3oE!yVSZ?3sxCD%)ln!wn*6p6-Ti~~efVUd92(uQ2O4!YKTf&h# z^63EKn#dp1*j(!=Ebjs#g059@B+*RviI?@j?qbQz0i!|1q(jPWarpEe;v(=Y7ydzA z$5&LG3PN;sGkD-{+d{g5cij&RyW&Mh%gw{a(rD?vTz<^>S${?B_W5+iIo+2%nuTBh ze`2Muo@*KbKxM~21$6WJ=#+PwIw@i1z4g7cffOPfMo>;enj_qm;_AFO!aU*T9)aZ) zlO0lLKjT5CcDzyN&b4^@()8A-P5{k2odp?{sqtDeg2{CcnG<3&oG3e9rJ_ReJMvL; z=}BHg2r9ZDLGyU}tz$VAn4TK~1z-x(;rrm_APB(VcJ=jHZ2vI-y&9wOXx0xLHzi zXtQfwa{;c4s}qA_@piskz3G2!o50eDmQ<>sCE(uXlf@`X)uR?^rz6sM@lrSXm zE-t?HpXV4@Y@NCUBtpjcapa*Qp2tLE4XOS&^?hh8cQwD7d{;bc3uPh+By2&r zpxQLKD)`kv8Rz(Tm8;Waa8L+}8*+QV_j7AH6cvJfd!6^bx7n^LVOR5vzb3B5#HBYfFU!Wj9exLzf;jG#`#D?-e7*y!7z%@=(9?5^oB8z zU`spiy-rAAtX#b|55wOYSx&D;?02-c-_-T}W!|%&WHedYn1AB~*9Rh#k836Z!E7p6 zJZdByduaiE!xLep1KZ=05_^H1V`~2GiwoX@t8#DSuA9Ieh-Jx)z8=HyW5i`0n>3`G zSyAn<=TBorfjE~rZX}3W>po3mwMhip>y`SCDRwuoTio=urkYVe_P^39@^0M#<#RF- zp0d09cmj3y*DNh)eK6iZPL+^dj<^H(n5kBr%X`>O`~uGOK$!e}k~St;@uRQ9_|*{& zOH2dCQj(bVdnG+$8sMSb$5`at8`}kIsq{Sa5j+h!hT161>481-i{DQ?j9+QYDtfVP zxF5nn)ad!On7&`EHda7DPlLWM{eIqz#{?l7U(H&rU9qDC&<{cLs8RfGVV3>>+{ZJn z&HKqP2Mk#_SMRL+E(YGj|J%yqA7BfXx8g}ba-!1w;I3Z`qWVlg7#|xX(f6Sp_Nh;n zSyd+PG@Rft8~BcrEdBvDWc3h%lGQ1@eg(Y?Ch$K!gU>6j`Q0mpVZ>zytId2YoP;;0 z%+s8}b&#|0zX*>Jwu8zqE>M|hwA6E41}DZ)NsU*9$a?ogCguysK+QnelgIs#+jm`m zJ|Umne_> zw5*Vh0|2HX5#A)+`s#XGj56ojqnkTchC*Y7?Hvn)eP_&Qg zeVJy_{&?zdlZ-7+faX8^(|pY(u++-Subn@C9xT9$swzV^xUHL0GSIWSYnT>t{SjoG zLxfRh0HN&O!^f&0y+5sk|2=|P591a5fcMl;J>x`&8d=Q(CCebNg!J!VplWRQHJVD| zuE})&lKLQVE=}>;Z?$AcfhZOJV;o7LHad#>5uxGTL3Z)rU_35DB{_2`@G$>-hPxZ+ z&!5kCOOk}}?jd+j=fe|d&Am^Kj@FYxjD0vZ%MCSi80|GpI910dC5W8L^Fx<;6KD>?oclEW0SJ z>@+Hez!V{WZ`>Vv!@}kF*B9VJjW4Eeb{75m;~e?irjDD=94e|pshF#^pK}j;PkHzY zn)mifEVcBntqI9dFelgeV5!WV-B4ch*(#YyQ(c1$NC zDu|L<3+1lz1CmUu?&zA3(BQK>D5E-aZfN=D1Z?bw9!kH@V7?UW$*aHS-#fT@DF5~X z5XrQ9?AG0Z+2u$Qd?3G-{wyHC>6ZSU9^iSpiRtMvYXJ_d^hh;@_vIKb{jFVuC4&`C z)Ch>3bt87@kT|>Q^Zf9A5}1DQEosQ1Eh?yM+-lT)jCLfYo$a+@CQ66dDX}JRAf)i2 zEe!?9hXBTA5SGq=A_g28)9LnELVbdMLM5j>BTRBSP`sR;9m~S0&%W*?YDmwcjd&`S z*sgy)TU-~|9GP^pPSW%F6NAUj!jD_h^TQ+`ueh`_37i5Z6sFEC$?$JG-n{!R1DCvI zb|RfpE-cyayKqYI_bgxTW`n;sJxv%=uAlf)s#(iy@?yv*{bU@x#8`YO@SCywO|wl@ zl@Hzd#R53P^GzhMZ(WgHoc=^5qo+QPz73W6ph!P4EmG5pkcQ?MT}o@rP`-^6ucv7tW1OnOQZ zaCQpfhUO|47Mt|fA>}d`NwD+3dib1sGUHJN1aFS+!8@Fay{m@JU)FTCb19idR0@aP=biQ^R2J?LCn zl%-50SfG3Kj>foLLMt4b=QQetMw6?=ScH|%2YXj0ooBayk){Ete3bS_263jk49}eo z#AoRpRNtPkP@QE$q2@~Rp^cNJgm_kp| zUQDFsefiXLZh^HXriT2oo-uXe%3(3XvLDKo_Z5so1r7oT)@axMQJDvCTk}r|=oQV>5Wfa%58=8`%D0@#rJ+KE_P@3RCN9F9*0wIcT2V?g*+8 zN1gMz3=@s_0?KimHLaCOw|{~`PFI6?&v*7CG${YpMH04h)tN&@g(HBW&vFH5S_FBy zrxQwp_8pB!_I5~o#@g-TM`xYZY1pO9FxL7&V;Dl*O{RY$Y12@0x>JB=eS?Y8fg~TM z<~ag$o(}ODHIN*B`LVnrZS+4q`b4EkW@Ye2#H)_-@{jnS`dHze>#esB1pxcoNHnPw z_{v>qbk_U^w2ino;0&)Td5B*5T@t9yIt?j0OugHW`d=tLahE*v?CiFq%m=Fq0N4sh zX;|kZHJ@h-lGZk;3kC(%KtZ#IvzDLyo5T+?zd&1re6>r$Was<@??K>O*B!-(XU7j( zrdo5_~c%z&`$=$xR_S5~|v0xY)wl>T(jEBh2vomD|&m z?5BfI=fBj`{Y?Dcvet0u9#!dpuP(Ajj>c*u|Lt9ovY$(^yq>bk-j|P690o|W3HziH z39AQycs2HqJmdrWWb>XSA79mb+>ly47r5_HlKNu9>5+#h0Kp;1q=HPF{xqO!o%5xq zzX}5@=J7eb`K(ERsBWxw9XR-X;O);+5*$tjy{z6=>#h9`#H8eTYh%j)ZbzhApi7l; zy-k`EnL7JzBcz2pC<>$_*R6yF<)2%8cQGaHKEs;}I%@}cC2(h7q96G5yYkx{)+Nn88$3k^l=bE=L;`#C-j1b|{_mTdon@fpNm+ETo-S}E zR<5)2;_NkIHr={$Key``&G%>ZrznL!G?3)l-?I})EkA^)oRbcR+Qh{^?=K$*Cb40p zxoiEl9$(biiuv7?7#!zOMfP4JYtutfzn0905SwHms}Qce%yYMUP`_V5djF5&wJ7;0 zB??o{e@jQo%W8(!B|Q@~B@)hS94i|jFUlQKYhrHbeZGU(;jz6M60=x3$&kG}$! zgBjhGi<|cK`xv*`>A;_*N+OTTwhA~KdNH_x;OE2EH$d@U+_SWZF|tdxuf@I+*NzR` z!>qlOGW8H;xfY9Dy>Ov$@{q+H!Ya~2L(3yCNJqC@0Q6pUv3z)t`g^5+n*&dkY)4=W zO52mprhv-yO7Wx}+P~}yd{7&0(~UOS9Vq}aDpuD|h}Bmq7?{slvoTg?+`{+o-*@0) zMDH2a?*~s^v;6h6Ll}Z#F0w=>l{l zf$m4|WoBq10L{}$W&o(LAphoO+r762sF_DGT5=s{k$eshG*-D($1jyeN+QALx`G78 z8(~8Zc^HrJygR_fyB~d=CvKQW2UQYCUrBHf$%iL=i!M!F^8Yhy0z> z!WoH(g>e_mf|TSY#&HL=aHK9P<*@Lp_vm}ZzdQ7+g(uDA%92%gs__J33=vQ8GBg7g z-JtBGcki-2n2sHC#%2Drg=`x$^x zWR5sIv}(^g-uRHEr67AKOk;^B>*wublE>@Hkn0xj43K_aEfLx0%VW9TD2t#o%oTaT zvM5Y^~USpc=e4h%H($Oi7?>NFp{J?bu9|`yfh^|+8})H zanujJ-uAf<+-ABbEsbBdOrR)5UKMP7s8w7Ll89f;I$zF+|NQ`U9FqsU z_EZh@UeBL*>xr57i(Loe+?7`-aqsLS{t~6D@i~*bzhB&P;gRy8kSptwb?hQuA zVyq(2E{At;5-BBTr#>>N&m`x6QCJ>9J*RvBzHGZnVQhzjJa-N*L;BQyFUpRHcDhCd zhuyF#`>B`@dntKu?E@RrbNPg}n3>SZl5|$d`VFtBikh;_;-PSGu=Ua&%4lG+MkKyF z=;Q^WOVrI0!uDRmmsJ`{-3}O7o#vP2f;XQfUbzpGRE6VHz1$!6P}tVJu>HvKBNX1UI-w{#V^})G2RH|8k*w*CKre?TzAT;i*1{^B{UJYE z0cRo(ne^@&0M7u`Vy91S{l>r>0Gq&i-+pJSOO9HaaCgI?;m862*>r*VKf^jXjwFh6 z0;RpJ;w!g{F`}4&A>8q~16TVJmnP6aBm=*RnqBV21EKfzK-s-#t9^~HSBNA}4pQkR zl9ZbcTs_Vcoz~D(i5*ibOJ-#-$(IUva;U&gYj8#)8+f?n2n=M}?v>V-1vC@zr*PI8 zMIu|b(H}ls(<9Uz=_59YLS#XQ5LjXFn7o2Hw^H-M`YY7T5idpb$~2t_)z5OoYGQ(n zsDw#gf2Livw;pFj`T)-ul3gAs0CG&YHDJnofRG?zzrf+(&B#&tPJe)gv5qitAo+_aDIR%)_}+4AE!Oi_ReA|`u%&-qRrHQ>swH+{%^>*QQEd+@tX)TWsv+Xr0IRhZ*l zkPb}He6QPDpYz)-Bicxg(zaaxpd$ECFJS}h)1#wZ%DB&;(@c3QAj^bNW zQfoB>`$&^Hy`gc~{S23>pl>ut7jYTV0;jv?>6cG6a@*CPE~q4jvT}2K3CPUeg1o%9 zh>&g?a#>?TF;1vvdY$jWg$whac%@iX?9Kv)4NfhEpd;MejPH=jfm|q|P(#b*Y6>wt zhim0+i0cCJ8c)T<`ppPZ9k@m`k{(o%U^>3*vP=%0b;d-Ln0HHg;}l#g*)}ZCgD(2` zY7VM)HMLGLE5TIiv;1!z#$Be@6T&rG9{hh&UjHrddVN>Dp>p=t`7+03;KUPGCVK_^ ze{YbeW&o`2<^iv_(}z83=3T*wh+6mWhk)tfI_a0k(!i1i&SH%SRsg5jIq=sDM~N9) zSwDI5qG?+B%9Wr|I5qVcI5#*2Or!L^YQZUksZnUc;j`AQTjXI)byLie@dum4dP{Dq z>W{F3KaupT>WjgtVZ!8xzkw5?Y(mCdnuk-letfj^X{lC=UKei{byQ`dzO_#VQn~*Y zzFve2Uo@m8Qh4Xc1u^D@ixm8Na7erx>y>M(qru#*&&)X*z2yn-JZA1ulvXw4kyu)2s29rlv&*)0!bVNAv7U-Q=nDG!cWe$BO z#o1h7gQ;d!Um=^?+$(gLxw=;h;#wbCSa9E^wXYbvrLD~hl9`@DAAhMNEscKttQd)J zB>TyE>u#CBt;7$N`vDNSlo#bOCJvuK*7WbY#?CEG8`h>Ap%K%VN0{f0D;ItYsM=>_ zIHh_`E5bVvOU8xpW1V~7sQ+ll{DMeU*&|J$$?-O4kmg0BVhO=Y!0HgNW&A^R)r+24 zWh=8oL_I(gGlT$rlOfZ#a}18_No9%1Cz+ehOVQUE$(nMgmmKQ^rU|YKH!<-&ut}s5 z*U%hrteE$J56iP%8Qqt6`$#`F)?`v11`b%DFGS+i>r7+hJ!ITHJS07LpJKPSQ`6H0 zvxH44LE0Y3dnvzyNhw*lr{9@!Z%^v!#zRiXWVV$`__V&5&@(pO(fvbn-#e0gVq=Z@ zWnD^g_qsF?-|SgTDYGSrZyONFsPl4CEPhF#^H>C&r)0Y_&)4Qt`&X`h5gr(LtPb9H zxina$ul>aFTt?^Qrr#DYSjT0HbG|#qu7nj+diO2W@BM4xr|PFmxU?y?#`o`~zIqH8 z@5yck`8F(B%U*#h`$($W1Hof+T`ynj6}hgP(m`j=__xRkQB8feEcPO}w_!Y{M%|Fp zEz|4GP4&y%@>^8jhZM!4>HGTnAab>AFxTf-6hJ1W5sir--}2LK$pgkg$0*6EGTY*0 zDIijw1aJ~0nCD-AI$v{d_ZD8`eH(i;Z7R{&rsBmGA@lw0@`Lp)owA;noNk z?*8MXt#VnlahA%~Q!e3V$;Ab=_T|%SnTTDj&M5}D#C+97IP0{yYzYQ9h)wK&4@ygl zSHjOu19Nw{@qlmgl!me5z2A-u6LDsno#X2o=Mt#6+5BZyZuwF#kT&; zh)@toOLeq(L<6F&ejLYO>hHG^4~_~=5VdAPC|nfgmDkpv=={KvS~mFLp|)y&3-6=! z^pu9<%BMnLK&-DH^>I4{IuWu=yU7zrQi>z6yl})>8Wn$Y3jksM+8tj<0ZRF8D$opH zAa6)Ax1i50Btr&t1i)@jEVSUb1X2H{uH`4n9s$hlcpgi)?qF~s(^hs|;1Ih5{4EGU zz@NIFbpMqHjFcvQmoiSEwPMS@ETK#HvjzLEK^u4yp&QP3csh}PhJVyo!PRoY{<=j> zk(Y^ZHX&^Hb^tSKaV-V8X7=)nP zXaZ`!R&zM0Y1*e{rnWy%pS1EA5DEr~5hRk5sM(pqS!;{%Sy?gL5P_uUI50%c7Hh_% z?kS!(Q$)`;hzN!?QJ^u*WW+Waoz z1jf6cVupc5=(k|=;~gSpzLeqJ;TP=?c`9(2@&X3@?^TIX-jRcR%Fh|QPmdK6KFFK4 z>NQ53da+Xeei@yJyjx9^e(y`2>BoblCcXscg7x;P#aEuku>8(nJy9E5;Z zygt8=-$Bt#;MCR4=;-#hfTKwjMTh!i2*>mq`&nz`$Ae&;0E-1 z1)H9;a~c1z7a9Q?Bz*ex8)LQxKB1`$8z6Em=wrT|=Vx5cgLU!#fLDA&?`&@amxUAQ z%FQN1!(jDK?BK~fo_1Zi|LWkpJkfAlRB6{m?4bW&G?|wF0m+k=8X~z~kxSiNwoID$ zEja*r?#|M?Im9{6q`VX=dmg+R4pEwqJ5u7{HqKY?*4MNe4vv83+MVPz;cLSfE+r#@ z&pg`HwZF$K)1~O3Wo+yE!ocHWpD%7JVK+Q3 z7<6Ak1+S?{yDM&<%;hFEe7QaZRYW=1<1#?Kh3IrSnGal&ivTgU%a6X69+5>fvX?RSham3-skYOf zNK5qO7gOp^(pkck<~1)kUSQLUidcn&ggz>;=tezW=zh;i2y>B=?J5H@cj@Ob+bgZ) z2MMxP9PIqwZqtg6)GW!>d}&m?tC5AzgAbErhlA|5&(!@2S==@LH?A*T(sWiM=g|3E z(qgZ@K8@Kfd|Aq`yCzQ6L8Kd_(Xd0#h{WH{Y(MUprelq)`9uuniY(?e5aU$9%?qej z(A@~U8#s08#!`JUIPftP6^*>6)zvf)b|U7OUxI1pAX1}tI!WqRXzZ^QrJ{1VkNjFr zqgwYHuor&by$!Nt+aq}7hbrBq?&ceuR4mBNmARwn$PwN}py6A+^bpG+ta5Suq;LmD zsKZ~*4nD5IAAvEh_Sh`h10fSa0wCfwyn_GO!5mT*KR&r{m?E?s|<0 zBTWqfgV5@cV+BnP6iodOwg?^^&IbZePM!V`k)%k$ zX*7stZVx>gH#1$dUEisKncMVhgRHDCn8tVkF}4TCT;m9y0dBAwJ{~Ja{D7R4@_xkw zn*&a7yI=e_mg|@J8g$uZN3x`pz&}+4B;~!hdG}G;1bGkV*7qIQewx;ws8jQ7)@)0J zIUoU#FpiC*T5R{Yyd4%wiiCCD45p;a0ts?XGE?Q9*49ad zc_5j^DUdSZH-qvt_z;(J`fhHx0s(v5jYA7iF+(%SCaZdgAbUGWms@8QU0vma<$+UK z?)1n>dhRdf+BpLUjXBG0THR_lc|^uf_01US=?Nz-!+N)tSpK3J$5R=T%Z) zqHkS9<&b)?MVL!?4n+M=%ld%J;mzM$?hxq{s2-M7*W?ndQ~sOSy788>q69BR6|^65 zCc4Vf2FVDNLBaXBIUtjP(}*uOkaTroxh#NyyVS`HPkZ{mU{c~QzZPRMl zU|Uof80Uc=cclurMFdYVvnT+JM79E^=$m8s&lq))7oXO%M0kNPT|2$5w0sgIgM7ZY zXyr**G7giYNCvvX1JpF|5*-{21nO26#!K@KX2xOieY6q%%Lh%NZT_U^=WPX*vaTvV zT8ET$*HdtL)~0B91BKX@ow{f>4qI&j^%2Z*FnZkSVDxBm{)fhtV9|iAi{Cn~UA?LW za!N+G_yJPhF>*MGYn?Uz-|c8)&y>Es6A#ymxG{0Fn4 zErLiOfkzu{eYGT1yPZfzE_J7#c!9j=gc{gd=nnC8tD$h%p}``v&E%dF{pyu){jCSk z^OvkC9-V;$^$a{;m6|Xn1Bm%uS-qrdHNW`g%zAJ2UtfUVi^-G~oNESQIeArrnZ7rH zgn6HLe@!w1Mxp$p*StE`_X=1qGYXPZZu1Ifz7rm*t}7R>M^ob{j=;y~|7)oSQUQYv zcnt!62owftKCM8YI4gsx3?+a3C^v5pTB|I3^w~2sBlMt!SzB=njPE+0;C(d9Yw3tc z#d|bMN_@mY;dAkfr!HFV5i_gTaR%g}|1Nr#;6l@e10>3J$l8s+0(oDi-$&!nI^wox z$d&X*5VeUEm)-Xy7vnx?=C*;XHiD17@@u`?J!kn&vI+zD%HI9QZ2gPTijXqj2(II^ zZ(Fbt@je`gEW3P#A{lcuoMo5m)lCH&J#&k+i?7G@UZM6L!rg6J-jB<(b82lz|Ie3y zIg_v7tB1ra00yuxeIAebe=PjF8qHsAAibT5x$H_E4rbf%a46*saORV~*vxEbBR~h7 z;N$uCao^*vXYYoXrA?)g0)#+3P?8?-co+B5Y}oy$4pZK_6Pp@;kfmD+vIqVbRXQZA zL&DCc{NL0BavP@z<1zitg2L)me~w?6d6t$8lL7Z(PBiyVQh3g9PD{;6$LU=k!Vz6X z9x|r$bm;WNdi0VP#qqQL2Q?Tkjyvpi30nc?3-<7Dj|w2*8Zx6SYX%{0Y5lAMc_7H) z149L!kY~Q7rIL=ld<>ltvJR zQP@4Nvj-;8V~5r-OOhQZjVm>x+;LdkWkW`FSf5t)Sb)JMRI6ffhbg#Gi7?RgjV3Cicsj4Sa9U^3S-YnK#vCabq`aoXDPEK z#qd+gnHUpGR`vT>$uwGaF4*>pSS`_g-ttKWwm6M>K4mI{RHK?Xi zjfpYoumANRQ_B5S@mk84513&j!3f0$9{8vbQ%V0a{l&)@p6_qa`Exvo zR6|I;RQkRy{!${9i+Wy)xY=@oa$)d6z<^ok--z_rA~!Q{TRna}X~Ct!aD0+n3s@Ab z^f=7`HnL$YJ;HhEv*61_fE}gb@;>W2w`^`$r?Qx`n^J2Dx33hP#~ zC4URB&ic<*Wi$tDOlJ?VH2bv}k(F0mJ+pW`T$m_K;8aT%rH?1|KY#Jr-T|9=bqmtbF$-_FQW~TBHn;39NO&S*C6SB4v3lTI>HE^Z% z_;b5^Xdo{9>caX_pXUtT#Ho%_-0o_Px+{E6Inj-Z63jPK4arxVU=NKX+7%25a|&aR zgV0?&9kic*)D~X+0KYna2V}*-{t#+zKs>T7!5aV2ZLK6H|6Ew{>gZp}o?+45=db5E zbCBQ*aG99%&&X~jF4qzXh^Zgn#9HG&D;Wih(?&KRAi}kjcit^V{G5*f;RO^?)S%q! z&D7EO^Q`r42>bl~{li(04Mjj$0o92#R;o}fxZxF_fEEV|YA$}-nw*-VEcQL}-0_7) zRFK*0ixijH<6o(>pHm?e>{%r}kQAwyk4m1~xMg{KLhfO7@EK|2pFJ-7s8Y>DGQk5k z)dddlq!2IUOShviO<#$@_s^Mk7B+}+KH?czTtZI|BY_~I{q)Qc?Frf~<3!en(Dx~3 z$c-cP@SvgdXW<^bv;sI!8jrJpKDVv|W8EJ{=F8kimD~`_c`cZeCQ9al+sD)MF|PSf z(xg-7wq09hk}PeoN{NJ?dx6!RN%QFK_uH{x6KpS_>|aVp`G&N zCCB^r#Q~Q=rIvP4%q%Cp^rvnGp>(5_7eDi*mBXME(}%rPz*k5Ge2GJfJ}TF@IPFq! z!R0@mzgn4ARJ~pQKpNi6bp7?%WYo51GRqs6HvQ&`S<(NjV(WJSkja|WFQz;PQ>))+ z_l@ds6@j^r-G2Tj%4a7lXY+$ibYV4IB8PnYvm~_!rPuwTLtDB^L#Pga1x{P+g6l_w zay4PR^aAWX@|cRCnQvH&!=jDf5Sc$E+|_MBsa(dTxYK>wS{fLENGY;zSua^PcO>y6 ztbdD+lyBcIImLZHfgQ6gXSbm{*VTAg#X?}{rvRi>{oswr2~FoM40hpy#n~GImxbUo zQ8EjE7=TEx))epb(BAq6FNz-%A)|TIh-!W!c&QN;n8BL<8fK05mih*F4qaB?MdUoD z%>IEY5t?XSQ*@Mh%}NZgI-*=`7MU}e1G?t5E#ZVaHS$>P*|r4tM~%ZLv-LwuJJUhP zTQ^Kr-g5vrmjak@0fjzJKs>#WmkfU^y{4N)+_8?GP~;aRTy~}Vbf;!nXyW4dMsk&F zy|vPWxi07-mmF4Q@TWlM7*Zs~jx5*?c6LGdjwz5|3NR8*x}8k{=EC%PRNd;%5>a&G z&R0;u_svb;?J3p*G911jeqGQUj+~p*|Bfn-_TFUJr2g3;U_`;d1;0E@!iFqj25u4K zswfSJ>~@_-7pJ6^Q1Dx+#QNo={geG07*Ja!?|)xF6g26PY&fLNA#nVmdC1MZj(fiR zjjE(T&g`G}j@i5kx)io)btP3YCy^}DN|>Hsozwd&kMu_`0dlouAn7LORDPO#15_-4 z^Tc%S?X1Eq&Uo6r49$7e?i*3KP@kb6`{9}KL1?7HlP!4JGX!y)rb@;bw*A}_cM zA*-<&+IhUs)CKZ_!waaQT6q5?DDnOIoiAy>t~*4Y!)FgFtMm{l}pIvQUfa`}&* z-E5*d+DioSc~7V6=?uK~W**qoFNG<5W`a6{RBC z=+`vO{5RgsQecQRO;+`cCRh)LKyyRrCi|J{DO z`4EJVmR_PKhcBFnqR7tDj+A0;Dc`lJO>qwHNpHBa^1-S%P8Yn zY2mkOCmu;&O)iIh80;ykAi~ z`=YeR7X%nW2EwHH!uKzsF;vBxfy*4-h>k#Au-QT_h~p%OK7okCG~S*#$4$j-axEYU z^p=RJ+pd&%0nGCI=75IC^LZZt1bx&`WbR>;oefd3L6LM*p)YjU07UiC%~?%Bq=1F8 zTcrmO2Lwr*eTXh)7l1Lt=8)9@{vq5OF|Gm;NU{zbclM~*w0dxQ@Gjbf{30!yE{6sX zq($tDQ0~0x?rxYCHt2;dU{aXo`QH@!jJkq3N^-;`CA8PM1hfjO9AQ33-rDH_B< zskcA>E}rDwAL|8!om}-#Geui$>3XDwQKf{w7FY|JW}*CN%mWhxnzXtj*PyU4@J zFXm26Ip4biV4x7!p5x$gScK6CB=+6E7kDpb15R{~EZXQx3 z0AIhgw_gAZBdvpBP}xyF0}h`Bj>-B!&=oW%JA59mF(15t+No^~)9j^j%n>0dunip~ zh%25YlLj*;hG1s0uGS8xOr(ZQ5(DPz2I**_+J9>)8WD9XzwS+8$1Mjcsu;7SL(p&{ zTe)Cm0yrq36B+($km52{QG$Nn=8^?0yyXMxIZWgpTD|;Y#kcQ_kYn&p7Yr7NtV~V2%pqT zW%I@8xw)2xBp|@o1@i-F>nhJ1hCXJ1eW*(|Uq^OGh<}$Ax7z zPJZSK4ApKiil_i#y|%*o`9Ft;*GQj0w*2{LcGrh9~8~O&L=MMgMb?L zi7nWsYD8huQh+fF!MC2)EBz6kYKmM(q>4+Zpq-*ALaiyjOm#IA|6pz4140TcW=^h@ zRbl(&(&Ndec|(@bf1baL-j%EatIkIo_ea@EK)91@0_vUDI-H{pJ*SziiC3Fzt zld>+sf^hD&=?41eJKlP$^{8A7S8r67zydJ*Bm-$}c$mnt9`jqu2WLxgFsq(8n7Yem zvmjNqMfMDzw1_*z$e49Xtp5g(rBg+b8RZHlw(xC3j8n51ip?;39i=@nTTqD|zSp=& zF}tnUx5ZsHsLepYA`vwE(a}a19_9YIVWoSAaN?z6SCm4JK0=}#&QAWTc)?=*TK;Jr~D0dd(2Ok*q!2^zd^ zl)F4N0!sAW8V7tpkdJ?TxGixcHZJbXEq!1ebX@Em3dE?896HJXaB*dsF%p>j5Ce8HwLr9%lqQ=AjA~>zo1}0I(|5 zJI&Pu@!3G>O2)3VSXQ(vILAF}JzF{}*fQ6b-Xj+FRy+Rf2&FRC z?s-00J?GJSwbh1&`iJGjgSsL;6I&}f$k6?gLm!b)^0{&*FSO#5x?_D7lgxZDRiQS{ z9D&xxJ&}`~u@NSK*0=D|Lrz8o890%BGIBhI7FisI5k|@+#O(JYaJZ%GZ+=oh4aRd; zIUThKr3RRKJ`TCBzEHeS|D!x*%cY{{As+JH2`~HK+qqCn7+yU^QN74QfbGz>|$%oD1$!JKdsFJ0S*&{J0Cnp)L5ONm{ zy5cl$+&sLtJ#vAuM;5=k)jd~70g+ACjmF1^<3_@~NacA&x0Wi6*ylp&=TT|cHU+OL z?A{urq_jIx=`MlYl3mLr!xzqV-9qm!8T1CimX7(fHg9w(<({t}{#wn+MUDReQlLmj64 ziAvZ4oy^l&U_wmj>q*soF!o|RQNq;X4!0rn)Ju6}V zH3-MS_5py6+<>F>v^mjJ7F%HsE%oCx+y^@ZrSOU-Lb-wM~1 zrC=fN>Y+JBUZht7*LJzX(ZgQyhdC51orrA8q<(}cpl>qZ^*@I)pc5JB5hZePP_o_j zUYJJGzf&i$UiE-CU`gTB=a}2o7G6Y?DRIa^RX!Ami)(5D7go5y#P11HC12PfLqgA< zIjlK&TmZeKPL_Q-;Y-u4DM&bbu7Fqd9>)SW&oJxLdL-i22c&##@t z%vQXSJZJqc^x!N?H_2gihn4mPmqG;;s9_1V(%AjbtTBj89Q4yixe~#r;9^4<84O zQk`ODfml@qMU3`K3Lp0rpInw1!oE3L+yNl{Z=pkTm?yuN<7@8Bo|9{+=%}d04YzvX zqtE${SqubA`JoL;FQd38VFc5L>Fn)_W|;E9nZ&%ilfJj7-=ja|r^FF8loXepyvv zp%zqfnv(ndrF!*`)ZXU!jwb{|@pg7-Vqx!6gyiReIQ3ohQi8$7ku*)^@XvzQ(5DA= z)MO-YE%U1v78e%*;(YR?q#DZTfsaX?7h|dPlBC5q*48*#W+gkVG#!@u#DdgRa;VT| zM5ed@y2iV)Q?A<#^<}fjA1Jnk4l=$F=vZoMb+yqs`>B#AIqw>RlQ>pBO*@Miez~*5 zd8`<_m-@_DM25RhVG#xX!9RYY03SQ{dEND*ij9pZ1l(3y*N){5;Q&&cm7T48_wL=! zCUy>vMneWixrFCub|=^OJPSvDX1pLX=bUKkXJ&0BlMsY@@0>W&x}EgvHr+D>E-z0! z^zgbu4lYJ0j4`C*GJ2`uU2WsN_7CF&TQ|jsjyUcoqf)W^cH|pS;m#3>TG(*)$JCJM zl+y!smJ&da2VJS)7%6{$>bgtGU%tq_tM1|tubX74)Mp|q|6Ye^EVCJrc%pQBRL#BP z?uVx;7D_WIN~+xFlRGu2K1$JhM^y`5H)M zRSj&z4it2kQTvMPaOeeF;FLa~6MaaBQ`}3>gv!F7)z407e?94(y zX&S$d21&AO<~Faun#YkG#22-5n<-gYw18%Tr7ZJ~a(=*UzUx^Xu6+B(4aQ|>k5;*& zWZ@e6<1~=}QosS|eo9$kp~Q*;-62RuR<;=G?5w6y?Qp7kGqMSLgha|1D!yK80#&Yk zT{R<3U|o7_g;D%Tc7t<8tbr13|Z>k(7P(h);Z)A!+C1l*BC4q4?JN#D}zPC7Hob{kvgr}%0(c1yTe z-%s}vAE0JUEtSybY+GHt&`6=#w7YA$NWi1&OA==&rzmO|xn*e0slAo+aju;S_(%JI-IQ?;mn!LZ?+-Nw@`XsvFSE<;bIxCA(+H9Ho6A~gOQ(Y8Tkif@f~wg($LvUio=iu?@qo64DMjPvzOw_)(UHa$Y~0t+jCG`?pO zH(m(k19s4}Zx`iNLS~XH=Lu!0gHhXE|4ES!N!(4aTz^t}054NX*HY(U;^xY{ZR5%Y znAfE(%+r-iLmKMue%*u-G0*r`10K^k|8SswZe0n_I>rx)9*2w3)rTv+VrD8^(`*(13xSFIbL$8#6b9UZDB*Oru8^16vaFv_jsx(t_ucQz*>J0 zn)o%Sr!aD#U8DR1ilzTr(!$X(uRGi2tbqh^e~HfxQw1#IB?jTO68#o>+vxW{GS4KO zO`n|KPRqb5g3T`?-k{Qz6?kztNrNa~fXI9T&Y-gzdR(b3>Sl$H2XtwZMLLVtPMkPF z<1+4cLWG09`s&_+f_?mH6)!KZ=AFf;D2~Y@c#F%H-S)-6Qp5Um(|f*?T)CnkqAd26 z932e;BCnY`!I4%}r0u%D-o&`aQ%mCwY2CT=Fs51$%Hl~#;ecj;{NOXdNC5}O7a-~n z3g4=V4gF}N{)+O`?hf7HCz|dpV1=#81Br}Vdk450gn_4pH8Yk-jAw3jb)TSWkwLcJ+D0B zkqM4}aR}kZF$G-8%F0p#DW5vlgD1nz#1EC*A)KF7az_R1@QI5vgOoyz11F8^W*q3~ zImH-AKFrr*&N>~mWwEU(GHW7D>dFGmrg$Ozow^K=gHLzX<-ugFAD4nBkV6O>@ z?r}nH&^h3vIy4QYH^TW2woG)mIui;EJitM`xY5kkEyF=h7(fv-S8xjp3o&tTe4{-S z_$aEB1GRex2Ix;aud0JdoRug^0qw47$jPpY-9)>t_mF#tIfuRz<4X)qL{p``tO56C zZHB(xLXBD19ChJ(M(pY7nY`$F;_3;W*JVX~^}>rwOMd%jW%aaPMA553?iwoVbLuU` z0*@OEJ{vuwug%@RWa%3-*Wr@<6g^?|-Ey4+zyv8Tf0QPHMl!|mc}WNrzq+=uv3UAS zCYh)y9|bn_#Z*T~6rrQtp2YIrB_@WJ?4Jcq=I;N+_Z(_Dl{FJD(n0wjz{{!gEL3@`(B=uH(>-Y24Q`VCtH<9QS>hOZ%E+CfCU(<_wcG z(tDyQloTk>du)q9Tt^f@M%`<;+|G6^NU-PUwA8s!~Srm2n{k5i~1`bx>0y> zRLD>9l0P#UAII_~KP50hK>GEX@CQ@V8kZQ(i88PHfU$4AFQ7nEkon}2nwsAVL5a*{ ziqe}MV%7di9x7gaE{vY@OGK0mPuRr`%9qcY9srGl@i7I02$>2usIaCz_^Js869`3T zMWP;qRBQI_{QwF&HhWCsH1XryN8OB+b1poC*k{*!EN{l2%NvFZs>=EbWg>5$6T?@W z+X-iX$;C+Tr6u`jQqsJeP)R0u;Tut`=$4Tk5VoOPP7T zLRifkp_d`>^azr)qbh9RYMlDxpiCMm89i zkA$QiTQ80tSbBS)D5VwwaYacp=;-KxqyFyoW#{C8pl64nX!rjV7VF?$PRVt zVgiEj(g$$9rfb^Mv_iMd*<=A9oI9jzXecUDpeyF5r~_+L8PJ@YJqOJrNW(}ERQXFO?RV`I}NRIl8= z&1T*aC+bnjPTodSsUMrpLd$X~32etT6*J-NwGeKbg33GS5OfPtRjn8ITBj$2@+($6 zZfU>%N;D61oAl#6E6eY(0#2!f!f)&~W<2P*o%A(~c)!R)c6PgDZf4sV00DJ=^i#pN z^oE~;!w>gjUeVa!+~YpY7Oh=h=>vWzuKWzD`*_I;f(GuQJO{l35d@BZKa=RTg}KAz*4YMPmA z=DM!WdcM!sd7g8wx2i`USgjUo{V=T1zxD``%oA)l&^W{rg=Xj;V;3{u$xfA_!w{b`vRu5j`9H_48Ug zN(DtkJdfA-of+@%YG)Ht4<`DGv#MO3gVO`L;SS`PTbMc6N{@?(F4(z%T?q2=^|gIw z$Kz`feQ68`mzR@hxItG`H!U*cH0KGqsF!<(;}|W&0}1e*+qa9n*;g9W zd_NBJ%o69FF-$)^VaaT}sAn}(SY{}W4SE^@zbi0){^$Zd_<^?rhHnCy8tchP#N~z7)MSuY5AhaG9=jbqUjIVQsVMXHK8Ih$M=zEdK+pXVg7hd2jiT4@sJ6gJ zb&*;2y_xT>;OoV^3JVK)L-i0jPUDJv-#WBiTqcy`f;tp<`j}WK=fYeL ztD)zxn_^=dk|f59=MI03qL>1oIC>7YHmZHm0fQqz_U>z4Ovfd?=8T!*O8Z>w4X=0V z;D2aez8LeP&^loIUq<45`%YuEA)N|fcMAG^zf7YAYZhd1Rh9vF1$J_De9*ffxEicNP9vs-%{XJUnS-BD zoak3h`ZMK@eqs{bxfdU9Kw-oIt2dqC4qEjoR^>GF?s@J67%>K?oW5H5#V1&4#&f6D zIL0m6kdgyQf1;@c8%6-m(sGGhrSljgjW)y|y&&xruL_uFaxw3n=6esfv-}IDfB*iv z)E0QH$~|z_J811HDIkAldFBS*0i+siX>Gk|VZjf1A1?hccX4KJ4y?eY`hjaWBX^-R zMJt${Z;N#;Qtg)3jj}$Tbid@*-|Cv0kqdkiY!0H(lgFY6YdjNMP)IJDk7}t*Mzc1~-Vhz$xLh>Ljk!f-W#w5G z(1f~GP!XCA1r^Pi>J)8#ic@Pi%0t>vzFOhC@f+u`(mn`#`0~f9yE7|gzFiMEiQ!Qe zV=Jd_rv%>*d#_D78LA+`^jBZ_!Rw}qT_gmc3Zx*%6`t;F5P&l=bn)6uC(UY@v+=KM z4MaSUH|F5Q;Cq5kB;M*FoT$ElYNF&s+(XLr?kIj(iY1)7_NSXr{chS~h1YmJZbd7% z!FpG8@a;)%=#(SW=Sd@oV)cW@UO1)h3rHLBp={oP6q#K{$?xUfFHRQ1*Zu zvyw1Ceo-%#eI^=2BS)xKHACm?fPrwKKJLAEpNEn1H)a~|8?sjK0xO%%Vf5 zt`oe7Q!Y>~$iyY)?!*#Way&nk=ytd$0ZB0%_*veRS6Dtmi}rW*^lYvTp+!J!Y;5(f zFU4FR&FohNH8cz(4lH=*bA0zS%FM`6vtG0jzV@U^U668DNEFguf^ce-3Ni|YF9cy2`(cj>YMx*TL z*hMWQ%6my^$h(;j+}vVd5x*1K3k#|m8abBU9C|1-YQtXtomf%u~ec`Xi{btzuW&zJa~s$yXx(M`(?J(2=j z{=8lIbNqe7TOZ&QoyZA+eq-v=e|H^!o19b~xPAQW*@Ga$K?i}GP7S=;SLr8}t;f|% z-xF|@&xAC6@kMv{br4FP1=TJGZ(j(}!!~V{?MIjyVry{-vtnDSWE2Txry^wu4_X{h zrgB8LqqU^^FnOlHCLII)D`b0f^Lfb>)1M#7_dyiG4YPDcFg8q}zCs$oNI@pl1OFpp z0uS(^lx1|T)GO_oW*kECkKl`{`p=y2! zG_tq3xf}8+rtuKXad!Js9H=0`d5e6onwVCAY#gxn+D`6)zj2~aQz5ZDEAuPT-)FGp z6b{$N9eXRn0fCyG_V`~^>so}rz*&OWLDvE6tV^ZL7luy)^(`-qSsQ8{MoYz=v!;+n_Y~mzx&eB2ki71evrQ_Hn#t{ zqUSM4=J_X)%!4>3hZ{HJ49EIU?+;KKasarZI0OxryVI(o_ggD`uB=@Bp*R|TB>I4> zv=*?u7;t1+hz7^a#F0odzR99}?|F8;%md)Wdop)Oj!uEOrKJO@n^q7~H*Zx#a&O1P zwky*9KCi8rk7$g?H%@4#@J7Z{#y1fJQ9(H(I(XW2Z_Bi`wUa;dZ3iS7I6HrDcBRgBugd_Hx-hVXo(c^ZsBr2g9%gj zJErCh!o>1(8M`7Z9PCBplXGOnjYJgL{bC22Vo{lN-zcaX3kudYhtjjy*Fge(jfWXl z+hp7a|SovqV zqY-PjwJFO1S|ppk+i_%kaGe2!`Z9IuE6h&v=LPZ$+d{F9yOFCD0VyjAv4$Unksy*y zj8xq3w&Jf$Mbi+_eRhFoKqs&UlE=$%==bm6G|Bs8B9Ovb@r|GfWxOXeE@P)!9zuc< zsNzVdu3msa;GNl@g!_IvTz~Qr%*@P*KmY(k3Bp~zl=o)+JuAcUh=WALm}SLI)tzTY z)PTjdwK#bHC@{0X3$Uk)&kS7n#vy6~*0Jwk#imD%XZy+75*5|68f}5`cD}H8MOxz= z^IIjqR~f`_hA78y01J5{&mTMa>|&=gpYTONK`(BD6uE-($dJA=fJ=B{O zkqV{1hqqX4=l=Wfd8z|0noXQk9NPKyu}DXMzu53-fB(L6y}VH2gxjZ6W$eDt&6Kzo z&xy1A$ar8+!cfiEor_o;ZL0{BdHLBKGR7 zTerZ+gwN1KGC}tAJ5#LCBVlNYJZgqM;ZwTQ^i+j&IzX`o+o17&<=r~1c^ z4-%5#8uYm%*H`Y)+IUyDl$FLzCV2SsT`|yf^(_yDy_bg0%~I}6{|s@rONcgU824%k z%{Hhzh(+HhGoG0{K>Iv4Ha0c1im$Ke;UVgD_nIw)n!>;6;i(G>Ba$jo(iZ0W+4<)` z7@i8^;BW`SE&Y`S3$&{Tm4a;*gfqsQ*E?cqgNFlQJ;mV@Dv|A=(M*{w`y`VY#JYX7 z%`?jPCq5*SR+BT>=_0MDh(rES;w^!>eU>#(J>rxpwRdr`zm`>k?`$9(W;P2l$Y~a@ z#3Rlu^t4QxS}?X~V<30z(^-G?4xImoJEMCS;y3p10)qjEU3!O7b*L$p;st->wk@973k z2MT2MJ=3L3YXwA61mb{8?ltgoOkRp3!L-41CYpZD!%VAZ#V^#P5zoEC=--p z)9=Y)_Ka2XIi->6%$#l73bE~IMxL1>b;?*>m`uQi^O1A6H3DL9C*Mxfjy^#$v<-ZH zHX?-)h~8kdG=F?}-=OlfpZymwvAt#vG23ZKkQd8iP*pm~vuk&*a5a|hH88P`)8oj; zA>tazrGs?Qleb5;f)k#Gqncl>C8siy{?PQ4dp=Ql*3J%CmWd&6V1AB&;m3=(V|N!* zI>`Y%LgZll98)?lqWH5t|E$v1MswxpslazdzPx<5?8bfsVQ&v7-y`7&WbEsoH_5(E zfwfG6!n>p2C#gY|R6pFgv6xGWqd{^XK78<6|Dh<{tx(X5Znr?kye^aFgK!|RgI!%H zy&;lUoZ{=_qj7U4Aq&%SOqd>*aXFH@T)1D*DW*B!q@lV6An%Ub1!XsOxZLLUc(DY4@l5A@GDNcvZ|H~|VXW1!K82>$^u*K- zQNbV=f{V55@0pCY`ZQ~!wAljo=Yb@Q+Fo}&=B8kA<;IN{wLD|{%L|Zmt~W{@n`(fo zux{K-<1AY{*l%V@&6^jVe6Zn<9zA+uFlejR+Wvr^mO4g3=>Oqg^48$#Rhuqs(|L@U zv@IKZA6R)=$wwAo@<~Y7kj04U?itc3e?;kW@UNU07tOMcaWAGMDQq55d_yleRnJ@L z2#p25sEUf^XLO!z7SJ#NEOLTg4R};m#==Tie*xNM_p_=6zjhnNNe#@gZYUT~Vq1Wt z!jvl{rjpx21wDsz5ahy&n*L_b?7xotuMy3Y`$Wt0+;y&#ovqajB#cl^9|Y89;`%9a z7RbXbu*T~Qo~=U%!E$Zhmvaev%UH~CFMu9*MHD)28!Ckgs19`4b|2VqV-D0!>19D3 z$u*kZd>!zGRqsLKx9OUoPkwY!RGbKlZI}9aFvsPuEzO?sTm7LUk#vV~9;*Tf3<@PZ z%|hbLgL^)^hEqJ#6Y8z>KQ;){`+MMkIRM@`{wIW?#zCfK#zhqs<%T~2{vAB5L489Bgl{D~?*eWNCXm?#{J>tx>&C)xjE?|}&}z`4~C$uSO8 z=z4D#I*#;UK=x<_P##}Gno<3Mm*E73aHd|E>xziBFb>+B?A1Ybu8*c|?gL}&pGOo$ z2X9UrCB469W@dZ0E}P3}((;8&|c zn^cD+mAl$b{NIQwDiXECo}2b8?bIM6?qgcye=t*Mss99rn2yV&bE3joP5h_+A)Jn| z9+EvV!-NCY1ykRB75%pn<*$Dgt_K(bM_Ny0#psC3bI|mKNg!)4#Ka^3R7}=fv@JpU zFUJHnQ0jZV=D&kXVM3ddCy{L68xx)p_k3oU!|gB#7{-vy_f}`HK>vM2(*uCu1aMi< z?*Tqk}x$1!v=Wgrf`+;jgg9nmR?F74BjZq(OP^)P~Y%ru4>u zJtxhvwro!3G6p97kM+W{$%Sp2DJ#HnsNNcJ{9o)6*qiY3nx9Dw4&A$AjT3x^(3p?? zC7d=h6c9|99ys{Se>1K#nxRJo@>uBKIJhBM%4*xzMl5sUZ!_MwDe?^?@4<30w{Ys+ z?TcCN`#PsN=MQ;HQcp?{z8^{|OxaIBJEb@a!nCJ}SBMc{Za5A_(QB9Yu!gYH6G|F)`IfgHwASmMj+iNmA&6 zM-cy$=C&PX?=4J}@7okVt0Yc?pa(fe)dnt6*x3l^K)sVw*iUD|fV9y|zlOz?KMMYh zeMu9aIQBo`QtS3Tre`!p(>4fqZTm*Q-L>D@v^U#H|3%QJ!<4jPm5HSDG7Fx+&&!em zWF>;y=SU)SN57YJ3m zaWQLDf1?YUuDf7(K0`5TOe-rYq@m)&SjYyK7EnNxW|X42*IsZ+uy~Er56jLvg)L8AxgoB!)@mb z3G^N<6sKKhOS*}Hde?RL&b;MAGTTU)G|rUi`HcwzXN|rTLz21=nnDB)BMHnA8f>y) z7iJ~(da$Adjn&pO1;3Orv8TgviKy=1;YWS%Vt-geAO?*IMshYgbj3alww+%Op=A-? zarvT+^!_{V-4}BT6UC4Y{CRlo_@ZSw5khk(B)PhH2X8{F@2uB$0z<1qnvQ34*$j+b6AK z;mvL#rsKDtz29U)9v%`SyNAOt$>G$TY5yMO72~AGr8%N_i8#mvrv)rax($3vBI$FS zx=0a;nrZ?nP>|QHstrG50~Kd@L+N%lU-z^B(B|6bn3 z0grH4Jlnp3+`JB|N&Ck2`K zDDYFT z3+3M^VZiySaj*oRK7D%6_-}}h^UM5Rb0k%Twz%M)0AW<)5ujgo$)KXQ##^}Q2y{>R zSVnm{4>jGOqrb@Wf@Od{Wu!jcL40Yc7f6L4uGtS=BFegEu0*dqn!~tW!{I0FUR4;s zyv8a&h;y75xdSWRz>|tPk@y-r!?tZH$$}S1F1i8aoh& zIF+Wu0LG6sWgs@%55+@SAx+hN_!zUH(;E=pHuB!Mdig1BZ3tH_L2&|`5=~!1b}A2+ zW!$6isK;fcVgxEM*mMcf_}8P9>W?u#)D9Bw3n$HC4jO&%-tz4AS}hO!3ZF{+{ENr;gBcXK}_jC9EIUz6!-~#1vd^JNpm{L+1XiI zneJU)-s4&RqcrD^?60f*&Eb`&OtNtsEN5$AkZ-cg+6G9^bj^zbA_-W0Y(X_go)ISR zvK&=cLs$b>E=XqZvLH=#6F+b3-uG18wCL0&2@Uk8+b4T+qF(^+%-ZH#v)S{t;&I}` zaHMJ)d&1aBu@g}d)Z5Ht71}m!RE<}Mf^jl@b2kpH%zIVaFyw>uGpbQ1AJ=rva(|gf zLI6fQ*ud4pBOXjV4n3M7Dgycuf(-h0t2zz4$2iE->x8j&g6=w~)v?foJJj@|x-DCTf~2C8=?oFD;IaHj&@ zdqqf1Lc(&Mld{-brbdSQG^{6%*0$#k+;r^#rH1#KzaE3kV`IYNtl;LZ?btW2D(@&* zx7U2i!`mh1T_m*3Nq*2idek%ed(D^p*q*9~nwcrPz64{XJ)MGHH(~VHrJz6)r;$9R zfivc#U*ivOrS0>uKQXn~zenB}F1(jV3yy567WPp10W)5^<|TNtNghsqBXD^KXxj$S zBZ-1MCN~Py9op{X${2D;^Pp0jsaFd6j&f-23ggTsRvFV~=1}&Ihim$K?oc!^5rUTKBLP{^ZEtVi_-mUL$PfT> z5dynX&(YqV{QH2xi`-U0ZQ?a@;U;eA=?(sfWe>v1{e#TjeI`-h>6=qcOU|2ZgQvYm zOkCcoVqXg^ujKm1w@ruj&eKEoeP`-H7YC`+I4cU@yt(9cKBcqN)~ZnP?a#@h)q`;) zLBLsnJ{cDmR}b8rh5(}jG@bOFKf3Y?ho@nXQ^}??>oVX$!Q;8S%Oe}&xAi06U@Al> z!UNOd1{e3w!UpbLTtq05PXMyDnKe&X84g6(FAb<;T#`@ zvGO0~9N`j|CUpXq#I!yFc2T-NA+ObZ7aG+-+BD3vN6=PvWk}mddsg4D03hs?mz(_R ziP$NOk?j^T*+ldSJYBsLe`|0f61c|LAXCtqKc7jyE$cUMEfI2R<93G%q}fGqri2!t6oY+LR)`7_=o{03wZv)rD03!MAec5rPQX z{ts3-kud6!WCeGVmVGN9g39U_maF8>zyiqNn*qZ67+hlvDbq;cp!qiy=WR!7!$J@a zfU^x7zf>W*btDXEAeiN~mKUM-RR>9jF5r!1>=N{pqZ8;enZ6jnmJ0M&4Hn-(_H#;j7hKF;8 zQcu$3ig(g1yD~=L<^*W}tCmLtj^VJ@h$1~N;wS7ITc!8UPl=Dhhi*}jW#rzSg+RY% zm@vv_y<3PNotjbQ^{nhQfTdE;>QU#NorQAXq0UXK4rwa!W!BWY2N3#v+1+mj;qpZ(3BSjtJaY(dU^`>A!H&WaP0cYlolG z5p{s|0@Xh-9?gnvJ*IXqW2A$jNqnAw!#rxCE`mEf? zUSVFe032WdsOlI7bN-J+f6ifrgWTM;vUn;y)Ckhcje9B4Rp*3p(V}YCR+1oS`PoI$ zykH~gTY86OAiA~e7^1t>Jwub~HV(2GO)dM8{X)XRwBy9o@!OxmL8&}w4f5Jq8UN56 zjTlp1cst{s%xQ$UMwarP!x}Q8NSBrFt(}1Qh~r_sP9h^r7^|deA-TR$o|qjq(%8@i z?^G6Sqyrl*MCIL*6+QO{a8mm=3y(x?k?!g$PgL8qrV!=4-${w1a{(l32D9PakiBW- zE1W?t+?o(5ghNIIaV|x$_@H$-JWGq32!f(`*06NTuqk|S+O;fjulr>fCEJAP8z+o{ zjszyK5vnvd0xx^`Gk|_#TGY|vMDoQ(BYy7}?biij0x z>lV<~GcyLiCMyn&1J4`4@TM*%mN>Q1;4;Q9-n;iHtBrY47hhF%6L^(U&Jao70vCLB zeFb&{H)c9)cZ@pdS{p2{?a0~ha6q^2QN?sU_cK>zR^DuVTEt} zlQVK74P)p#x)y&OYIjicahL}1EbC@|BX|K!Rk^}dR-XDhMu%3$6TFSS={d8l=^V`a zb(+d8eQ*aHg#Ak{E7dbyC1w(4;Cr(B?HDY1BCiJ`_|D#X^8RJr#=VUm(@KWEvbXYC zACP@#y?*-br?whVM{t%N7g)6xVANFtLJ>BqUrjDFIF?3f(#}p z0m$a0Wp*=uHWB`@jeYAXXabAxrjpo?oEL`Ao=9f?QM3)`{xDN*;@zQOH_>2zsa?6x z*}DsOJL>Xn2!t%do(^B-zrw`1NDOScasSjZtkRqO(n^+y9W;9Euw9(n9=nE}>)$S3 z+a7^nMiwmJDyTWWu=~7pp#niEB)zzleVNj0s`v_iO3sLY`!}<*lVT~z$0?GPo*Mc} zwol-7sy^W zd+0X|Jfb$m7#Toh)Ps~-hMNM$K-IU4r>z+F<)`MYJ?q+oDx~oNy`)zC{--X=>B{Bb z)nLK}bG7qP8nK47^78Ujl%s-XET0g)4Cp1;AkqqblJ7AS5ekU;=ilg4Dy)Rvbkh(Shdkn#Hv@ZloQ(HcMyW1pK8^I6rv;Q$qeQdBLjC~2AZOns`COhbn=To{<)@!-Ap~!6tk7_rhK~GCq-CI1h_NlEJOEPaE;-<_K~zgXhvaU8P}p_g z#d3KI_p@NByq*?|g|*x~de7huI%mdP~|GfdAlHu16$UC@^rSl^w2!xG}_ z-NjdO%x4^f_NNT6R#f(~M=xL%hJQ7s&f@vp0)H%5NAAF6Ia9Czv7D0JE%4EM1x)1F zD$fV;X>iCU-aP!_w%$V$8oWJ%ymRvJFPKBlS+G%C4ZGk98F?MzOM`_hJ+Htyz_KDW zk85nf0s*0E3dyAHk$WnGuIJCQuEMS$V{)906kfuTi&yzrR=?Y40-mjw-ouAeFp{lM zXou<5-kED?-Or%3t^4CrmopzS;8rp4eV=MEa@zDN4pzv&5C3=KkiPi{BSh9rFIsV0 z`q+$s?sZ9i*d4U89cAP{%fF9%PU+jb5a9HDUgB8(cC;sw8r~&~RhE_Q&hzdPczLV` z27m8&V4{N#9XeF>o$*VYTWIUa_%pWS`Zw;nfz|?Pw(Hj({I2eWcp(~Mf~svVK-?>? zK%(*5op#)2E0DDCJIJeLMacQqtw*84C-wC7o~wA4FRXTo77=iMI*;XG9Hs zz<0?EHy7cR_n``}@?LvrQz<&=STP8;V8Rz7{noIlz9;dcJgp3MXpo>$4N9R(D_!;vsu9HH4P&@Di2?33jF- zA&syX%P{DdMu%@8-V)G5HOGGJtS7zjo{tEG;f}GZRolC=uLOp~ToVR|53Svs#K2g` z5kAN+%a=rGO<2uLRXEYKi=@Y8)8ib8aCe~RWnppXEWBMh?!@!z{2h8G?^I!-S9=?# zW&AeJnYA=6Zndhzt3)i}4jU9u9X$8_pmzb^iThxgl?Nsc!ONXj(0ps_mU7 zY0@jH+xx0NtAanQVdO8lgM3||+PipyEsg_v4z>ROfnZF}>pN^<*}hYAXJ%#wQ&vt4QvDIkslI3R0b~7>48^H8SP9k{i4BV)7xvxv6d8P937^AclJx~3 zBFu=>me~d1!&AwoSqWB{0&5D*fiN?!MKZX#oFz1<5;ERpdL(KDmYT3~3;6lA4SoYW zCvvJ(ei6(^%+RIp%+QZ5c%Y{ziZtq2VpCu<3Uo)n`e;FBK$x5GQVIvm;w0e7yuN#< z-_kk=dDFFkP6$PfhaD3}x#^c?PpRBE!+K1D(iwq<8KC$h=V+joz|I5P^439pb?O4Y zB`;|5SFpDSruN;5i&SEsy0(4NZM5cSQ&W==8IRfZy*XENVzEKe{$HW%wVB z8_$lSFt)%8=UU(ab&6seod29PN(~3{n3lS9K~UiKQd8BX^+XxnBZTzk!zbJpd9BhS zAUBm~fG^P@u7;y-83jAoM|EL}r5R8ycJ_6Mi~QNeUN@>mOngOR*5siv02VzdFQG@=5SgLJQyQ8DuoCW0gA>0@ z=YuG571h;8X&LteRv#!E116gUkG~}0n@0=YzLk~+9!8np2Sj6upZbpZ+MGs8K&x#m zd0R9^cit#1Sp23(RowFriL!#^d#SrYpk8IoK6`R8?EDq0U#EG+a9+Lca|N?2!8tGIxGdmEX~m?d#{(ZCwzga zGNQubkn1~`x9#Prp|i6#Mdig7R2`qa1+J!`foA9$wvhu&QSb~&BDB>FeDR<`%zm~~O}YG#!B;yehxWMC}{EsGmIt#!QV!T}9Q$iAyaj22a$jf;_oy6ujp zgP;rTuJ?#N2K6>K9}Cn#K;DGj`dam?Qm-B~jtN=nH57#u6VXo%2aI+=z2Sa;UJ(v0wPK7s2onrW0fZ5xI2VIf zDo4pzt-H`Nn1YLtNw)xCM?tFU5ck1yAl9i!u*ZM|ew%Z@#J*uBI#_&1=YHkULpy(x zJ%N#{@<-xaCaMS$m3G6jKx+GB+~eE&%c)_*l^+UFfcPg{J= z(VZLAsA?;Gotq2X1Xfn@_yARgMCP=%`>wt3BSmAZj;%0k@S`v4iOdAxIc?hOtq#+c3V0c>13Y zKK*qXs%6Jg?!17J8~)NXRD^VM6DdGpV7*o``Hq5*D^o030YIiq&!Ht24de`y1S*cHI8u4=Bk0BdW-R0s$kq z4Kh+@9&1A@2vpqe?(UZJ_^d2C5W?I$7{HS@NM$!w2D8{h%&YgwVQSW!V-JOa776QW z1^^+naVDHMFSzKZ)01bEB-_$^8W2iv>5!_Q7kBjx2Au`(+u6sE?jh0X^C zKLU6#$Z%8i=iuoMxz9?@frJ=AlNlD&Z3f&F_M9wy@g}LHs;U=u!;Vy%?_dW?U9M%M z5#XN}mcv0d;rJIMu&TDeUx)%m$qp3krB}@SY*Nm<6xb8bvr8(D9@@ozIsXcq$+4vv zFqqwAwT87ffcUhT;8s%76AFIOD&0Z+8{#Vr)N%xBeH(sV8A${6Yy^FwCV2jAQ9d!@ zz8(1r{fZ=TjvHc7rz8o(6wixR#!tV)i~%(1yz(IMuWeD|C!A|+>|D~{t_k=n0};4n z0;bMU5lDq(wqps5+oM<{GzQch5JE{Oar2|WV~%v7Ls)m&6t6e|RuM#9N}sy=N^~~i z$hiYh7KdmLhae!X#x5RgC9SS_xYWNoi&9fVbar)7g>gta*SXARXM-aBWGaG2`>~b0)yWb z>WF25KwjjI@aD$l9PeHDDXncE1Wjsf5aG7vq>NzdY*-5le3qH&{8b@4%ej`*J{?bi zD_&BLx(#Nh1U~+@w@zu6SLjfXyA`ew4rW}o`(ZH=IT(s3PscxpJmOv*)N& z0FeQz+EW+>UR@1h)t-j!a=6?E!9EQ@l&2H4v?ochP1_b4jP_H^wsI4jRF~N7JuNQ^ z9db$AVyva`Eu5X^HQOI*Y*8$A12=U7$b@cCqp#xyl8ZMq*#= zBjxifdfu9ZrDS`?t4EW@f%a{KZMX>=LC$T*Wl|%yEN%Te{o7`s7l3f zjL~v6J@m2~_JbD>1GAl8csZG-a`-2Pl0ag?{ex4!Nz(k8mY`+&UgN?v_IJ7c8WP!g zkwo!qpif|gRrs{=RQ98FCcQBL=B{BTz{!6#?vZu4dQzVfXA ze}H%Kp9`2JBZcEq51pScB1<+iLrD534s%1AS6|cP zG;Gxn9RJ{Q|K{d2LcLS^+5U?z{5NJ;8bKrY4|4eL7o+IH{>N7*D;*VaGim?#Xq*Vl z^_2z0O6i}FqS8+ftM-^VSmaGv+1c!)asCKEyh+hKtb%4-g5O)(M4OI^rZ`(;XvV&z z>Y>#}c?Z-M2siLsZj+xLq|R%6O8DY#Bf9zYrm;syIGCPGu1r~~J5nvN#I4li$QyaC2w za}H-LV3%$s!oppKVI(Pa3j0+MZhW={emMJ9jlwGgGv-Kb;tx;3Ek50Xa7-c`)&+(( z8`#912M1khf$L^<$b}4mR6ct4Kqt(}h|;`^3U_ZO)3AanmQNtsmnU$#$ZR^L)H}95 zGy*mjKD+dxJz%-j7$}z}W|L@eB(N7R3?~UNQTqTmB}Nn_fgLm$^?!^6I?xHTk{CKw}zb}UOA8fpR-)U^6k9`T4M9*33d3+=P6hk zK$|+SRv7~r+#ywoX;MKiUx<;(6ERZRGa2jMM*8~}VC3RLqm;S1PlwRIhw|SiMC9n% zN<=gcATm369UYy!V&D1SaEXC*p{1bsh3am;*rNZR7fy80&Y~yQ^#SEO{6b23g>8kD zuI9hhq4j1_;%&!iCfl}c(VSJEi?qQn(xesypami<$|TFh4E-m!%oI8k(|DGqWpb4X zvM%Y@71MZG&_?qDI4k?NfG7+N(93JiYBY4|BPDfHl@CEHz_#E!Mx(O+T}~F0c`-dF zHQ-9$pKZHtznU;7Udd~i*uv~nOUKD91cLgr;r9WfU2JShgl)W?RlsMDjEkb8&=d`7 z>F`bi$fZ$>gI4B@4Iu6RO3nsmKn-cz{Wy>fjask=RMZfcQx2E0ppsK(&z^1h_KlhN zyuQBvW5Xd}e~E?({AId4{Fye?gKJhug5H+z&{oyAcAUcjq_%Ij@-qan+uK_=M6yNB zY8{~5tO+{wR8P-4h2J;c^k-_Eg~z8$n=+0OC~lB1;=i58=%3GKepR=BGXoRUZd<&-Lrv((V?e=K(qa1rvpttBeQ8HN;nM3?x_bGLeY zL`Y3d^S^`DwHUv!^GB{WM2<(q?{C;3xO_ALr_h=t#i;ye?RTpZHOI+V*LPjz&2FR6 zhViJ67yw85&*kQ1xitMuRpGzx^n0QIoqJdEg0R*KXxCH^XVlh1Va=~sg2QU4R#qj1;+=jP_ded@oZ$znC{u0I5ryuw~;b+g5;&dvkg zyC7u|T{bArJiZwaHWz*?*$NDt=zAcej`BU(Q~If~;OST|sw27K#tr`oMr3Vfg6acc zO>*m##u$~3*q(T1LcM+U;N{at(jkKrFKBC1i;lCQ4%72K?6{Lk zxx5$@@wu=N$l4nxu0VZ8`6ReM5MFuvO%8@tPKt5a3Ldi4#+lpsgbi>zU*|S+JS~vk zdF8B0;N|Y}JlltF%vB3`W88lki!}vT`B*X^_vtO0G0t;t8aNv)#>LBholdt{gIP_d zB|%-A?-6VA7=hybNA=#HsqglVxBq|&(Ux}{{*e5aravv8J14gtxHK)sVDP;Wh^}q< zq=O#lcj^ei0NG2>*rtF=73FgFO&C%9nhzxt5!1qvc7q^3RC7Io#(Km40mR24{s6&k z^f8Kc^~F? zwo9_@VGYRsGAO%vQ%Qqv79@7i(qe=_$h!@&tNTh_jD~Vve_sE2fo=D+Eu5Q^`XB~# zcL*dGpr#|YXO_LZrT<(S0eQ8028S&_dz$g#!vU^Sx+u!?APD7Wsz?o*2NkQ$w!8^z zzX!4|KMsxOwSfCOL!CTp`a4HJT0~Zh=%_FzwmEJ$9L9BowJF7Ko+jCI*cW036D5tNkvChKgv?& zuRRwsjb&_SNpH4*M^#oor2LGk!lk+ZHw1TILJ%+*KRVisP{4MQLo)=Y-b7l zeLk$U#l}usZ+!5NqrW<-QJ5>Fj17sbS!!4#M3Yn4UNhFsBLn=&k99v$j8{d9X8CY- zn*}3Jmi%O82of#m@vS$fucU>@&v>3r-*HQ%w%*z6|N0!u>3O5iqhA}RN(8YHgGuj1 zF$|sQ_*~pX$=)xe0xdW9xHh<@)Vf@ba{j z2GyJ+C-377S*lvUYB!v8KQ-`-^Qb;?k4$LJBs=#fgqFX!l%5u-thRMZ_qnvT*8`^`qL5<+G~nky zi``fuioCc@PHudl){A{7QusI|qV4!+iqWqmZYWd4hz|AGOlF3d!y(Pbl6J|5obygf zj5;ouafTp41P```yi&2c$cT>v#3Bf|wwY|@pFDpsIlo%?cq|b(a32hsE168RZT6zs zQM_1CcThEJhZX`i(-uTR3oYh@koEReFmReL@mhw*NY(T`-+#4?5$Z)_G40pArSPN= zi@^Ye%JAL%Wy&6f+{8Ecp4mNI0~ah$ZVzG;fN2VROHJ;FWjV1P!CNU{K8_9n`E5Po<mA4CQY9woy<8>5roS@$ZL~e7{TppJ30Q-tUTyX`pp6>b6oX zf$4d9EbJ=VH`_Dw@>+ZP^1=^5AqY;7`tW^9x2LqVSAjO%JTzptzmL!K8djWc{m_s*LZsR&Wz4K+on0llsp0 zN3}Iiw%%Nlz3>JMyYRIavJoccJCFX|?Cb|*A7IbV5cP9h@(-vnrQOI})^S0bN8JE{ z#McF%v^^2q=&Vn26terH!TOnU?xdNtP>|zgYxI@fPWA6sW+~Y;89~{)8Azo@(lbsO=aI!KF>NQ0^oMov)xvIvUH>X?BH1Br`xaDYslkU4P8FdXPRR}13E z?}Ory{JW#UyNih|J?u$e_4Gax`khv*y(d?|A8>;YZ6q!#B6lTDS>z{iOFr5_gN|f! z^Jc7GvcjRSSQL8jcXU?{wd^A3yr8b-Yp10lp+RHv!5^v_PD?kzD~Em4lrRHk*vlF? za7@O>k4nz04`a_A;fBJZ??e6on0vwl{TPbbEn-e+%p=53Sq<@a)m+C>my~qKd8LvE z=^=XOR3*Pl)3P~9W>JS;6w=TKaR{fYD4F+rvAz$#_9Ej|=(u6|{%UQhcopu!8t%QL zU;aOgy$3jz{r?Ak8-@rK)MMjiJ)vy%Ox8jC$#`K1X>h=^HQn%F{e{l1pooiEM)Y0kMX<5Cj%LGxZ1R$yAe$O{U zVd?9uUmqt4*BvgY4%3e1eEy*jdwK>+zE4AL5pa*3Jr!v|g*63P?Ov0@lw*z2Y?}K* zx^oQ=CPXIz9Z#mQ(#zG4b)zJ|%?rFtB2ii~X~?1AJ(QGV;|=QFcAI7vl%ajkX>Z4S zF8i;vG4IYlQsPPrvF|$q@RL(6oXBF8_{R;>@Z=4&;qXa$!HZt|s+g$*eGLZKjl`bC zvSTQXw5jXNxQfq5-{M3ppAPhSFGcBxjeH5sxzc8Aeg8;NAm{XQ<}XxlkR+vAfkd$> z`8>Z}9i|d=R?4?NbWmYs%jJ2xVCi33+VF!1M~(z>K8Evu!ufVF^p=v^JoF*3PX#=4 zyG8Rco$Bwi{`<0a1@x9LwZIxV_lja2H<{=Lq?(9V1Ec&HmI-|jS;k@roVEDjB?N&G z_>IevItx$k#BKPxA zB9pv6jDpv!7alG?!Mn`7S4%P2drOFH13Wx_WglX<^?Uf?Hu`FoUzyD|bK)sor$w&b znkeKA{};&SFyI?lLW^<)5yqGaprSel0-GEUgnQ$v#Q%4hE>W#l1X=LA=r z^S#@H$^tHPvmiis(HM=}-5jN&A|Ej$V;~SWdPJu=5z#DK zB=8mvK+O$!ubHQ}DUoOX^ODM&{f@wDK@(yh%cwcv>FQb!Q{!%d{X&_i7!sW+;=mwd z6)s!(JVp(~d-zs)6_^mG_e$o31M|Gz0+T{W>yGq?+e>oP>438}cyxTvvGl{&W535D zIpROf@zYMXi-beWS8WaF0cOgepx{4#sn?biqwV9Px$i{X_j==^nc_z$blj@OC=oR@ z8kLjS<@`Yl*%tzph?Hj+rIA?*HWJHoT8g_Vcrb(@n)YYgRzK@XA(>I6C&rFpT(ztU zdb#(nEnn>~Q}}JV!3Sbmj$BfG>%5u9%D^Av$khaiduG6b>=Ap(D6=BK64SBwkBNL2 z*0Y=fgnNZYO#@sz)nNbyjm684)E)GkH61)9CzsV4QEn+*DqXudO6Kxf9NeQ;g1m01 zNy7na%GPPJ%Cx2xEIUvIVfDe+UO2p(RUDSG>j?8(ggt#|71IY0H`^j#X^tMsueYQzu-fkhX~ z+e%$~rF4RWYf6dn{grNf-1fj7v7ZG!-GN~O_D5St9RM`j6_&zu-@ePY8Q)Z1A6AT1 zb|~eVzf=ljQ5uVu*=Ig2`Z^K`+rTGx;QSHpW2^i~h-Tz|b*UeLEkQS|Nv-a-KWeXe zcxb!19Y(lI1&%$Zt^-P#1NC}FM*D99x!=`q8A(gB3VEfaoew!>Q>s4Su&!_igMBh- z<25tdn_xpz7N{y%@n0u&lz&auxIPkDWaJ$FKR*nN)Q1Wx5u5`zB5tCL6l0`K2_Y zR4n$JkLF9j(oRzgdmK$V^pDe{8LxulkD`6sVFu@Nc?w^o(&f+wk>wQ#$2F*FW_O};pxawzi~qrnv+hA>uLdU#}c8nKEO^dEO+vf7X`UX z5x-xrD!=!4QL1ejqtUfj&_8{OetimOgH;9WiN`zvN_|f$>ghuqY~w%DhBQ3gXQUkn z%Pm02_*MPcE%(ARmjrJd{^yw+n~B8W>JzT)!4tlY;C}(*mF46yq##E#OR<-B=IyOj zXFHGV+SWCvEeXD)jZ6)?kmula%q8XPovPnH@|5th*dxVg*GPQgtqG-Ce$Y!j#f?+u zV}C6@nElc7W+E9KU9Fh;!83C`OHRV7^kPWFV0wYfoPf%B-~%I~S)ZIE760ytogEpk*(lW!59G zn4P<#f8hY}?Q;qgrOdT1(RK_<0A=%m6Io8w(@wg;9mQT=FpEADPl+h=Fbj~qQCqo_ zWV>7K;apR@ut|{#(r!bM#C*8xY>_SpxagvyPgBxfYUI));mf-`f4uc1BM0q*BuPp^ zA@<-biC*eDp*@*^V!9Ln=44nSMgZa*xJoo${!+kVITC`}oilEhV+ma-sAs_!;7l)H zjwc^d-z+RFq^M&Kbto5r=cep_d*E#Euaa8+t>N1O*K2n-Gus5sUq_oWoX6sJ`f9J6 z?U4N#&@ii-&5B)y<~iWFzjxFsFPKe>Z~+Pe9KU8L3?9XAWlyeOb0lpCY-v;+EhzLR zXY1dZ(k3|(OpR53R)ODM4v@plxf(E71+h~PT|D3n8C{os>7tffDzeTAz5oD+y>SmX zDjJiIPC(LF!Jj=bn1n}e*$ZA|nFXfSF40cXWVu_s@0Hzyh~LEeTvUOInULT``vgim znE@$;^>4{9vIJvSVw6;f7J)_fd1)yNP#?){3aAEhzxlfV)2BG8&&ovHioR=Hty8DAh?x@+R zJaTE?!(a^2CT;^cx{!a=mqBMTY5j^Wg>EAi3j^Rhr4Ap4(v>(z@?98c4&%u_LtL@x@#5Iggm4~nRLvtZA zvVzQIbtZu~+6$Y-fnH#K)n2a#FkbSo1s;3t;RjJD008?53qqb!x*Xk^kW6Xk_eLEN z{jbN%kzg@LUWPTyc4nUg{7`4Mj>wRlQX@uduu`+^xaD4ox}A+*Hy~)BL%tjsT`^T% z5-CK++i{7iJNc6>C}Qa*nB|J~9QL$l=nC{S-3%jZ#xh`u}<_Cni}swf}lg^7Tc1 zwlBR=Qu~kO_FuPLxJSwSk5=?wM|309DWd-Cfyh5?_#C~VmDplhRI};-u_a=ZPyb+c zwarrA^rB74*29)b1$jHX>A+RR-Z=Z_MuA9e_i#@ZFOBIm;FDU z!-z&-K<GB7^{gC^!TgCcXlNH>s519&(W)Kw%Q7@oV7dQN;zoI z9z>UV%Mx$LU;CZjbhWQJ*lPQ7`C$eA8UctV`AVN<0s^Jb+ zrO|c4S=u46rzoeA=2+3z+K3HEF0rByPp}^RS8KqAaevl!Os7A+%3QGjGKC<6_r61= znEU%ewCH45Hidpuno)OqX>*_tN`*8A8>}R1E>PHzES#n`{t*Glk7jTlghbL`I1Lca%E-%^|?6d)c?E+-C^WxR`0KkVAqji(Yr!t zZM`SXr8M0zpgbt5ICo&$atE1E++(4!@MvN0M;hU1w6bH#`j?QEM9la4UuYL-dLiO} zwS3aL_{6D@e~+(}3q9W+mfB5LcmTAXR|&g{8=|k?vr*BX_~NKii-0kn{og-GI?^!d zEzOPIIM68NME)scjEuXslN+Ta9z^^{)cj8)rUXYVzrIb4#MMP}WA6kt(js-$hwd@3 z9GfDH4`SF~B$+EYW*j-O`VSVMIcyr0KpThh#WU5CRBMj=xb{qPk(h210%|D`k@`XB zJ^!8vDSOEGR|}71^8Ky#ZWL8?tvzPw_nxjFTSQe3O~Wg>gES#*8x2pI4Hu~Ds!wRf zs;#^xefswFJu`b~P-4f&G1RxtMC0(?4#vEd8J^*6@Dvkyj1CT*IgRd27k%oL?tkW; zzDi)n8TG#p1Sn?@@z*$K3uV;K>Zcej6CwUhN;L@mJMu$`f@}tglxo&=B$&aHK(UuP zuEgMJ%*Rpg{Oi$;M6V_$?}H_Y+$^QL@W5qXYoZjA`zuWerEiv2-rZejIfCqIjB!Ak z*pCTo244M1HZVEJ(FriH#=hvuhByS@i2hF;{UH+d%-}3ST~jpMhpMg83dgm#{R!C` zkYgdDh#x7De}r_ld5CmpSBJ3#og&+Zg2!VdKi)0@Zs@^fTQs;&EUZzJKzC*INLbWv zzFn=#VITeLKPsnP49OiIIvB;L}sk+^H3YAWT@ z)%H&`wNM(psvF5v(n=1l*?xbKCjIEI=CKOePNk`(wPI^?Zj+vcAN+r}j=?qo^O8ZV zt^Zz>L2JD`N{ZrhM*cGe76=<^4nJsX{pG}5@BDyz^F`U8m~Ad?$X!(&7wOjb4NRMW zP3nKbea9)7RUV}v-0Po6wj`hBjSi*~_3-6Kr*L7_eRVB4#?`U~oFNLPK;C*>h&u%)}P|+eIgG}uir!zR;Bvx*=R7i8c zhOY8R9NBwgK`0ZK*ZN!A|Hi`e{>>N2pEngl!f*o}A?V#ca>NThI$+Z&WynwV0HF=r zBF&EPq6$CH;!!2=aRX!Sv`&72PI!O|+KPch`4TjnXZtVYQ6K4S#I94qXf^S?FtAS} zNAru8D7*~rv9lx_H36Sbt&rKvRvj?wMRKC;k_`-0>HqTa zn(kjw z&kBoU_WbeN8ywmw1)tWGiBmxA-gh@IU;56Ux%M_a?!(`MdqBVWGKoMCI7J{}KIW{> zpkGqM@)uQQgvvcX+(MqKTV!TE(k(eB_i0Uf&~`3a?6>qB@*j5(j{O?d+W zgin7@I39~q9iDZiN8zgjVQo9lyznW#qt9RC%&psktqeK-nSb^i0Xgcmsb>#idMo_{ zAX#I9j;x=s^dO9(sQ-3sdtb+>bY+gVir(*-|2XpZg~oOv2}J6!IsW_a=604oaC>)c z4c)W6hTcrMh9NC#NZD%9>Ya3uKd||PbXr&!(dU#cp~w+0HdVOrRPUdppgM&NIVs5A z!&Ll|V1Fv@AFuc>9b`rBQ-@>*dwq>yD)jxw>E8SIBnbU$7zVUfk%wXapTN@4Kl5Nf zKR1Xduz%jnd9p+`m7OAIJ5hw;Lv#gs89#fl^3lWG5D{vbTscieTF#gC-toWBJ%`km zfY8f`Bj+FQx3xOI=k`lyGvI8)>gW~-#ooWV!^Np|1J-d3=u1_N^NfE_LCNKvM1EM6 zOvh$OvuDdYNc@-p_2apAPu4HKUQQ{J?AM}g`yn}d2>DyR`R_gSfZk%<0eTw&SxSM0 zq3D~nsA6HQWb8)-nSQEpHy&G|k~c^*QM=!$pdYi&Gj=rJcn9bBj56Whw%gn%%UmPF zC_bNkRqjp7yVk-%S%X=K*1xuCr$YxTJp#Tdi(OFOZheu?(<|Q!jy@?TW*2kG|62V* zA;9?l=NB?x(LH&Bsgm^*>Y^SJ*x=Oe1M>LfvZu2vrik!=83oK5$GO+;I}PY5=Y7)e zVGnrz`tj9-|1mjJ#2T~rz4*Ln!#oGdGH*~lvR$=KakbDH6W2%eLT*C&^aqcBH;w4M z{HL;xpBlgmHY>=;FF{|AG8NX~INAPdG~X}q_nv@S*=5DfO*iLutL2?27D;>3-KR?D zes8r5s~-Lzi-W-1(0n{GB|FY)5G^FpZ^1ynh+H^O8ry;DH+Wiiw+i%XjfEme9y+_ls zCyLe~GDzX}$fFaQF~$W!K7`{DRx*jG^Z4UL*t2;zaj5=xY{&Tz<1_xJ7h8|J!kZun zd4J!y<)VFki<0G>FpH|jfG2U1c47C-dUq+uyJ33qk9*^46_1aL-47CcHz|;?tJ{oW z({K4#XEUeNM0v@0HplHbn5}%f%Ppi*P;Ol0b1;R>lEM1sMohLxhdowik?P@;xAZcn zmM6+$yu}^GNzzdaHlon^*QJ~!$>YYT;GFPtU$|bf!4{`6zJbHm44Uq2dF>5s#f);z z=e)2r+z<K# zHvp)Dn+&0PKw#?T?*fwh>(86&J0`Za7#VyV+PCG8!1P=^D5QyhVEWHJlF0W^QBi6B zbuRnN0Sz@_E#z$Ale12&BN+rP0Z}PB>CFIt|0EZdkd=<#I5rqiqPye&*HRkCfo1>- z)#1*(lwS55zN4{E=Ujs(%B5te3WWuzP@TA^6#)XG-= zxon0}{BCg7@b4-t4L8X>@sA_Zb@2b1c&|_|`K^ZebV3tq>+kIsVc}b%u2NjIJc5sm zeN5mI-Coj?&QQ^ra1}t{pE0c^!A>z2VPq0Byh3)mbg!!Y$5)IJg9L{P-&fpD=L%Tu zo%G`i3Sscl>Q8x&JiB%4mfF+3?Uxu?rF*7o&Cr1FJ>405M@K?5hY68cnx#J7Nnbna z86~Z@{8)JZmgQ5`F^)L+#*DjjYVOqP)SW_!umzzaT+ zIv=*?#_$=v6@G&>NU3wMp>QO}UjtwEW@3O>iX59ei^KF&3FX1LvrJ>~Y*nk*rHzdJ z>(1vy7?R9t3^8SQXv$<4wt&2PN%l<+ki4>*rRr!MiiaB}QcQ z!^TzijLQ+Gr@!bDXD})hqaU}$6#~~Gu+f5bCuKbTxOF<@bAj@Y5?j(8rNt-b3e|v5 z`ukmFBt&$2GP-|OeIzruk-i!A&^;E$5AweMJRpo8KjxWSJ7Z`VZ((9$M=QHh;c5O8 zv>rXmZLO^fTN{ey*bJ4MU(fGPl(SzCnPr6#2DA0mg^F4@BF^+-(BNcpTqtD{;}Dv( zONUMsZ4ei7lBwpTYqjwsNel=hG5zB!ewiN&P|Ezq^;&`~XuZ+ZG2$B?Mrg)1=EM5Gd7>`wRC@f|4yHk0L2s=jH5WY?j?@MQN72a$K*CZW$ zV{hFr#N>SL%qIP}V+~ilJvE2}JA)FAEttc3w{|DEYEQoj-u1T*j(-RL^nvzL?51HV zKZzmgQ0J>ZUwcG)oPcEjX7i5XX}xlN;s6`8Q;+<~mR+v=4aTqgSuRtT8~c_}G~k$$ z;>i<4jf-7RUmt>ACg;yn0xkqN;$A_)6-*RRNvVjDDfle9`P4|_rnff*!k?&<>Ik2X zY72TFOcoSQSMEB?a31f<-{6I{fe};4Ph;>jll~Yhi7tD?qjz$F!@j+gZN+)v!j4-h z(=4_~E7NL1dh))GVzj!e?N`UwimKuipQX0z!l}nL8%c~QwBXghIZE;Q*XUy{nAM)7Ad^^^rjPb*S1l>SZwTNxDcgSOjo6HKCja9`l#F7;hl~0G3+$ml^fpyBUr?y31o|pKmIu&w(t%V7<7TGdWh$f&;?ztC z?h{jR2(X<`W;5N+2E|s;I%_hwyu2|0Y2=7BW~P4Bu}zWZ@CD6&-n!?Sk!6rj9;gs( zgE4w}>EjkZP%kI&tHc1W@xo~BXn%?L)MUJ?8;Q6JYjGU}?O^?083|Y-M}RAiMEs}q z?bO&0DBKh^!tfWBU{r&6fJVN|&>fUqJ6Bg%Tr=(<^=_D_gSPNn_GBN@*t0 zp2hexA1#(P6oHeL4~WU0<<>(WMrJ@1saXrBQF^?WI*QM5r$S3;BBq}!S=8n;yPNRm zD33>v4R^eT?|%~hzV4iB?~Ofq#I{CxBJ-$i%_Z!R9Ah`;k(@5!-SxJRphvDo3x#2+ zh8o{zat$7Z#l-9@tEiaxxHZ!7OeH|(_U}v3{sLd`z3Z<VM zR>p3cYe3;{r9ol<3e}e(*Gz$s`2p&fwOFJ3@2duG z4mh8Np#!Q909L4{65FWy1`;KolyPHs6a0Ucw@m&Rx^8@_xYOTLuyfWIJABK`WSw3dV$*L( zG_Y))zR%xN`=M!kck;+9;_%dl#iP#6n%8GEzi+yF z+85LgB{o#Xd_SCuYt4NmK1_=?WZ9oDza+BnS1$~hNY&OeBX{bvFUxCl zS<6)#HvEyb0Q_#tDaX-fAJdTZ4avcY2^toA3*wfV0EmB%?qz1ybguwe>YIy?OY1m( zzOSR4t>~TS9T11r6{+?^d_swm!Cg=v%u?YQ>Nur9zU*8G&aq-`^|u|1ZsYUAZ9eCY zu?CC-aNu1X(13 zu|c)5remf-Ed3I>sQ3W>=a*X1P#g5F&jPlR2`J`n)_7pf5h4GRRb9;sgYC56vLGx# zGS1(4LA~W5s17u}@}ACI7#tW3wH%52MGB!WdHU)jY0%BZ`!tY@GfhCXy%wMXJ0<3R zZO>p(?$*yIJd2x?`v!PPAAY~5r(xpnfrVj`hXjgX9tnBb>LNOo-Z zV7LdF_T@2kgN)OiE&*`yW;X zg3;I0BWrn>nVE45C&l?pHpgpjz5)%94-*Uf^V3i|M)OSNdedGKuYcte1Kri!U6fwL zGAbo}h~Pk%!b9s``BLW}!WV%PX+i2ZX6q6rqYe=P?)Uz3o$)Z02g(d3s6p}m`?^Ew z;X_2rj8|y!1K+B?KE(1x)zXhjEy?Uq>0&lij}_0?X>Qcjy9Qx!S9|&R7f13omULxF zDLsT(<9)238m$pMaf{uv<*MRO3=&XvztD#k63{^(xokXdrqvYlW$9oPRs8uOyJ_Ji1!oreY! zV#tqLB|&7c^ZLmsTz41UP^BYJb9&mIMbGQkK8aXX$G_2VY&&j^&$k%U6`0~Tv$S;X zFXk$CDtnDpuLb75&nal*eq#P)wGb;^M%dS9c!0ZdePum|=KJ^WAs~FqphJDJ!u`>Y zA3q{M)pG)}O8F%vEr9P1hn1AwR)MZ%WFYn~4bucUt3LG3TlV_U>CY=bW6JBx(7svn zaq}YCAZjM^Df!xsRNtw>|NgMjcDSVfx-I0o;(qk@UJ)JOI(ji2v;Zd}4qiu)z~DAi zUEe_DkJFO<9c#QeT8K4?pRNC|5QDP^KG^82UaXB zh8~vjq{=oW86Qe7?2^y(mLbbKyRTLg)QKOqu9b*P@5?mP)6Eg~-I3@G+=W#~@etx9 zA9vetVbi!E3Wb!Ao-h0V;@cYa991^FO7VK+myfcG<)mz;C8nyJMj-I}_}NfNI@4r> z8WR2W%7Y0z{w|UxX%F;fH6DI6ortb_z_8L1qhC=S>teS6iVswdLLs< z{+sNxT&RWIf&x9R^Mkn*eoDH8J0$PEY%#$$fDhV#%TS20qngb!gjqFi;MkG{Y$Grc=vaf1%LEpC8f37on8vr3-Hfj6od-`F508nt`4wI+`jo)*sc%s% zBCr9)$J_-vtZ+H8Z4?NgBL2toU%g@kJX&`|YIx-v5)9?B@6R=H03*F-rgF*q>nYrF z1CvK($s3o>tm>t}8KsY8z&(NhGe=_w5G4>`ao>vol2p!%k;cP70I-fAI5TodnGnkg1#$$96ZYRXK*Vv*`|;H$)-C-B@@o44!#F_ zkE2#uk{o$a*40K{x|{>PYb|HzymQy68O)yT>;{7`3--@mI(5x*ItJSPSHXQEoBN1* z8Vbw}T2^!;3cLoOii{|63Meu+Ilqw|;}T-?bpqzZ=x8E9W;GXH78joZtOuD=SPJcQ zL|BmS{PQbfQ4c3;C#!4>O;xUEcF}M%hibX7gu3)~QmnKT#D(18Na7lCM#SkEpdup7c@7h($u8o-n|}w!q?31HjS(8&!MlHsI)4~ z%$e6A;2g%35*3Kjaukjo^K}uPlqjOWx%?CLII)(r+kJ5 zYDZD|!n!7hgL|X|Veuq?bN$1j+|i8LPB`(~H>2!Vp>s{l>zBfXSfGxwI#*mpvn1ve z!ayOxL!tGm=G?i;wDj~zPc+^-i8g1S$}}++-6I>(z)Rw5xr``=6aFr{tO~}yFT1hYWMs}5l(evzYch(a2UnZ}VCedrN zDBrOb(g{IA{tY$?i3hkPnO9SJ6}#lawj-_T=gzTM$j^3ve5sN6js(Mv`{Wq}cS)3w z95B|MIGaW-Bczdpe4fX|%|OT_fzQz2=PWEupa>Q3R{U=7jYUb%I~Nyf?r?4%P+&N++?@t?w9=nj>|9!I>nYP2Ax>3xnnK0_Y;+ zJ?R)sBG$8Z*f$^!Ts2PcYBr%burTfZeQvk@_03IGe@f#uVH(7rT z3`3TXXZa7-a^h1`SbKi_IJ4_m3b@Is>FN5JH2}jy?HPp3`qO9Ly?X~J&1UbllRnQ) znuK9w)YPbg`*pxvWPS~n6v34ldRrVNa#>VTN=n1t-d`Z;$j5mYIiQZ>QcOU zGczUjpYUxXD~koEv`rlJZganCO%X#Zm-K!`@$LoNJC%Jmeh%BTOjlfkDoV{q*BEo& ze(OS?uXJi<)$~iAe+q?Cr-4Q3u1dhB9l0*W1L{&J+iu()v|_bV(sifn!hH4Ujtd@? zod#1(7$EQk50roYg9RY-)LC0&SFAlh`b;UzWOU#8w1dktEI*%Ce#CDwQ%SCyOeB3C$tgp1vS(yh_SofTTtyAv3qVAzmf5e|4&DWh! zVR|?33DtxE`aE%|Ln7 zIn)(4{eaU^vBHbvm@gIulu0){3=K6F;tSYwS6;< zK9vJigN}#Ct5QyeOo=f7$;*P%M~;wWYhrv0%FBBn?ijKzzuDA>bHrP3KMFhCMTB*L zJgJ3aMVEW8jrYur^f)?Q&eF{lG}RVlF*i$A4=T23VCUrInfd$+*7>Qa*~5jv^U9qj zES!~b`UWMq!|K9yNS4cTWXa-SPX_4pde@C^%@&d=3+9#bHD^TaH^g{ky(6 zn~GBZzHG66b~h@q{lp~=S=>JdUdMx%+KUIgy##9Pab@& zHr~iiBXLRF@b+-ck%`6_Ke?Ws^mKF6gy{yjK^nU;u3Uilskd%@`}Qr z7dN-q-dlS8Oxi$MmwXE%PmvHtsJ};F{zbZ0S$>4F4j}5!J^*~&@CSd=;(X6t-(+_Z za$y$yB6YU~TGuce6Wf`o zDLW{H*-uV)ASs0O@)*%^PgP5sFFdMJ5Jy~2mSVUNEuv{o%(+O=rcS9rlA9nR+l&e% zNdA)_MrO0Z%&L$&$Srxz_ef6mr5#s!M9?$cq^g4=)l%mU{_Nx8oaAkjygI_Rg@inN z#!pTlLABfKQeb%mrwxkm4&W)cIgZcsD0T`{#?l&&FFa`}8BEj;|I=SYF4U7hjF1iT z(sKT_4JgMyFN4NXwsHC-U$z=8g$c9il^>)S5!|QJf|PP!r31C)z0NU zIk~}AflR1wI^j_Ro4vvLC2z?Cx4rRFsJ(eI2$E!jaghn`8*Eq*QbJ@*JVfwv9)nI9 z-dK;yYpxRmgp1_@*Pm>^yJ+uVbUjj0I^*aX(FEUat}O-GKoCa2VMmEq&64s}DMPqy z{64)t+#Pbk!?Yu{qGtJ?G`Fx?Sr8So1;L(hcPnx*{n|=Lsp8)d)|8;?weXgcL67=` zOp_PE1XA){K#)r}nmF={i<@B%|FQMAs}C=2Hs60}AcnU^yd3L-q3*9afzQosI%*e; zTKm=%u^W6OK(N2;?dh?DMMHfP1x0DVPtQGxo{6?SFw^Wh+Fo^I5q@x=(%GZL8`VUt0sxGjWz6OF&aJ`=w z6zl`qz5Jpg>P!LeuU2F4CDndf?GnJI_DdmcvZuG6vx?Qz45$*b``JgB7{kZh`gy$xQH8jdOn7B#f$q9gR{5yB= zq;Pdb9n7`{U`tozhptdS1I$TISh&9Us<< zv%YxI{UG|ZD!5|{s@~!**x!IMhoZ^B&cOD~nXgaMneidd*10-`28N)JZnk#yN4R;d z%wK8U(kD)0^Qo=$($!-!68N_q%_s$vzmX`Sv8Aj67ZpPfw}tAX0$Q1Q+uGVpEG;7; zVyAhFoI-km`51n(BFRbG0 z<5ToxJ24V_t9^6$x;%uWH^Te5SS9_#8}yi?CE{w0Dw;9ODcj)%L|tF&R`D*$Z$+&5 zWKq1MiuB_eZOTbc!`vo}Y29CtmXx1Ggr!ed@n_kw%r5?POX-(A%|0PATC^+zipCUp z(zBpVZ9;V3E?+y%XnvRjB%2JHlHwi@&#!l%~%YWuIVk$5WO*#&oCh*MXhgPr7~CDoKwU z;kLDiSP7kHdy9Jwksio8Bk6%l=I+;@aQ4V8<`wTgr%hWoa@wN{p2YVGpfiEHde&@D zhY!;02;=K| zqm`oVzmHZ9WyK4iRP&iuB31+pp{0Yp@VNNt#uzbz6c?Q7P82@^7d3J@GORlW>RFnecP?uJ_-Z2 z3YP9N*aruHNR*=BNse52Lk-;L>iENl53h7%i0sCy+oI3V#5>qU>vL9CQDEr#v{(In zU|r^n36d-J72B3x@tb`fx!1h0pK%fr@-gT`)f=gNxcRA^{#q9GY=btCe8Zl&xWfs3q-skdnmB69jAdk&d^ujU!Wjnji`7p z#(zVj{(nPuKA-ia`PbD%nJQaO6ps8FW?k|Y_V}{6(*8#ATVUMNO%atJ$DX|G;i_!$ zKKrrngY?Ku__f0WE489sj*C3rSvwO@Y0xnLFGzRNx@eL+nz}A1S-i(lL87bTexJp| z#M18I90u%FsSPo~(?b+vbGl9OR^RBle;h&jkp7~^&Bx4v<9f*#Qi_!QrpRyeWk&+(~iqnv4Dr>UH$#KBwUVTox zzmlRq#4hv-v-pbGEL7l?Z26aX1t=>aLlPyLyaKo4s`-m|>#T&YXl63`T8u^2I?jKQ zX_gLaxH=ow*1ch~RAXX(sI5kQrqKn>8R7)d8ANvA~qbBbrB=^b1qs|vo zET6QqJ(UCk@H?!<0{=plA+I^jAf|Z|0osyo!4h4T1%~|)D&PqzZ zn4hURgm-9c-z)2SB18$^rG~V34j}N*?lo7Glh2p zJ<5;5`vy$+!605}_<3^=-Ql&Fjy^K*1vo&q*Jci4RrnL9Z@zP{v^{^`p}(WG6J4nc zy4q7ef2t2dTD}ZIGS==fxbD$WvH&)uF~Fk!G86JURaeS8qFZ3a2P{p1Ed;7!ey%}o z0+JV6W|HhjEhw#(wQ9Zo+`G|Nj+!_UK@mDrq2H0Q-33h*c-BV5iZCFP&vB5pa<9?J zUz1vPlPt4o$}eOy@^(OeF;S~q{srG1?nP~d=JV82SrNaUge<>4Kt-9@E8_Y|^dc)e zx_mY7RLol3%Nd!mM5WAF8J3da?Edt~vfGCD9o?HkyqvG0=J#cq-}Wm597*k#>MN3P z!ykN(j?rGvN^H$zlc=qS6WYoxuN&9QzB6u}U3yBlajtst2{th@-Y+?-#&h`nsn5-p zP|g&-BR;bEb+M)4Otr4oC=}-w#0M;^BXynlC1X9pB^o_BJWmTf6!pq9chMJXx#xvnqNGiuH-mNM_1D0gD&nS{HS6B1^wshq6f_ z%6NzcX6qzIDDJrg1*bwp+%C}`%clMuaCC53PU~59b@l5GsCT{u8DncDh$zGdH_it{ zXG5KA9ws;jN};(h!8}vXB0FL1p`lcKP1#1xm^nH%^aLYuL@O z*bN^G!q>an%~Oy4$qWbC%DKVhFR!+$Atb8kSFY_)1mUacL+5X(VI@^$GY91>S-zgW zcUgz#S)TuKwcRdH{=1ihY$xvMDbaiin;0#Xwx?`m?J&K#XPVkWDN50LA=b~~x@|ej zmjI~|T})9R)oc*W0!tWZg%^B%rlRD6ed1a3=(T7a`0eEobvxyPB|A6+4z?*X)0^f8 zU-F_4k0Sn~6anE#bgg$Y0}_J9R^&922r>JRy61Ok4v?rD(d0z){7pNvXB)e0p>CP7jn|!a znGK`zcx~)1(_++!2}C@Q1nLFj5GqHCTbf)EX86)Z+h)l!$qv)Y4Cl24*0>ku1HdcT z1b>KATYG1h)EMo7+pMg8`kML<`S=fOPy2T6UE*l34>M$~%9?6KFYD{mkd`aU%Q+6p zUpJV;qv1Txf~61@;WO|F@N&#$UuV|DP7;Ar!+pW!pdGlPH+yLfuaH>Sh70t@Ov z;b?aVzk-6-)N8hxm&w!00B%*4cb7^UPgQe$|LNwEYTKdGfx@y+Z`%>pKb?L05a3*0w_ztu;1894K^a z0%N~-`%0arkl8Gvu>VXDQ|2UZS=-tTVCnG|;Jj^wmb-KS!r=dM1@f_DJFzr7Vw+z* zv=oh4-sPwqIFak?$o~aHx^sf4;^^0qly_=A=N)S7|-lT>d{94SaK`^%Q}{y(pho11&ThLjGjGWkseFA==Gy&-DOgaA+Z8CzRhjY;W> zdw`i~9-YR~TTsTmqtxLDUtp%}k&Uhsb%-<*ID0Qvxl&PlkVGoz7wi52;GF|u2^aj3 zTNI+5Zj0o#_=M#rgz79huNz=oMruFy@f07DAiuA01+s%%TU`wc7gB0Ooq`t@(a144 zb!Y<9sK3y1laweaooqsK=`4ySdzaZt99Z-BU9}H{i0?T zL-dgX-Qsi4tZ&3Om0lA<7{%T{^mt^HUY_`@+3vR*gR036+Z#g$n^?)u63J2LSYAmP8A08MlXC4P$= zMCN@JaQeHz&Zs{5h82z2oovoVCdahSeP4I9@X$JOX6+q-OuaQoU1-*?&84eD(OH>K z>~l7?&CWMrESFWP!9+51xYTSS{6lRwMnwDE z3H(i7;^~O|K|dHj-xsL^nTvV%5z=B6sql~I&!XMDM{AE7*9GyqP&$fFG)Tf;snBKz zKR3!plO-{z;Sizbd<;pusI{f;mY3SCl}c9h;AQRRwd)9pnHv*#Zb4Lp=wQ3E#`HZd z*!NSYuVwN|puzncrSESSw4&E`QD71Sf z=rVY~t8EiUK?ULW@83z2hmIcAR#y-GdD8yslktg?eKH_ON|#uxc;?PG9F_}xSZjzP zjBR}N(lCm*okTJR5)v6OEhkB;A%ZI{1}90RS1BZ6_qHBa5adXboDBybzdLyr=E|7p zuB4=-?9Ln@2m1P)l|d^S@|d>_+%}?Y_wCyUVs40_%Rad~zk%Qr_L;YQK7p za*7#mJ$bie-^}vmqK5DhZnw^GKX*C4gIr`6<;aA<8uIe2`dM4m@ge^wRKdg4x zEELu{-Io$5r#v(yn@reOH~)q77lf_83lI+__qd*{tA3U?E~@#FE2#1|1>iUeyiCnD&Ck&z#BdCP6gQ!{TQamxY*z8pKVGv8<`7<_ zlG%~8RTe$du)T*@W_cu~!aQJAeGULj$lht;XG5hYb#vHQW~G$fabF4?=xGVk_9a(Cec>d`Rp zS@O&Ywm}=cnWFJg2)4rG1mTK#DU}vK+ItUkQa`TH^t&u^v&pu+WP}vpAL`@d|Hk%J z{r!1;#On0ScBUTl|3ln+hBei0YoilF@1lsH2r7zn6cnTdEQq3jARxVibfij60L6kd z1rd}cy-5e9g`(0FP?{78DoF1nKtkp`Pkh(AzP;97XMf*0=f}A&$rb0ENuEB&J<2`m zml3_4Ov8YD9-$vGAak?kD%Z#KHNn9414>1?4ZoN=acS@(_#MmIqo+OvMTbMym9#M(dB&dgs%b| z{4SRws8omn&^1PPP$ews`5@X$s`a7Fg-7T;L;`n_=sVhP1~hg;HIe;zO|pIYiO*-4 zENQY2J8BVP$9@GU-}H_BRxv6)b9A@vlJ$plO|tWu=1%haR9pz zp}YRoG0I6%QRZ_xck(SmK?tYJsLB5da1(Bix=un*fr!38-+Ugnd8R7gD6p{%9EL2; zwZK0NJUSE#W!o@-F;^RMCsUevL#j&=bkNGdL+!q4L8`X#rb!D|9SCd zSHfj&yOw;uFJ1+&%`ewTm%cgRuBv(K%J{7b*BhsBboMn~<%yP;{CF`nWay;v;vMzuM4sjF@2?zqrDPFXAN>bIAuM0lhc-y)6gm^{WCiT znSK5J-aT`nWR>1?GfUnksw?9SlTKV}{CKa_#b{&bTg9rd)E07~WrZZA5;OOPd7<*` zaIpH{u>hmDdFlh_=n}ecm>)MZ0ZA86Rs7`MICeGjdBx>(Na=|t50yP@rQ4?BYP3@k z>dwb(x?7(?R;fj!ozS{~&s_7(K!mjrxx#qjS!eUacGAa(CQ{XFbQ!a+RPUoJRWT|% z7uDZ2d_$D*I~+}b5s^1x>m`2oL|Q1xX`xb(h;$h>(K4$+WeiKlw;?+e7k>Mryz&fY zY4l7tY`NXaTTJ66B*><_ghUALLUTT&io*`&h=0?D00?^Lr4xG(6TJgL09gF zG1+6cl^234yLS5E>Jhvs=F1P{R5j~73K9c<=`jKYMR4~gPV#Bnc_pjG?q{7I`AFg% zPL13T+bA)YjYGx$OI2erNg>`?-$gwm$LmBRl+x2C{`X}#lqUN`he!6IoW+&18;%>T z2I3`r(;Iv*zJ)D5$=i9;Lrd0Db7(5s>&9y2VsXM9(9h-0GC^jIfz{2h3ail<#=RnO zmXAF?W-fyNsnCZt%;M^VV=_3-qu^N_>E<@@&OWJM>6u4%HcG*{YXQY!xW`@KwzjtC zu#S$7DQZeh^+3iv2Bdz00N%$8;}Js$Fp+`?fjS}GBP0*Bh_A-#_V(QmOE`xzbQ~vb zLFJy?$mrrq0*`dge|rY=^;fZvU8ahL%G3X#Mb&j(aQxS+}9Q)F_8y2 zNhg7u3X~BxSEop$))$6K+CYqq`9yvH;GjX=8xurYO6qlG<=%~rjiKto%UoFE@E9z{ zO?UeGUhc^ocxJlk5Ltw+f#=ah-O|a}iWPRU<6AoHc#N-@&azUTJ-+a;Rc(&`us>vA z%#b(TTtjnU>$G>5wWvad!nZ7Ul&=Np^I_~+=mQ*sALO?3R^%O+6HqgF-r{tw zxtDgk;TN~3-VVTSS)dsn4a4^Im|Q7GrNMdqIPTlYb+1%3mUgxH6R*Yln2c?5$~$cA zj246j&zwhxHVt@4dTeauEH;&<&esmPZaqDryW481o@%q3u3x4&aM`g=2EH5mC>ji_ z-Dy4vX=z*F!&6Y~w_n2iYLsf&yw+Om$I{>fgP^DqA5hUOYI@opJm`W*m)bK5+jYiD zBQP!O-L+#zmp838@Np}tY4do|_}6XAdOt}JkZ|W6BIr5y^>{Jx)Kf<`M=Qw_TL~vRlw6F)oHOKa@>W5&;C^~g_aHQ)F2Z;BDTR6ogwd4j z9%rxJO}aBkYNXT9wxSb}2^TmZ$&{uU_n}Er-(#@n(KVIlG3Sr#FHhg{Wj8uwKKC#| zJSoAlhY_M~&Nu0=>L&+bsxv2Q5dmSTBmQK}f+@b0w`r9=_=x;!x^`a4Wb7g`RNG__ zPXSE0ZWIfKkLZo$-bvZ?9X5C_9WJn1HDf@+7P0kQRg@fwIUjyBNOvlx=!KpWgs73J z#S0=cQdKFGJTDBi#5v%OX}N;fuVVO&%AXX`tNSNkfBU59R)qF$Y=L>xEP`uH8bkyw zIv1!VNkf|wzHe3QQ?_fj@{z%LT#EdX4moP+d7Wa(WbdI0bspdSPv}g3d$s4cqz8`R zq-z^SM&MAhxs`|!ykj-;8CC`F+rXuTR27S_bn7jGO7mx4hC9*U{9UhDj@mgsv`9=} znXe*B`}+RGXepajQwAq{K`e%(itduM*1%Fn;?fE1XI7(AIc6vkvXUg@i~$w)MQvIx zF6P1A#q`#GXUQTR74kgQi1*xe>L&f=*z>9d1gLXGYp^o(+OG;?dE%Z?)aP*tml#ga zi{f5!#-%b#RK8qNe`Q#SfI6=?Rv!>cC*bf#7*zGEVED?*%X5WBzg~S#x1=6d_OFPl-v>@e65rV(q-6lv8X!;ny(qNKv4Y+E1Y3u_&9gK zg5}ZpTDt;yW5a7iYA)nQ#cvht+L?E3QmbD!e(MM@)HXc4&QfYgH@S? zTLeeYzUOd@ktvb9!X(bAyz50Pl${@mq150r(7%XlW6!G}*yA}%H+etN>h+6N6PL!L z7x$*FD~oivkeEywuFx^KDhw}NV14Vm@H}f|g}zi}Um^F2)Kd8OB)_2*vU5?(Bov(p%H5 z_av3%;DK1C9|5I%j~p?EU;WXWord*>GPckUaP6Q*IZ^BWdD@@ z0JK^c6jN&)ZU(Oe;l*D#ZEp7K$VXEKljXto#giwt%KVm0cGm=vQ(xz*d{v#fGH!xJ zI@}BUEs`(=3kuKg@F0=Lw&f3%heM~gOP6s2z76iA(x$BsMQ~B2+CWu4vP|-LK+K~U zkiph6sdRU+Hc=O1hCASMQ%UAU4=96Mumo`{u^O?#Shh$Aohi{H;vOwNIlN;oO18XA zC;LvQ_vg=}HPUa#ENQI=zge0)Gn}kKi1!;Pj$Y~+dc>rKlQXyT3^wsgp-+QK3W>)@hw>~U}QCtd3Z8n<8uZwzXiODL-5W{Kry&Clf^)Dl^$~&Ls?w$Q^^5a zu1l&`OkMun(7cxi^+7LJLLp**;sKjiQW0YBX_1;Zode^17Yv6Sx>l~5zceT^G$tTm z2Fw;Pe9fh~u+f5NMj4!BKLn2V68n{_M}}|olpm_X%(?9KBeNFR0m7c()s{c|rv$?= zK|=KhPjOz`h{rs-IPqA7d+g_<_h*flm;PL0ut58cxs{?p8l6Eeq_-a0XFn9Xkj}qa zj!dw+S9*+xpYPgw(-Ou%LG#P-qn`aqCgQ;Agdkz7R7lV@;F4AZg8JP%P?+scr{RsdgiuD4?6uHCuxd`eqxnqVr|tF|8Vv?sfXn zb3hGxX_3cNj{n02P8B=)FyZZuz6+ejI^Fp^iP>NJ`}GH-7%~1KH5cGiR*GQ`?(N%$ zKn6-kN$q!yIsk+$u6q1Fubttu-Ot}U-jqlQ*!z-4ZduPD@9-}f<1mWOl)$ZPgGmfV z8z5J8fibF-sqCqw#?jk}8gB)HU@r;CbDq9Sg$d<}Ll0VZY$_r0+m`8qvne!GlgaE=sC; zak(i;iaExTNsXVv=|ZOh3s#VV_b`=98m5pX$=x#=BM1o3hGFFXp&KvhSKh|AY&cZlOx}P%D(aO>bKT82Gid@vy5u${ndTyS*d0^N=1#)( zA$UnjQcEb`E-%G$7FqEfL~5!>!gi7M8h;8R?XhLreLo=c2B}ol!2I)8==>j@)tx9$ zCQFdDxHQAjq1DLBy+?kKkyneLG!gd|?S69N| z1k_wJ$A^7z;21s{Y`hHfeHS$RfMCLu~>K_5<9)?DpmSgD9*I3y$18L-$P~n@#%%4li#uyOIe*|E}IvY zJfR?8e)wCg>qQvHvRqj#$z}s}nqT?+yv-cx-_wu0vzpF)uz_~)to?&Ux&FGcA zo^&-71QmTNv%Ub&;Q*rFsqVSIwzl@LU#>5tRQMR$a=smWvPIfG%I3{6!@e7SBveIo zDdY01S_hGlJC8d&7QrD(A7Bx9!n$kA;_FjmZO-v?9wnS6Z^pd^PVN4zIoSiBt#?f; zrjgch?5t@#C8fVQD8dMWv0bj8GD?3DCvtK?w3R4QIwdN*WAWKib!^zVM&9r^)|%5! zL4ZtI!Qh0@L9lb6v#wK}3oV5;c0YZ}z;5>5$xZ57c$iW<7T7K3^~5Z~Yc5F)gS2M7 zSWY=<97-l^IU^w39bbVXSv=Pmv1BMqWvD1B$Ek36k~W=`DVzP<0P5-OyREn3vY)J! zh=^P6umBV|_jJ0}5;3em(uJSJqpzHB!X&K+Rpa(*lcf2@Nx0=q|1$8$vS~R%uPaTl ztV zC)U^MMiIrMhC+GVNRt0|CU+uIKc#cb0VAl|F#YT8u{xf{a-IEjS6{){Vv0vPW;i9) zuHA#&Es;0otuB-xy1@>C2Y$xP8V29(Znq|G8LvQv8VGvpU9T|-dDk1#Gm6)w;2X~I zjWoPdC3$et0r236pGydOJ?=KyV7!Sh*j-P1toNs@b4X`^LMrEyWilnzvk<9u6+MLP z4CJZa*9n=|rzarKB?$tEv4uqq!@76@GHot0@9SHLJnOW(_4%)d!Y%c)^nQ z(`>v@9K{?>l}*44xo~*`+;Xv?)i&>9Ka9_`<)jUGL9?0E(Uf%=j`R*F410>05{u+) znsJAu>xm-q?h_48OO^m|pP?7%z|9UdJ&D{4;$~wy`kCcDCf*dX|u1uhliz)*4r_afl9yQ4FP+>P6xyzjn$1HO-HC!lD$Q5_yR>j2itkmB;cxb zs4B844lU5XT>q&Zl#(-qao;~M*^$)bGhW50RYAtt6-u9x@JElOD|oNdkX6YZS935x z-+P$QX<*rD$1_o(8N=wmkoeA(yYisd~8DEN?`|kt}aYk?xMUGLbld zba#*NejiKv;?-(_T+W))NV|6NXY|!1&q{r%yTSpYPsTzm%g||>Y^S!7ho8l32cb^+jZ z`{LN~-3LKou^3MV5Sl;abG=29R$4(DV>qEAY)@0+!WqSs&r==vgd}woNd5k@={Y`; zcw<~>NZ2G$q7+%8ZuW`I&*%>am8~S&U3~Ky7y_)j_8I|!+tOt8G#=alkpk(Z=Hj8_ zH!XS?n;SPc?-uSZ^=~Y>oGKdDN_|=y>S!4>BI#CYze=hP%(eEI8a|(sDoEaYr&=f# zRoWg@jR4I{l3Z$uOCw6tEUmn%89vQNleYVg$-{R!;s`jNMGtz64P?_CiFr}olTPGJ zqD+6kptryIB~r9hKE+oG0nd+nuJCvm2-GNj>s_9ox0CSD(1G^nX zU&Ci(maN}!t~-g|zLvB-upD+VX<91VCgHILg`>l0JIA8o_kCatS`0eQ7yqz!>ifim z`!pcpuvnFArj8DnqwJ>zd1{$VnigR18|D?%%? zaQ5B%0kWF>n)7iE0rsr2ii&Va)6G82C_3E`s8~n4>jKQfyBEqWzMc;~SL^&7Tcp4= z{X;;Oen$xXD|hz05NSy9Qg7-~vIkWmi-7 zx4Gk+b2ef> z2*IRoQFO9}WI9!*ji%QXh!B&{-B(h}>AKSLoDtfJ^eFj&+V9J$$@<9Lm&d56PP+!4} z1RwM4O>5+F1Uk`%m6nIz*5nAzV4AbDawRc)(DPhz@k`M$G;VTtN~bY?cku=xFn5J$ zUU0^j+8>K|ULR6a#m?VgFZ`xy0z{ywag*~F z;l=+bEd%yLUgac6 zWs7uYAny~ec5}Ys@2Qr{ZOj$X2`-pf+PwKku>%AjoY!NAHj zk8!K2gZtrXb>K6o`2Luf2g}De3}8lacjU4t#>lWn(J)d)eTdR{RQ;jZB;)PLYY7h7 zUuF((RzDZID7A``+o`{^oBL(PqIXv;g=R`b-C#hS+viwSa(+&WWsH{qtx`^!O#zXa zH;C`5B+ad*cjOz(8tUYF!3CaCJl`m8XGw=Ld~np#<2I%-69$(P4TmtJc*?EPstVA8 z1@kvT%-=5AifN^XsM#QRcvQ?NeC;ICz{`%Q;reY+O*_%>&o~)D= zMQMz?dIHlr8QTOPSuNkLlUp&wbnN1=k$!EMh49(6&V06rBLS>B3Sz0#;90R zsO#j&z1jP}*fP9$s`M}7%o5TQLtQ5GQtxugp}`X9gYS{RL)15<^VI&Pm%-FmuJf%r z!pYYd%o+ZLe)1ld-eog9&A;+=a-BEX%kZy+mt5!1Gob#RWbsG@&A&%%$F)HJ5-(Q(dT->J*{2K!(6Eh#%->GYV2Y26N``2d0j5i(o5<-r-=+6~^ z_qY6cIM3}o(^?b={&}IE)DrF7W#|jd-dFm0DsM?+y;WeXhj;m*KSO-&^84NsHrits zId4;`{Vt-p*DjX!pZyXs=07zSJbxBcAn<&~x?9Xx*7QX^gS@OYE_>#F<<|G4x0k;Y zmGDa3%(7{kFLG)Qsw>CKtaMDz)GWylU|t`TZrpqtFh5X`%SM|D{H)4=vryyFne z0)=`XO?JP@=S7oV`7YKJA1EHs)4RK@Dg5aG_U386J7YvyjMCc0)>pKi$C97Cbt9WI z%;PMm_1AubwBxH2Miwzn2Eh2~0d#&8bolNh4bY~uM0@nZ(U2z)5)Iowqtd#o3v*xD zD%>w#VDvtc>&Y_m&D%(5=UFkOmcbp#^}NWQNuf5M@-|!)I^}xX=i{ThuX**~h98J~ zC~{VYX&+PG1kLIf?5L%5DQR^}5xoszI6SG#gumm&WQjkPe3m|L%hcm|?{|Mon<7_o zDn8oo^i#3Q@0tVHXJdY-4A>>|lg!SS*wCA0NO}8V)@Xa~7> zX`DkCb!#?w50#to1!pHFz1V16 zRKZ|uQSJBrR?M2m9<}eaUpOWGkB6_^>On!vn(tQ%+fP|+6dIYR|7;JKav+(ZRuNa) zGy~$9gxZO#X)YI6A1GX)49B*#s6%SXhZ$kQF&W(RF~cTSS?Q*2n<t13!W^|usIBrW}E3C-l1K+ydPC6#*W1c?At~u*B??R(Gh7LWur){4$ zPq4ceOP9iZ{m|#hL=RPdCq&~ZtIelG7Kgj%K5D71y&p*vwQ?`~SQY*;^l(YA)H|V% ziFz$;pc9=l_wOnz)ms(T{I7c&bvI?&x=&fGcfz4!?AHbp4Ew(IW~I$My>@)YOBNIU zGUQh!Y+Ctbp!d4AI$xgWhu+he&5NhkU+!(GM&3;L9R$h|3-euw5_l4#R)4nM-q0aiz zNlx7bwv3FmHRk4VrO5pjP4VoW1uYp4Y;>ab72&GVc+E>(8}dy1PO6TgSPrQAJK2d-OIYs%#9MIIhTcM`F+l{ZTex~_0xj&&iT%b8}yqxD4jWA@y)fOrAyrxiTXX9-+ ze}t|2(`&gCsJ^BB37w2eeW^+{Hp18hN|Y};s=&SSz7g-4JuQ_l<{50hccdCMMyQ2J zHU7?mXJ|!?p2}B{N*N+jPI1{KUSTFpbuGJaoz&b7rMQ4*JxNO*_!{)Xkn}TKV^l8SIdUws5~XJqBC6OCBk=r{KqRktnAG z$}h|vLA`=~;2(FvTR~&FGt~8+%{Sp&1+s-Tt6Ky!22pCNDl{is4kv%lW{6m<3{QD@ zpL%YOMyS5?W^&}}5FwjJAf|~eh?z{Ys(7|j2m9_ABgK1$>#>m9o+?Zl!x(b^Zg50@ zO?viI(-|##dm92Xy!jjM>#D>KjG*6{ds+CNOXvN$2E+wA;9O#gIA6k}!Q>;)gnYL&d5E&yIsy0;x)t7B@~yg1L2#F zS-&CQ2wj~a3haROc8KZe=@2jzUiErSzG$&sGwA`f^I736U`iVG)RTi&O0-rl&tIup zmk{zL>bNHvAj7|csgF2xj%(&lNb-R8i){BlBVQ2jrPXspru;ess;71o;sI(?O}qv- z3OZH79-;Y20KYu~vWE=`0#4duU~PI{Zs-?%F=lgqbxv zvfu)b9L8t3ljD;f(>X1w^Vt)13|iQIiMsAaEfN{d5m(iZwwwmtSQZ~PzG)F~h?AGG>r&FyX}uVP0lNvj8qIdSu1|166;!t@d`3`yb*BxBpLW?Vh^=? z&*?whM`thm?G96~0Z;J_M^2R}k6&DAS}4tS?DB!W)T@T_`3Ho7xlTnC?KS+{IQZbn zQ&C;4KoAZ8)noo@x>SC)ie47y69dg4D>8k|U%1W#AAgenp8wd2$VbkY%kb`lQnF3d z*3eWfub|e8ih*cFu7PX$C^W8IWv3`jOC@eHyw1$zShz5EcKJ-+C%B;S(EMWN_?vKJ zwLyl&@QdO0^NZ=@MsF(f8;-Wn`@XBvpyLtNwC&YNrsx}-8yLCp&YZpyTgWa(|A?-e zx;9JAKqoVk=P_t&%E~p_k#tge-X0>p)+7DQ!f}GU2e6=C{iqM3{-w9msu+0avBe|O zHTEBbWx^SHmru3d6yn>j6BDagW*WN)Q>ZRJoVB`TAWSxpHGUdkYy-eHY!0)*F)@`Zxc@hI$RI7n4(3ixyk0(HRD_0CPtcK z`$<>Xkc4D)gU^uI3*!V%I=8!E_Z0bQ+>p&kKr4|iJ4g+j)fbZ?&(NN_L_J3`x~#7I z4e1t>!RYroM4$~#N)GJqNm%zs&4v!K(0(XP5zYA&D#|3KY4v`^zvtVUFSFu2W>4*k zrVkF)z&dH}TP9LVSyrl{lzfV|pIP$fx7^p8Z|^ORDbXyOnh4q;FE`37nSNaP4;}Fr zOAIdkt0V6J=!ozwJqZM6471}?2-4L^=DTT7rjcr#O&1>MF08*&W3zf$w+kNuut$Dq z?!E;~;{pbt1u`p0C69WK{8U}=KFY(0LYG_tdbHst%HFV(Hn-0nPm~nuxAN*PFqf?U z?ke~CQx^oPCUSx*DyGjqk6$8Qb3gInX2Fs})*ky@3ZVwATQ)UT>V=?LAn824&$V*e z_uubz3^F-4tN%DK_2uclQYq;NN%{rPaqd79X)HOkDSD}~NAeRfR)ky7X*xqkbpDR} zRcyPetvf32W%6EHFIlJGSKZ_fMxU%a-Mk@%tzR5dZ`vC!$8fwaOG-M@kmEVi+TEYW ztQ9zcMcn;r#$|I0wvs~UME3&;$ju1XLX{duYLWKK7Dkb=4o6|pT zOcMnjxs%mm`&EHv{v(|52hrS%D5U*&@R1#`quWO>^bh>-H>e@p|Nj}1fcE@5yV97AZ~+df1LNf01QA0m=rO}P-R z;fUlRHxS>;jtD3J5W2dJisf!TvOW;6Ay1pL=6FCO`$mAGI*kLPn!nF7)Q8L=bwF!9 zNWx7}O%ZS@KtYX}$inra1vCJQak=dU<#zyEsZRUO6_8&y(xH(ty3JaL(gY1SjW}Qh zpvEsF$U$ZTI$e-}3+Nj`3XlQJ_y2aSq!gh-!IU&mYyD`;NTs7r%c~HlM4z**M$jnCnmp|V~Rwdz7VSKSJau7v9r>DojI+Q$k zZ0id`SVJ6g1_|k4(P$cn@3(4`Ir^1Jj;$>rc%U~cD~o+)UjePqSg2XVwG;XS+x-Qo z4h~2OB8DtNv;8y~2;%~xP8KAjlXQ?gxJVcLnAj!;VH!p9K|e@ng5`Zu@9|0g9*~Zb z0+?|=*|V~K4vwZsn94G(c62bE5E0oEt#RtyIVVczOnm$v{JNj5jZJGpFv#8cgkt1? z@=Lj{m;id~vWpIOc6599?q#p%jo5GH2Y~^sgYTSA;(#dlMl;22jO_N`&0rnC%%dr| zQ*setDhrTJ4DfkVO3jgDopu$Vc1o+3bfX<@Gm29g3kXBy5;y)vs*n|+(QQgt0=2tO zcjqikzc9SyPd*rF9rNUgm5)zVM)~n{%04hapYAHh0Iro`+x`3Z$6d|gKk)>#%Ryp4 z3LEYvDIoztR8u(cI}hG`e(i*9&!egwK3eFasXTg!>WSHDG$0^SS|+>iGkd zf4f>;2pjE#zN$b}YTQbY2&(2yPczVh0P3ip08DO5Lc(Ky2a`xr60`0Yrzh90Uq6zn zZAz}Muiq2(VgBpnomLq(S^j7nz^3~aRNOX;4FdE|r<9bUKvLhf6y4YDm#L}r&^V}I zKIA`KYRL!zdYSTEm!re=W{0EQ>A-TmF97*LK64PXiBVGA!I|uzM-$TF(j-J5Nu@SF zY?X{NdG64MP{~~yQvvbnciUJM z2e$`jAV|)VE8|84qBaCaL_~nR!0ar_v=Y_i)&)mezW|m-28bE}#w%r3)^zZ|f#&t~ z)6gV{TJYtCoFEPk4jU&YW>D9*WplHN&=~CQ;?f5A*h4%Z?Q7RwfH?!4No}CkbOgv$ zd2JgQ7`XcTr3ZB|sMWj|b*_TUVb@Q=po}kdNI?Df`rmh!$InSfN?NU64K7o{sFRL)(C>Zdb1dEj7dSILbsTUF=;5i65FGB+oif<~m z{g-C0-oxgL%4sLJr9M#&8GD#%rx+$aXM{u1Z1A^J*Y`fW$h9*ZYqxdfNWZdj|Y!6xc=mD;ksFm~n7$pvF}WVPZ70UL+^4xv{$!V5mG# zpicMO!?nQc+D>ZcTok~5_;6`K$>|lU8JHW2(zrcVAcbkL()n$INSL%TGNy74leJnH zj~fo)8VkM5tm!+2Bd^`R&@_(-vMU>TURw+^>syeAR>CID2QRX>7WRQfb(4h)4#J}2w5reLRJVqHE;o^ z50%9)VL(8i2rpzuwiKlJvp{-?c-~Jajw`mk9DTTbxJ+vThW|V<}!Hf|^9|E#jkcdd{ zWZrQ1%OOF*2i6A&Vrd=?fY)(|DBG+2Yt-s$UcWs`?{dtcf&yx!Zoy4}%UGzyZf{&YOkNs)X^bk=G*(5Fg~)!~vn8A4@%^UDC~{=!7rI)7^ucS8o69J`N$?BL&hb+ z2>o%Wayr!?lB+>5Ki@OIQt)BwV26iLM5Iy%%J(PZnHivsdsmPm4u}Sn>~5fe-fm3< zxm?LT&MY=*llP^&gy-`rNgPV|-;sKMZv>nH7unima`xo2cosx{eq&zGLU+q)*TDQE zpk+%ThUDp_e*{OXWtAIZo)gVc{VLM>){dd#0pa0UK;!^nfiKTckBybE1%_r#j_Ky> zFEcwPGEfJHnk+jc197=RY8i+lnDjA%pxPx;EZz?N0Q8SOdv^d4v{bn1^NN3S{Q|-V z*+FqMSmio;Xch_F!Og&!qcqAJPYCf8L_%>B+-LJ3r_-o~kPse5>{a&lg?&(8swN#U zkRcK)ACCM`bEE504QkW4#4oyb_mCQe9|N3LP=$0L^+*E;R=M|#_92zP0q5<46$tQT zf+$WuxA%8Hl$=sHecEPuq>>Q=!~n*9dkm@hL;n8qkmDU>0a~Vyq1Q44m7M-Y;COrz6QlUNdjB^XD@H60 zR-(=qnz~EERhJ|pMYudz9}M_FH+ZpvKnF|zam`+E3<=x@a|4BOC3Xe|`m&SNU za2Q-N>1C}I{3}Q^SbRcG%VrNUQtM%92eb)w-UvBpPsD9GmW(p%tfPtJ$kI731Fw3&i|T&HjJCQ4vc)R_8EO*k+(` z9src9xA^(oe{$N1i=K18d-uTL%_jHO%;%^M)%cSgRr{gZjnVqL|D6y z*z^H%c5rgMQVH4*y!<65bnI<1$D@Dzuy(1-E3Rd+>kYYmyMtub%aLKiQ7%3?0YQ%s z{urF};mo&><7lRCqScF!^(U%F51+I^4~D9M!xq#P*|&W~G4;)M;DJc%(SFY^#??}k z&~zM!npmRP0s@vY3Wf4rfi7miQ6?W3D4*86 z1UjJcgLMj;$x~na`GQ>HlCzTFe&#K6^VC#!b;(&xm(Tj|IZwJ$&pNac*aBs!W)5tV z00fkOpiWCmrMv1QteMDzUL@zx03reOUtC56&|{*yMaBk@^Rvj04U8xw0j>3I^N+fH z=C<^X?z%Jf`A&j)b1~fFm6X2V9lXPkdkO0uLO-v9U-8@bfbQ<#lC}fsqsv{f` zuq^O$6}%`fKebVim)2TT+GHZ!Tz4$G**O<5%zEjoM>y{mOzWa6QIl*+&?0oN0A(c| zp@#UMcml7`5%2;)j~8T${Yw|*P0E>=&O{hj5N%!L`(L`@HkyD>mYMy7wH}{hYulYS z!i~zY>wUfTjmGl$A^-z!I1J%Dxc5z={N_~1NF3HZ5C1DFti^4JOZRKu^BKQOaR zBcrL0NNVMPGLgL#DAM_{1y({jfTSxlA(=~r`y@dQ)qOrROh-zhG8TyLNejKB=irJ4C$)ICS9bB#*yj*EZ|pV&X%rH`Jtlrun9=j z`!ymBj8x={13y~A{+C~}faNUhKd~~?5t2H^!~8$^6oVQ6-}@&ewN5-c6(NP9vRLth z{sD;og>#-tYNaP2DFE4^uyof!c{QsotGEDp)F$Tq=6zTvJdz}M=)b?WR05xHX7F)` z`e?!$gSHrK9sr^k@0E$h=$_}_02GdhByckGr&7}4%amb(R0{g`EhH`jVB58qd7T+0&}ILUdyg(aar(2}>0C->x<-fH>EBaR!oPq22CBcyQc^Eq zyQQCYp_&Xp*&L-WAWUq@^wup1TbFpr{bbN#YAr3mlsQtikr?z(bYBG)j)U@H>9-7i z|G@T!%%IgT%5Sl$mAgS!8^1rF!J~lTozJ$;&V@&|{zBV$cNgfu!Gp5t7dyKStwzG^2k4m{as>0B%e;x4 z_gTkO1HlE3T}x@O4wR@s1@&VKTm&gG08=yryz;AcXG7u6PdaEGREl;94S2sy=PE6{GA{Ap8+qrHCe}Dhb*7`eufPhM| z`5mUp?Ei?b*OCCsch(OQGIIHFc@xsPP^yod>BqzX3lo6il>2bHhy;x5S_pGSS$TT) zmD9+`%0__9hnJz|yMSHPm>nBd4{Qx=<00}Boo65_tE{;MI-a4qwKY6Tp|-ZxlpTVA z)!^=zo1I<>E|BJ7VE>`g?w&Yt;!~gj9iVfTLletmjh!B$x~c(yz5ohn`tAa*eksc) zHt3;7mJD0gr^m+13Igf4hA9}i zRkM~;<&0kHrFf|M*&C+-6?yqZctsAHO+u*P&Gn$>b54k3>dhrb6>sSi;MT|gimIdk zM^w%J7pmUl2z_e^@E+9vxx^0TDch9ay5OpV^zQXTJkC;dYF53QT_;6(=xtTiy@`p5@RrW28E}2u8cx}I3nQO$1xcla1~3RX zVwu6BVZeTa`s!(9R8?budfV+lMe)dn^FE-9zG3%-s3sqv#W!uwWfQ(rO(Q@nJ`nk1 ztvD)K8Ml|U)}zfQcel9*pr$qAPVL&G%i_H=iAEOXHGsu6x$xjMu;c(Uv*t9tu4Z1p zW{w{C2Vu?Y{S013I(z?(p%2odu*)(~oX9nHNCaR)GR_>KFC~@gaZ)hr51Jd_GLD_P zMf@gT9*${0v^vBv%?x&1i~0D5kJi;m#~q+(B{yqXhw-s?8gHxj^nUA{}s* z@72eK-2t%N?++uXR*(=UIK4RUwIKp1Aa`cJ`(Ajh_;)M-B*S*h=0Ie@1j?%^rw5n_ z%txxvVV+Tnzco3};O?%ycEbCE#13l3rb}Z)yn)GF{xq;RcMXS1C$MUEo>2@UNT6`KUupp(6>>xiP+yp0$LS~?ZA%s)PQsehh?VYus4){&nO|^NW2NOgC1ml^Z zpmSz+`T@+!202&*91aN`LP6U9FkKX(Jn3f=HKAT*+mL;fr1FPlM5H_CS00>{b%WHq zhFgt6PC;tmlwA0M#Lx(xg*M%xj(-B;$GuvYx(>v)p9%;Ssar0IU21P{r?Io#JS!uE z1x{!iu*VeucD45>2tdFD0~W-a#9PN_N?lEdeeCSsk5@W!LRMa06&c5hzkdH74XB}@ zo}Rh;EiJ(h+9g4%m9*{c+e|>v0paH$dDaNi4rUk22HAa4fuKIb-joqZ`Zay{?)n4h z@ah{x2j+UaZFiS|U@(*;kf4><*V}JlWWKMKHD(V5!^F9h3s%T!h)D(#n%xg&APduo zSHn1}qPGY}5h_Du=W*^7umtAL!0ixLm4>=7N!z#uCF*{urOAL*{W)*la3C}+YVrwE z!Fe}PkAYAR2m?*VsL9Qnn{vQH>iO#wPjc^#Rl@|o~ zXAcMn_)54)<`2ixs5S0_vWE;nYLZAeQV=k`|5!21MUZZPd41$U_Mhf>vyB5sDz_C%t(O6tk{17xmStaB(&L0X!17*j zv(UZ9s2j3dQc+fRH9sh1dFoQu4Zy&hJL_LPfpX3%wBUTVtj$x2=fRQ^!U89%-w+DV zBfWV!t}Z{2d4etY5q7LzAF|;jI%cwsOF2xi^rjj(lt4m-APP!h1kE4a`TIKAl6pOT z(H6o|fR6Ka7yb0wiSEO~;r_sW0WI@Dx)QB}lQ#nZY-acao4Mlsx=h_C1J6JtGWi&B z!P)~lbj~Zg`O4QhpAW-rGHm^6k@~7w3_B#`!P?pOc_-&dVRYfU-+$rx9!)O0(E`&Z z(38S`be8fO)y|{Ku_vOY=IoQ$*k8bm^{vj=Ww42=F**UeplQE~eWQU;&@xz7Lo3Mybhu$qCXc8fs`U8zHp#j81_owl&D2`dvEEaEHeL z1b2n(m`za`0C@oI{SP3`g?Y~-oaujJ9Tf}y2Ef*_?+9b+o} z;J<+O#Smkyb5pfmrD(zcH6p@e``i~K^-Bvf0-XfbhzFT8lhtgSh>g$ce?aHC@C>k3 z^dn35T=_^3)j(ps4m?G7cI;kKEeH4%ctsS--hbW-)toGI7JBtZyA7NdZ6M7TUE;`B z^5VQHOX!cWw#y4=a0A9Dd7#0%LJE5$8Psy@xqzN~53~h{*}qgs;DiFk0pw@JK)v!N zGD*QR|3T6uG}qz3^h{|ft;X&P$ks4b;ax1FnbbaT5b^`YS-_WCde$IW^VeS>-VxP& zuw)3z2d)w-kOycS_*<#yJ`WCxAnAZc`2B%-{vuC+O=OFKkY4o^G5QOd8gxFLq{8-t z&~lX?D#K(J0g=MeV10mK=nE7PMK#JWK-9pK3#<#z3^V5;u4V=ZKyg_B#mi{az~ft3 zD#$-i5&0Lmj#=2qGzoP*DLs8O@E<7t6x*?NLMcXN)+X-%&LE&OiC{|AVF zrV;gT0mt{`1pl|O#8k(xZbptQqjIHh3TL{oaxcU$ARu{qIZY*qC8iTV(b?JC7rKu}dc41GCEuh?+sq=AE~o^3MjeEr!{GE@ zoy%ao>LW{JstCnY{(;#4GwcUkKQoYSAII$j8W-JZ+hneFUZyB3DvqvRy>X_&m3)W& zbn>Iv{nIbbLPh`Qk*(MaN-Sw5 z77pTo&P1T74sS0nZeWyt_UzeEdhlUBzBNe?c>qPOb=Ll0)V+B;RqOjdybwAhol}w! zl@bk#M8wuWM3fh%#1&GBn6MB=fkHOqu7|7BaIlv#0f3OXqyf`Fy|6 z=lA_Re>}hE^*BfNUVH5|-0Qxt`?}um_kCT^YNw#?uqRpOVVvV&8AHlL9v+_0U%#F! z-{8sR=~|#)z<7)6)m!@Aha8^sRqae<{6{)*6F@i^PMw4@uA{QHo9YMg>v3i*SqxJR zETWZ7*iIP)`uWhBxUok7FP~RZIw~WhZT}t=%W=1g5F4M9-`PH}3nwxczkvyHJAmirGk>?s@kJ1~iOK#AyZ==&=a>4L% zO^ph~iEs1rI(x)oA;r68>A*|zW5=$~_7$`?pI8!os*Nn4g6i2lTY6P_rpF`zpOr_c z3nBJZ?N0@#V(ov(KqCx*6Z_IJI#&jc{(X;eo&5|&*qV<)75MuL^->sO!H4tUTNd8;?HJa!ysIKd_qDR>Bl_- z177u*Qxior%){vaQvhKBlN=E`*aK|7|8E<=#GxrsPR2ldQoE|;&G+qR3Fghr$iQ+K zcFe)i^WE0O5y71SAal@?^pq>nzx)WN9-H!`<%4R+D;FA#mj2`7CceizgL@W3hHy?bppTNH1i#cYK#^T&@L2gjo@(wiAU z00$u=*ifd@|S4fsI=a1ZFuK#^ud=|^v)%8Vckbr0!KogOxl6$ z6cDI_6n21qN$;kx(HKlEg0M-_uE$Xc;%8Yd7 zSn1ZBioO((9%FFQ;J5+vHD3k=jNNQXU;ui6lmQg4$)T;xS;UjnG(?{a!c!keVeBQt6!hr=Gm+8*`aN;kFM` zG-kU^Z!HFmRnrzEuF*{I8ZxK&DFOkqb#Dg11N6Z>oGnK=4 zktGTG>Z-Ko^wR<823R06-B+*`Al{r!8R-nt&>tLRX7v3YRLq#~;Ndy8GTqIDL_|fM zGcgfpK_@OXlQ6ufzn`P5`((*cY3W-wsymm9u}%V{_a+XG-OpH}WgAizpJil;hvhwX2qh(dJ-A!mv^7!!$#q>g3km6js zFN>(#A)XAt7?#q-s%qr~DP5@ZEGqjwoZfr;912g_1tTf{+Cd9Vn`xR{4_&JVHV~QZ zA-euLt-L!thJ0kw%uVDGxxe}S`Lr1jTU~Q;*$Ji$pGM%Qjki$7_W& z?e?kN+yhBBmWvoK#fo2QEb7QH)|tmp0W(=`E>B)8^j28FE(ap&*7tO)bie~F$JRsg z|FWGAX=^~+r-Y%oEig{s7fqSCjFzXMAveYK=84n##YZa6<>F@0V&BZdwR! z6rX83Y?AcVatqVaZNv&48M%4-Jqc1i@XJoz=<)0GK1;Pl1Pu8_4&T$$O9Fyp74P;8YWcd6JTndZ`U@ITYwEDEAh z$e@x;w9=_vD`waZ>;3Abzw~q&5N5Nl%K;(CgD!^Y8vd~bdqUQT@{t&qt@%1g@>~iRQhvbAi*JyR zBUkqPY+m|HNSn|;xF5kB!d#cL9j_9!Pbhr9n6a~8gW($UmRYtktCL+w^%oX+98I5L zzODH2+-4HL8&UwR5nenZ$9iKV2Lz&jMwliWX*f5!*pD}K3+$?x`TypOA?{Y$JuT%G z?XrXTTOQkWkkE;L1<9j{uJ4M!i$s2Z@KRlsNRZ3uaG2CVPYAbVH*qPz$*+N%V*)(+ z)F7(KGKoLdhC-xiw@##Kpkiw0G5v`M(-L9FBz_keFAZiCqm=#;o~!LxBx)hbhaV4K ziO^>sd0|^38mfdX_*-b#HDL}eIc6o|OTBVuIU&Y{4Q5~tobVN-;qhC>pP^E`2n6jX zc#;1^h5rx1Hqi8W;iuowWm_%Dq?5=^3rsdRnUwHzG9_dC$v3mr7cbSfX~_D7M6>PG z9@aSQOOE97lt{b6aQ`qXFH-RlV2Uu8aG?8(f%Bj_`$Ai@ei;TR%pwu3FiUcV%lb?q zY=zkr^MV9VK~&@H1CYo+zm)KDkuZq_U*9o`l_-fX*sWrEoq16Gpbql##aUV%i>HJ& z5`2^l&MgSi(SESbKpCE<3IE3+{QDaSptl(AQ+?>moT zZe9S(@0Bc6t;eU))8%B}4IDI#u*c$h(Y9^K4b~_o&%*bZ1qE{;3u1(w?wn6%fImJi zssY$8xXVC}|KmG$ESCc8kW04G$Qvmc3V!e1WGl#{Jw73gn;0KI%KLybF_+T?i5Q=O zjyFk|g|q&;%HWQ7z)$lbbz@ZwWusmI+y5B?3qZ{LY39Gg%ucpn<*wzGs6$Q8^@#ZI z=olmf>y4u=yMrUm@D*u+rxk1ZxTCrA*XjIQdwD9hm~K~ zoXvOHy)p<8#OG@nZkula_KF4S#VDQfyD%<^HQAOKI1AKSi5q2oxP)65v>V%TOdmRQ zNbuza$+~sU@#-O#H(e(XNaQm5YF()QmyW$X*wvFxdUgbCh?volb*%I~y7gCM>I*b7 z2zoMkI!R+q8I8FW-s2;vr5?oL!H^S{21)-R4VB|b6JbF1-ZvkBnDt4~Y#}>>)px|m z(IZi~AXvPPAOr3zM!-=HLEXbrBGU~@cefr=7VSI$UOkQMh?GHCY*o15zNGd?^DPb# zSvJ?eQ(cEK6;}V%&B@x^5X*RQNu-f+F+SwLxjb;K@Vok{L{JbwqGiMr1i*uzSp~8g zkJ=W`u|Sp;2E>PIrZ7iG}sd--7i-%ZidS*ru;?CKEv0aew zhMOPQy+=@YU@O$H`8qdTbv;((av&yuYCbPeF+F`K*OoZ@3ezWl1S%3LOA<+5=JVj* zCSj;09T4*Of43!XBMA}TR6h9xlc7Um`VQjYpdfP1+?>Vd`f4r<8EUy82x!wqy2N6C zxDrAb$^ZnhCYJI;@CsmX9vx~deFR<{V|w9BuyBCO)+0wD+F~DTWJ0hf53P%o0jKTa>I&|-k&b-$5hL**jkR-dOA)cL&cy;_V`D%+ zT;mwfDTn3+XaB+|lyn#qNxRTkAJ~tgX+Nb1RGmub*kQVs!P=|0BYxKPm5RkU%S z#J5VXa}C9R7*P&wIlepL#O=c(Nk=YkeyMo!rpF;dZ3R0)`Q&fYhkEvGKQ-U`$%LEI zT6P7WT5l{`sNdvIyQ0YbIK!aSOWVXG z14h^FT1Xfx4&5t8n^!B-b>)uS;^3o>Jc7jcA|fq)NuqUGoIsOrom;Km8*~en^Yy?I zqPDyr&)YjY6QI~Jw#j8A6y4Wc&wU@!{Yd5l}{|lbi&{hBjaSv!$_ROps1p4Mwk1pAa_LYgn%)g<_Lw% zCYs)!y`7`@N*>uFrUV^F^O&Zd)I70wjo8r<28GegBdR>*(03iRW6$O3cc&Vmo}-8; zYE6-!=?jv&ziNUmnaGfe7vgEVD8&4KvzP_jn5{H(@ zaP!rBTLZoBn|F<=*gm~Ek2ZaN)FBelAY*?{(`f+@_N9k5_(;=--E+U#7+#!4C_z3_ zKC@;GpcxzY)BQ zbac$zx61W1+`eaCp;n9W(??1cHH{#R$E%2lqobc1XByuF=TA+5IYfi*Dur5@Zr?wB zKvPYs)8@+wqm+H8zW=2K=sJKf4*ck#O0jQs+9neJdg{dW*GH_`-y%Em5TRo*!UUO- z1!pmEUC@DgJY_+HpQ$6SZf1(B)_NFx?liR-*DQ`@$}ZRGV^b?M%F5JIr-`nkV-CPu zLpkp1S)6rd-5z-Y>>Z{zSiLA@@@N#=cxplI%h+qhm8=FCRj`hJy&VODXvu4I8w}+d zJZTiQ9_{sPbNkW3pupx?^A;Jm86o5qNTMQYLKeGWE!1g-qbK1CBR*nRc*`Vg#uC^|6%*H@wf?Vs(l4ugbO)F3mnXd?OwE`K44A2_9yY&?}9yN4j^%+rMXt6dK;O` ziWLNpPCcq)$beQ-y>JQC z8+y;;QBT9SUX;>f0&&E`vz)`?nIzMF637-3Z`s5&+QqPeLeDeV)-?g`Ml4#hon@D( zv|a;Admw5 zw8|(6yE5B5{Hhj`pFVOd6kc#SsCly=GRy5{;V6j-z|AKK5L99=BZr@$81v7uN=?iQQ#8D#!zUN*X(9*~E+l-U2zglL?vS zMFi1=yhdt2`{ct|~j6G8b1b-Vyoi z`GFH_0wsJfY({W2`0rnDwmfANJSv;F9jV5b6&*kd&$lFanj&@p?j#&V1_$6V;N-`S;4_AG5dh;dA86PS|f zcEN-8LDZEKWc2Ge%77hv;bIT7pdW*Rm??sc;G|iKpSqKb7E!_VPp^HydOTb>ulvY1 zcH7%9XZ3<0BK@@&-yZbyu|cD0SJFF_b&V4{40~0SITE?L|BZ7d>GLtA{Oe7b+5ej-;Tv?#Y5!T$ zV>vRp1}2}PZ{@CJl_oYrcTH~uXQ5kn`4Ob@W1YZz#7-?RT-*P^OF^*H1~IIm{wy84 zDk#R?=zO90-MPUixrO8ah4jb=p?B`oEv+H;RcUJi83&FL2i_wEqa7>{*w+V;(0%eKQ;nS|z0u)< zxIa?%!ut}U%*w2=a*YMfw2GZc@MNj3K|sOg0ka!Ck>?n;Cd=op*17T( zvpjQj0p-oHC<959aysQ$r`Md?p}o&xHmt#n^$T|FO29HPAbvcEg82F@SxF6#U_gY* z;S$!UoI+J#H;yqO$}G$Zb!pzuq98b?^Rv($)UFmbYE$Ij^!} z%e}!?<}q=vdGEQ)d-myVT#LQJP<=?Pt3GcJbFfwVua52y9laLZgKdacH`dn=KV~R% zxP)vlKTkI;HO0ECG}Enkt$mbt`p9?fd9{LJ7I`G$DA`qBSy8}GFD3xQ_?C8 zSxMrV&(z)_8-=P~G9&W>%Ko-X_5ZdxV12WCN+UMC9{DxBD%fv7!yu?LLMS@QRDIeE zcS~|qe_QQWaq$2iq-^@1-Te`x;Gof+I{d%JLC%)>SSy4<`8TXfr?2;O3z$d20ASPj zukH^$J$UmxQ7(dE1ERbWh)^)Nm@OPQ%YfLi{?im@9q0sI^`Acq=9m9JH<^E4%KxE$ zJb$nMubW3aLGfqmLz(~dduNUGy%2TYNNBx3e@49z^D@eSrw@XMe!KwaZa4YJ$l;4=ZHJ3+)&!lw{{+7Gzz!LbO)a92^X4eIv(P zSBXrzw;b2`Yq;dslnBs5j@+LJQ)W1zTBns<@4!}gHBCNtw~8yHS2mgC5EDB&F)`2R zrQl!xYG=ep(_qFYl?c{1>Omz57Ox(UWZko(zxMu3)_Y)*82yjuUEGqYS%%tctmOx+^b+dsZqi?loJdy=6N@M6%;(`&4{dbTGz{a zt`vH29@#A6$v0x)o^`BKii8>eW9!3(37ZqPk>UK{gplUJocwcu^j!sy$!lcwj;$mk zXMHBxSSD`%1o73O@Ke(SFO(te+?E9%@TC8eN0o09jC;m_ zjTC-397E$C)T_H0WwPUC^DLV-G{Cm$zCkt!?!#P^LAgZ~%m610n5(P*^b6|V8A|>2 zoDn2a@&Avp)|BSEBF&decakY>9Fs^dC0lZE zY6Qr^a=A;P+6D$GK+zHBmT&;GNdgyIVFdZ~D1>83Jn{KS`T@+vJ-LTjZV(fP2LNlCQVIlWh?eGH16|M<{T>HUQ9+KoHJ zl|Pt~jJ@dA1vQjVBODu7jq5&*;&7J`wYnLK@jGPD5ss@q2JCYjEZuJ(7)TEb+pf|A zMPYbtda`R?y&Q6&-v6YtLEM7RyZn2iO>&E#GcPVxl;S> zxPeVVtt8yS9hH`!USk4=6AL0*ih|g+S6T219KumD_NkEYgD)T3FlmNxZ`@$t@5AiP zi4?dq9c|@3n$YRKySTu3qm5y8aSXbAqT+(HoR{~PsWq`?RF=myeft?+Zt;vUFzUs1 z|GrUdj6ftwK|OMZN*;^x>{j(wydl*md+5ws?u@RE&PyQ-Q?#GoDQ!+Yrzn^(tb653 za&~r`C?mg|i+1Q@^i!W~OBJuBu5#Oesd;|6*a)lNv9>RzbQH3hhPzkYd%EvpG+CT) zvz3E`HmJq|({O#lKNz$&{TWxR4|SlFSKAF?hUJ2q~hMn0KZSaX^!&6y>!RH|PH^>D02 z;U0ZcDdpck0<5mBt$mJRqX?Aac(nSrfKxT#vvN?BUNJFhOqmd!9VW zE)0wHh|&ZNCR1TYQfvyp7(F6$A9lgqhIU@xYHRnYKwZko+1XtGJ?eRH6BCsIRl3al z29_mGnhH=NL=PTpZ*PB@ITTbgwlHIT>(*)!6!Vay{w(jwwR!DmBF)zUtO^&K_W`=# zzT24nMd}&?Y!PUzpW^cn4bgB&-tP5Du>5e{kSg3eBx6biIoB;%R~#C5uTf6-;FZ*- zu)_v?2fuVZ#RUWeh#ol-D2ialz{$xHR^5cGn)AYS>=T(hZl@WC2&q8g8G8p7O;^_< zp^FC*08B3YA>kSPhdHv_48l0@b}*3PCuj=FWTz_xL^P+5W~`Y`0-NCfN8}O4HJZo! z%*&n7rA0$V$w!~Y7abzA4k|6jjV_@s|~viYlJOrZFN;u zpMn%}O!@cfL-a1w?A+Ysq9Oy$xQ#czEf$uSV1C`9Q^lZS`p3z6sUC#po}OgDB9;BO z;q~?PbNB{Q~!zoSAvq%*<@(&YhojNgO{O_vw?k zO32W8MMcHRq26u_DxZu)wdj-XH2oY=t?!}6PVaJ&EWH;~EPr_lpBhj7h&)*<#08{Y za%yU}Ij5N@7}~dzy=D#$ZLgNLZuWi8c0BS)>@zrDPHwJcYy3rZAHP3jDXhxe|AISy zCIWHFv3avT-nKXQA`lC&m-F2z%Zf(f=CF>kaF@pZq1WEKTF1u|VewE~YwOmPQniX$ zzXGGWGit>%p|{O9NyNJok)*!^*1}b^o6rx+#4QU_oKWc86@YK*wD*a#1@h-FNm!M@qqI2(dX>h+HLoiHO$OD`1tr7hn5G!lb`Ugb^}H7F|23d+U%Pa3!Dm! zVE8{LFE0fas}9eZ=459lmX!4S_kvQmJ-()IP3W(E6!_U^woJys&bO?s+n{Tlc^h0= zRi$(3(iK1w=0FVMN9GX_$YVRI9_3UAUKgSGTT@`Ia2s@^kdTnXSTIL3`EF-mbM-B1 zw5;>=Jyg7^EDuFkcY1q! z>jQ`D|MaQO75(INsez{VLGrJ{16Dgt@FmS3-3pYH&U0;I0p}J#v^m3x4yv4s-sDRFV<%szYwjSFeM48|6of{gse(5Y2q)R#h<;|X0{%h*u; zK#<+OA03sE_gwSBkW)cN4E0pFU@wW>L*?X$Up{IHov$WJnUEv~N@R*=q*vR1_^eSH zV`L(q+t|$z)uKN;FA=BBw*dUhwTS+X#W~k@f5*^PL6H^Wu*99x0Skv+&t-xXS+3Q6 zeq;T0_SF6yn?ucGcl@Z?His^cWhOC*B=EaU+7B~vN55FxtC;&adMY{yKSr+34Ht6d zoo3SPo^KWCv!E`ru9(Tqx-E5`HF0z^xVe`F5jul{z^oaqf{+a%ZQQ_E>CbiW8P~xp zJJQzH0tqMbM#l{17`@7(hL16AL^SOhPL3s}W^1=gN)`@2WY4})!IpM4^9=CwdVVM@ zR+y{~*((DwTu7Y1Z)q1UJ*2rg^{Y=_B-2sVZy##K$Zv#huiPViWVsea-9JrRS$*bP zDkymfJ15)iI>^j&nZ8=wMK{kBMBKat7b2+crV3Ggf$T9&M4USQ~cGhyrc1 zV;*mHH(wyQ+zF}6bsKzVN^aK*=j|r%|EYnui=CUnQ(}ZB8Z-vX`&OI9T*$oDL2`>a z!?nZ*=S=d4_YW8LqRk;TAptwEIk(uK9!rOaH3*7c;wi!&{LX`S%OC09{BZGWqmA4B zUdY6C-Oz2WLchEJu*&4sTs4d_3KKJlc{xl9kQz98r{KqSM+XPx&@1VNNdmO-^LkGO ztbTlZ85-y1Tzr;o17CooUCloI+c(o2UT`bF|Lj4)-C=i{?TdWLuR!gq^mVrB&8<%a zUR;seC=ME4IW&;(ZW(qCcNtpwQl+x_O;u{xdNV2Y?5we|>XL&v! zT&0vW26FR6UO!R@9a;J;&}z!*-ah9QY5g_gHySz(8F7>rfu?X;M4OA7P+RnCM!-`` z`7JA@V}ae(?WZC%nQDCL5 zQAy7w_Y&~-vq4wWou?=>jEZo3Vh%!En~;j=p+nkt?`DEKrekcJj^(9Xzak_RG1)C`=OYt(b5Yngd83Xz~2y4X4!p4ywg3lTruNwdX{ zxIX5KpF-ym7&sxoc9gr_O`(w=eOc!eL9oa|wx!&jE6OUQ`}!D1IteffO4oxy<~?B@ zthXWbCKnzP({#_FV1j_do`O*mSZR`Z!#fiad~t2xuGAkhOF>_-DZn(b+T<%Amk{fr z9}0f*J{9oIo(o}wHWYLVHYE;ph@)GLOvoWq9#h#}%O|9Hh;Y#Y z#!DhExexidqCZy+I@}|Ve2qwO&#HRDjp7C9+i5ty>v$9o#o;X>gGp%IVT0UpC=@?P zBWxdlCdy#Q#-kqn&P4anII!?Wp$;8-7Am2oYxTDAh50WGo$DoKTAJVHnKn4fiHpC3 znJjw8&KAc`!{Mt`NG)=&$L7O_4`e7Ymj-R81I=8Bh0aw&sx1sZsg+=Y5tVbNwavnf z;z8Lp9(AvwS&FcB@vw36)zDOQIOkZa@g4ey-6|OZGCAn$JrtDMnZ9_lYQcU%EC3hX zgLVeuTbgZtW~G#Y*V1ihf3HYI>8|&bpL)80wOvWnN7B1uh?q z?GKZmY^F5B!@;pgWM93wpVE_?5_hPt{^jtDP6Axq=$gY@w@SUI--wdu9} zP6jts({oR*Y0zO=c{P4MmMV;91yF;O;C;bh1=UtxH#IuLrg`8?td;He#+-$m!4IjzEwVr12CAAUw-!6UNwBED$XPX%zHEy+9eJvv z0`9ho3iTes`sj4kaPPrj4Y{Qk5LU)xv8J8fCDeYPxA0yq*G~DL)JF&1<-yVQ75}{z zP=SHD?n>6$M!J;xo1{#YkwGXH^dglLs^ zKgB^5Fi9efo%v|D0Ukv;;P3MS1B&nrejfSfRXLl`6WrMHA%6;tOS#qAy*oGaKywxE zD!AEHxFxleY*0*DA#h9@H{5eUCZlP%BVn=dN8>pgUSvBtUe< z=VzPy_R}ZL(0B1(DlOpq?E3{^u<2s}#%)YUIy1T`rsBZ(AD+(PI4beu_Y-SwX~19X zW*0%DpV;Ppwpoj9+ayS72#sZI-moHyJ*!Ib3 z{002{vl-gU4J&3+iAu(DL+1#U=bsSn zT3Mwy_QK7#x3s(~EG$fn1V1q&jp;=V_cc0I zR6>$;ASrf-J9LRwD0~$!XF)7=zdZJVmya(y-m>1ChuGH~4~xYBA4yC|5T139^v7+z zR}>+;XTYiExP%W+YpJcL8X(tja;JrpD6jf*()XJJYn;+I_th<_++}+7PyCNXchcqZ!#&$51oq5|7b>s<#_MDRN(9j5isb1(}$!Z>eWjQ&L z$y*asQncpo`*NY>rl#a>$Ig?Q%*Qz!42w6uz8fuH{oQDps;YBjfdIF*ch2H0y}W*U z&DqQ`{0b*cDRi+-*Y+9Z{sR4AN)cZz+J2VMJo%QG`2A+=g^psAeO3bkk{cah=l9?R zygx37ZnX(l6F2=@i+AnyEO>{;^3ZU7&**p=GX8!Aq$OJ*vx3;uW_kLzaky#acc^bs z_d>=(WloR#=RZ_hIPj|~eO0eloCoqdGO0w^HdA`d&lqbCXA`uLK09R+B+BRrpEgsa zIxoM9L7^7t{>WoPKL{l@HQ(~kxtR3luM7#s3GOI`ToZ&pr&B)?rVzt54QqYgRLB_oLtUneU>l3b^?Q9p;zcqe8}`bWyqGx$@As zsZ!pPQZ^rE=xSrAlvJ9O!zZyxc?oo3pJdeZbDzB{CRerIXyoB>@7M6qlw@CaA;pe4 zFeW8-r;g9uT_N6mFC*oATVwwt)yclT4^y-GmtQ8(bH`9`N#>TMnNo+cMw@N+bG0*EGL^Ged zG9hfzQKTLfEPwa($Z5_}p=igjJFDeww8#d$iC$#$J{8>BC&yU1^?tdRKpm-_bQ$`M zSxHH}2Zbkf<$=K3!^P)f=Q}QImP>Z3x%Rm(%*Rctil{+pv#KCPI@9mwblKbS ze1#w5%f6LcZ!R>{>o=UJL%H=HG=!b$$3g9r4p&hsA*L->qkp+ET&dwA1qOQC)Yhju5A;WeOYPhYp~X8s z6>Zl^`rejj41e{sz8)0jobnzX=JDf+MmdsGpQRc&d*lcu0kU=RN5ZaC+jtN%)!8Gt z(s3&Lo`uq@Yq$Ga-c$*oNu@<|B@j2@6|{)OseHK9PT}oS-gFjPDD}KgGuEQL>v5jP z=(GUEhCLG{IQ2_Dm}p?U@Bzh-$#y1w_@Ic=NkNn4ovEsl+TX_E9?;HyXI1V)&3K5i zvRmC)?Ft=jUfr`Tx>z{G&lA*ZS1*Y{@nP=Yqn#(E63l6auv9}U;YqQz-c56L7MZ~= zDsH7S#Ia~xD>ii71j@BQM>&1oI+g^4ic?tLyv@5D#2aLQf4xR@Sn1c25EDykEy(MS zucUiSB-H#M=pf`FBdHx((Yw;JvmGi$d`7p`J2ddTO2wiv_BQ$#6J1^IJR8TQr3bi! z2PNoTA8+-z*HosgL%Ns~0OlL>0}KuM{G7>_DjAB6$3+jS9_+A&9RI0MGUIl8vQAI_ z-S=40#i`P3M-u_Y2mcVBNm63slZiLgiQW-tKBO13SKdw*lje5uvtmySh|sMxrnN~9~z zuO3ZcA4q!l4gfVYS?FX8DnMLjom%Ol;$;@q0kjQ9?KWV;pxAF6sQBG>wC>CdIwsD3 zpq-9JlMLTOQiCM>3C;KTYYLf)+1j+}IpJsDKB(?%M)x}J#FKBtq2Y@p679)Qy(3|y z+ZgjO<`Tp#$8;L9hl@?nif_n% z*i(%KKMGazA%|pIFF}m zxUXu@RjG`gro$21qZj0(UD10Txknq>A;JC7xYtI~T~&I5=mZsS|5YC^9D-Ie&*OHk zafdN4}hCL>&rBPz_6#VE19pU+6tond@8EA;Ehfv9hM*2H&*dH2(ShvEi5rES#|l;?eMrMb#ZVp^KRed@C}67w6rNCOEK31FVm*_r6nn8t-0&3F;b7KA0C$i^U~)c@}4euEuOnhEybacDlS?D_sM zdCB(c4&a&^ZKyXhm|mp!JSe4i2MTQ5&_bu0Z!X2rSBFooZHky$H8#7m;_uI<(gGkv z-1LmEVb%F_`{#qKfcb{yl0J9mD!8r8ob!Z|OuNP97V0GQOWht^F-8XN4|5EM8Qi%H zYmkL*1CCFIsyr`pRx<(K7g5=Hze-lfmpz#&-0Dt){J5A?SE4NXZI z$GfB4HqPleG#h%U)8uRx>2|Qt%hbac^QoEK=l7|wmbUCuNtVyjm(0=PewYqkzK%|N z+g83nA}k$r#7zm5&}$A!aMh#|gsga_`EgFJS@fg~{Is~%vEDh7167R=yoT zFj)i4JDHDl&(oxcfA3HPnuzYrfN~qhexdZ0VQpG4minG8(W|-WFO3V zzhB2(oT~VpcYN5l?{Z#1V8DbdaZUY7Aa2Ow1QsnhWs@!y_3V}Uy4gDQ;!lc5&89Q2 z9=!_9&T&t<)9;+J#L*WMvuma+^X$w_w;$nl>;8ThD>b(cyd_QJa2ELy*Cegt%@Y1p zyFltClKZ1%`cRwcGcA)#)wQo>__Xx#uG9##ssMr3%I+Z|WXVcJ4^5e@3Rv7C=^E=y zOe9!AgJ3J^Fr^a6%_h1srP^1~D4qv)#iaKm6@7PH%`TYJ&O1l7h2UvV0i92U!ockv z9myX*UILz0R7|Y1sVskchM4j}5AiDePu~YFGY2V-qe)(CkXTi88(R{n8*EFK!hC$8 z;z}f2RR=oG^e8z=qz%fUV7fXCrmOJhf+cND7)k+ON?z8okj|y6!+E2>k~K`wWq#SX zh}Fyr-mH(N12N;Ib3sx$w*ATOnZ5Y)uGXtxZ?GTJbnr4y8}iWmlI>_!bf?78gxrg7 zn8W>%L(>YGVp#pFFF?=ka1!98!|zCk34<>D|wAV7l8_@+4)S{y=1mz#n=Wm$;UR%twKn)&hKMXcX6@dj~_qu z{75U5fM4Q3)ljI0l%Ckor|HCRYq8?%js?=iOn?DuQUa zR@0;tSq+-fOU0oL+sq|yik8lt6seD|K1YqHvXJzMs*3*uH<>ARfjo3bP5dr&ge6mWL*9*cbw#kT?eUHQLIDF?s{;93VWD#Nt(kn&ITOmaq^VbnOG)Xu zSD@%rJEX_~!I1Xl%WwCoh9%mieZNW_8al?~^A<1|7^F#sh5BIGlM@r0zJ7fS4(f%D z4%t8OO1WO76^C@c!l|ICW!Wvks|Ef7wqZdf5nD6zw^FE)vla96k-xLMBJVA7 zw0$#$ct;HB8ipLIR@T;PKvOWlc)u`vVE zZvf!klVLitW7CCD9nZU;_|->noyeJ%UpyTKv>Dz1?%m-z20q#17k07nP}L*NkhFfH zORBkkH4{dKH3y^YIsx>HwPGq`)o>ps3mB|D@}P;y6Y~JtvvVr zS8Q~9ZAOQODv~p!UH7G}22d>I_-kEd5{9ZOzg3ePw-{LQ8-u}+&YTHSHK)~A#Y-^l zzsztWcZoDLh1vGSRgnfymHnl1+ouHZw4ysxI%t_^vgkpKy@UnrSabmXEO2$0S$OAK zwYSQ6TJ8Bc{8&X}PM7JtTu?@HnZKqWfbL8Z z`r&Iuj04Dkdu}M&pu<(#T3Wm%bP4z0_c$4RZ75UunSVcXPu^kOi}k#E{y46Kk&Twi zj0!3$ev&_V4UmsS;ged(QPZynq0a$V8eD5N*u{=OxdR@X^V3PC)4c`x`CUCMU@Ugas^%(Y6Xr>7(3>GKPF7j)Rz*tDT3A<)8vSXJdPx`wODFc%~= z^bae1uf=dguRA0=2HZYlDYUp0 zEg?-%h?E%mPwIk;8OhlF8qK95=GCF+S5BNr9&3|&XNnE>gd&53yuAER1q`Uad7mMd zFEkq9i0HrypAp&u_v-o@XZ}3}WQipCmA>pDQg5DyL2sUV|Ic^vEJux>t@#NLys6rh zn`;{&dIKhB4S;1Y;ON$wrY!XU)E+-fkLtw7cO6@?aHCl~m(kDjF8xLVW-dA zG=uly{I)cx2SI-k9<9bZTmi2rdZ=Cpgg}Nll9HIz>FAC&9*d~A*mU&n-Ipj9q{*(h|P-bo*i8FoQ9LHuCw9c)xsho zd74kxuU~%&d#`e3-cb2j}8EPeS$w#_~@y_{A4PHKQZoh?p*e41D*UXWowLBqES; z`u~hOo^d(5#(t)(G2Yg55o(G;LONga9!9Lr!vYQb;3lj{k}C>e)Uv*6P)^YQxFzc9}Vt%j|^9t@4TaI_$S|)MdZF&b-UR6gQi5j}2{R z%Do=;^{$o-3JQYyBQL``AY90-W>!r$m=%KO^UDf$2$b?nf#nQjaHib3_~%h$-}K+@9W#57%=$dQbl&&L<6)3R>?wKN z+Xh9PUYlNiLqh{Uzo9fUEv-gpBjnKJZB3RA$Y)-6a#s+aRvlP5<8lBZxVKf z*=3KhNU94`3WY%=Dxbag#6t`KMo|ywXuWNyUi7r%^Pz0dr_-1S?%A7)YKEU!w3+J! ziRV7hcQ~=*d*8KIAL&vt{7I9*ke!JwWdtwUdF_ET{*D`B6Wqz0et%cwjR=V0%DyLZ zum*3KylH<=&VuCy-<8RgPBHB)I0y2l)&N3?7gQAa4n3>GYNy%RKkBw?{%{um`%Z=S zU>>7C+nZBwZ`M4y4E4~?ZVGkgUgd+n@g5F--hp@~S zLienqaVOzych1f(#l*y<^ZWN#Fp39#0%+}9McPc(oBdo?-?i&I-<*fD9i#=po-@tu z>T@CF!AdOd*>9b@sG8azymjB1k$nj8&jDM7*N@Xd{>P*^wj z)9q_MK0asm!NiGN`m^;HXNa2|XV{Qk%JW*CEG}F)rAvERE(Ryyyjx`3 z9&K3`p<6U9H8r&o=7?NcLw zhgOpVDAvrh?d~i}xohLgAakr@xuokMxhDo{5s{6^F6gN6*Z;mJNe?~4=NGQS6@8N6 zRc?i?n7*-6=l6W2&d@fkV32;8`$J8ezl?8ES0scPU4us2_g}p)jy2T7L?v1Jl_3L& z3c7M!2w@g{n|Ax;Oc4>TOKpDk;k+>*M7vA?qDYccltk%j*oG zqy^*ly_iE1owLWO)W0`uf3w~!g7Mn<(O?K=_|deydbmj@e(~3egoMO2Og=g9>6v${ zHVv*JT@;G99a1kR8uR8^Y3AxJ45P_jMe^9Q!$KC2$PAw`U*aXjzyBKSLEY@6(b3T? zfeY{EpC9Hy?d$`G4`=gNz_`CxtHDws5D-p;)aUf-U&EhQWbeL$rX5T`;~T6{0jjyJ ztq0~8eS_jDkR0~)JDu43@SA_oK7^bcW>)t|C_DB{#7_(-ISS0~F07hD}3w@!5iI9JRF z;cq&={F?~nq}}hfjYS)#Zqg0(-njFt^l|^6W33ZR2E$s@*x9|uqk(W(^-Ja6w8Ogf z$(~zVxyuh-0s}9>MWTB~{p1g4$1gvRLhj=`1jqP&=)>db>P_5))eZt1x2#z&_F$cw z>6@h6-<+fjOs)q{uQ!)HXvy@OS>Kc+g*|&x&tmMu^@&p7{Z%J_>ZG3Z)hr4Nvr#^i z>^gev=V=<#amTk3`k@)s+V0sMPrjVB(|Y^-UXkkg*T!dWZ*3IVu2Ijv!m>#g+EgQO zX=ZOBrR`CJ5^Cmfg^NUKNOg$+mBN=y)Im~vnc&B zuUlY$LJuGXqHs4Bla?D7HAuJePEr$+goXvnH+;HiX_p~U!)v`rie$ENB|*EieI$kZ zZ6HhD5@eps_TIVfK9e_g9G2E`rU(MPfL68MlF1jmL{-at2iO|fmRKp&3ShaQO5_&8OYvv z0()4xzFhsCoT0lEdql@MKEFXsdjP*poQ_b~Rm?HCp8t}le3F=3-K*WXn(ZrXHxvSY`XW}xvMqe*MK4?ZX;jDB2Wv+*nQ z8kiCYgJV5PNv&H`&Rl_%htp~}Sp5aATfLP*n)YGzi#PrKMk?oDvgCBfGZZRGy*^)aK{B~+eM1x-Yb5Fi%>=sj$sn+yJ zOpHF>{|LuO-mBX~N#Sb2fD z2F$1TJT*b#JtPi-r?vin{VnqsxOz9v%FbzLEN2fJ|LFeJVyil4XOFLJmG7puW|!SG z+=6u42g4@!;)Urxq}j^a`qoUs>zf%vAA9F-!jo4yIcp#UQzvDn_q{XcnK~3s zcF?%TC*{iTf8I0<#qv%oa$@M(vaVqi_E1!nB7%ilK4_@dMgM+b_d!R?^6U$4+ha}) zf1J)I-+)5qdc0+}MXtL6p#c`yN~-2Ik$RCnq=|GD!6D?r*NExz7?EdKd{ce}T`(3l zTha2JhYj?U(=`3!qH~}Fu^bS{ysPo5BhR@xEPqPP=cR3UmknTra>ZI~tA+YFl*~NK zcP6YZuLx%q9E;%$9|~=wt1Y6f5i%;5PvQk9>jsE>SF?6*jadazH0)*Q(*|o?r>`9& z$dt>*^<|VzDd*6TzHQ!VP%Hk<5tMgOi;d*!JMaBz*08)Izo5K#2$}2y*^(Z5zK=&j zrY;5SDmAt0Lv(d?-g^z|jQbv5T3Q;0DH08kyzK+~)e@aP0;_}>QDRcx=HU!Tw^^(p zxQo*BrnIUm`3MYvPRgn~M_{3+MuqZ^yQaNOHu?x2dVL#1RBhX^TYLJgxyD@$zd?c1 zyA(AFBD)r3?QmzUMSd)tc6RA6(5|9~52b>q@2JYRp+_9KT#Bl*sonB_`c+g-MzvO zAF_y1f&t~W-z3*t^b2<|I?DE^AG2?nNrJgbVZyyo>yPK5gmITDJyYuY5zz!&O(8XH zHSnnu(;nt~v^*{akvCjUz@hR{ycxr)HIR6$U%mWAeTq;VqI4pj{QY|bT#0f&h>XIy z?G8kVZ7T!U!jxLkW*iePp)Wli|9*u%`$A=6t727G4XlViiNz9nWM-u92q^iGWp*B$@ zv6`NDdJ-YQD`Ie#5CeQ+Bti4GA?6Af=jOJW5;Uh9DA^LZZmO$3BmMr)kXbjuw3J8=!EVUqnMouxY;V^Xu6`>F2Xd{7Uz_xAK;emxPSzA zR`T3f${!C-sVr=I!R$-$ z3E8XBxydN+iIs%Xs_p0B&&|B*kUnJ5O*+R~FwF5&Q6qh)TVk!>9X%P@TgZFs_kLNv zn2wv%rJ!OLR9lz!vCB6~7|emUCPXAa;dWdXu?{VvcP~2p=DTW|w<$|e%L7*n()37z zz~WQkshyGLD!1v=J!tTaVCX%`YUqmhbW)6IgTSc zCBk9ycNI-%|A-@>jUQkA5HEJN;zxceqlOy7%-OtlI7; zxuCQR=O|c2L;&x7z=Add z$G|P97xO4EBa8%p%(8j7gbwYbJ_O;Y+7KhFzcsm8P zeqOM=#j=s@_+TE3F*J=JH-cOaA-^VmXpP>g~ z=zj*>>j(S+Hy>!LI9@rOUvVmP56pfX&ae3WNxOPp3}EyWh)znz&4w_J3t9F2v6hye zj^4D_w%zc?$R{CgIe?}OtnpQv7aFJ2?hF0(Fw7}vFuGV?k5916-)sEX5m9$Ulu6m0 zNJ#JlOQT}M-Qo&@y}l+{M);wqgi^u#j4tWj7ri5Xj4$L23Ai52#~p5=zYF3haQ?(vfJv5RkO8YiYc3dKLB_V}&QkZtiUr5g%3RIF&X zcu?GzHo9(D4@$bs4SGl`YQwvQ4mrJ(7iCoI(!gXlO}rmpn3SUa%ZY((A@<~_DX`4 zcd>1A$I8Rqk@w>bu%9|svVtqd|q+G|3t9?l>o9hqDq z{2h7th124q3+hx~8P{DMu>zN_uQ`+h)lR#cQFxy#?4+*RY~QPP+hSII8u1xyd*&t_ zq^H+f)9o;u#I2)tQXg{Kf9 z!}=%h52feaRLZ`&@z(35sT*N)CF5>4S+>y8oWz*+E##<#&@1eyY(H+&ZE6UKqeV5m z5SX{}B>~%DYGePMXPVD3^Ky62;Lw_JS#$m7;S2O4rylEYyJlkt5{|r{yZjb}ymjE}Uv80&!pGUP_I=5w%?cGsoLB`@?DYyI z8gHb-c+$3!==V9u4PnVR`oB#merX9Q;L^dea1g?qKm@@fSn?LCBM)Ax@XvcSbF4*s+w>}jFW`q_ z)$;ZyOJUvLMlF`pHxWKpsfcs3{LH71b*eCsxL%}5-Gq%*gW=&!^}758s-WE`LZF^F zc=6%|#>`BjJKydh4ESb8GTsWMD$j(K`F$)xX)z-_Yw<($<{ zS9B!}20kz3#M=E>(Jn%={ZzPNc`XjC-?6h=M1)svSN(UmG)Lq?vBGu$wG&cb2#s2R z;p0UT##`4m(nJOaMBdOMYn7m1Ja#!(-f16r{a^_dOX9W&fJcUNU~W9YXDq|CM)_{3 zgud2aOU$uo`#sg(Jv9&aC_~&KP#&7Bz31{Yx8d{-5?U>XRM(vDA!{%xZ>dY@dD zPOBrJ;VxxQKt3Cy2=nFgo}QQ)LHu934;!WnrFy?>Wn(YzMjIxmW9z3Wh{07d|Fo;k z!kd0}G!^tB2ceB|yaVA+x*5#Rdo!xN0}zPl?y@cS6>{&{=zZgge}z!FzOCjhMY`4v z?ExP&MCF|W*2ZUZv0=RET+(?98hY9)Jc#PGV|+bPgu<(ELvwb{8oXgJP?1nA+lg8;>nWT(Eej&8GqK1@&s#s`qTG6E^V4b+v2ZNz zV5kbSJ!ze4s?iOBnvv0I54GZUw`5fDYtFMGlo}^1hhyDCdE+7H@5(jHJ*Xy|RTxT| zMZ&Sj?#`!~1JieX*yp81L8B?T&(tql1g-S0>6;l&X0v^CLP51mpkpwLXgSS%i|a`V z5SS%9hm`klM-(05^{*6B;4s>Zt)4<)@|&F;SV?K^Pn(f4J7D{>vGK&nU0JUh_!|X= z=o0-Ot0vA91iIcHJ zIkuGFs5$@T;|O2q3&>OS9|Cu7Swq!m?emF?ar zS>*SI@x>rm$N)MtgY)EC^Jz!K1yRP?RQP*-2{ZBfzOxOvb{Cp!zcj--hmWt|G@H-E zN4G>x>$=(#7=RhIL#BWg`x3n3swey znkr>M+drVfx|%#a>&!AXKI3khan7qJ!s0%(@otIU4INp7)u?3NQ4d8y6ady7v;Cn^ zxyN$U3ntbsh3P8jd0PC04K@cCv|s2wP_{!+PzPE|;8*0{R(qVE#%chiMLafhVm{{C zRczz~K~qQHH(~$rRC^Jd0z`S;{ZE`wHOr@D<+9M0&Hr^}1Zr`pVI09EBQX4!alQjE zj&B@Z14@X*vGXlNqjgyBl;w5U)LfSe5hMPD(#A7FEhdCNj^oUD_zw0g=l42C zOOj9pQr5~aQlh);VlPlzmJ>*U5mwt?x%>joXLH33BDki# zGsxd?y3&Tf@;VWz`^K;OUGBlH(LfY`uTf1DpS9a>&I$VVyqSid%mLgoF+WYSvYuhI znb@M86CEp3WB#*_092Rqc(|JaH)p_TsQzpppe0sfW#d&~Nw z0siCTt#13^9sI{;E&Bg*xa)>P@72%p|IN9>z5%xjNo5yyUt}gcZ@P*C{AJ$R^3I=c zYD^Zb#{IO}W%-0OxR+9JwL-$XBRo|vgG?QDbb+fbt+iT4ZKuN+k zKdu4MTggBD0c;Nb*N2ZVKqZ;V?u!V!|7mWg!*uZQ9V=RZHeH|~rKkT@pXabYYdjpe z!T&<}nsPgXwQJXQW&Q*ziKjL~Yzu-e&;+VB2q-`l@G(~;zWK=SlDh2mr-6x~x zyb@+zL>N0(D^{K*{~naD>3OSz0=WGj?rCl+^$%R3{w$5K=FJF=g;Y(y#8z8N&|Qck zH7U7KWNsU6p@|E=(H8FCyO*`^pb)0%YLVo_FR)7D(^hA(S*Vl+*I-!PKwE#+Q*h*i zKDxds_`j|(hM)mdx{q?pyU?ICdC0GZY2VdfwIq-$;c0WANa!Y)7(;+w!z*qAbx4})j#x5>=y!> zx)=oE8Hk+e%?l%F>pQIZ5{LT9FOrT)5I)R(($6Sn z(rLd{>^+exOI@)E`>AwA7WjE3zaDIy5fnPIM4kNVu$c>#3R2u6pOv)*1}XL`MhBp4j!H?nBrm6) zhvu-SC`f|k>n)|rFf8`m8acCnxInxf;k1Tx%Q}4xKqpBtYg1KIVc7O{wdC%v zn~#VT2k!${5f>p{!B86y({iaFLDnvC6eN#Kt-7$ zy2g>U(BA~!%L#+-QeUWp;>USHl*o2viso{S+@`}4H)mY{g{6#gyGQ~7qo!V`425did zHbMUJu|im?1;#wQ(b<*;1fpkHYZ*yqRmP8NTx0VilHY$Z5`alr&cM_u0S&q!W@@YQ z_Hx@ZlrtkfA6|K)Tt$2r7Z-zn!Gg3)D~(zS3+M;{6+G;{(rHR$qj=S6b@uDrg0G;N z>U$a|-T`}OLjtng2EK{&rXEF-5~r{}sR{sOI$?Sim?dcZ%j$_YRL1Y9x{+vmhQ_ff zIUZ<;ic;%4YEUdJ)HZCc2?w`dVEusYgY6 znf%dS);yS2snxhW@|v&c_Q;O?8fpy+ct&5}nlH27b_HUwaR$X{=j88dUyJ;(e^~`R z>+47Cns9&+#3R`jVEZ_gaR_BFE?QPq@%x7&aOhUMo&D*%Jw0<75Bct`{4XJ~i`^VA) zCp(aF$*yIwU^=Is184$kyXUE;foB(g@Jx|a2KN+-Ywr?=U5 z+PB%aPg$!oaEmLjzGTj{jThVIFhab-ZV6X0db3oX6#RH3+GDKXwBJ-j`qG_|(~p@U z7&a_ClJljVdZ*9v&|WfUGNCjqt#1M`#1$)=k!%Mxq4M^se{~~;&_Zw2DLSy?O?NaP zdqu0?MUqnWco5bcE)o4@%^O;n$Ei_nbohoa>qh2|?+RJ3AdbURYeQgfHL(fS=b(C# zJhv{MI?7>d>aX+Ip5ojMn)q==y~A084>S*h+z$e$^-)h%&2I-!?@z2fH+w1;qvY^{ zx~-rqakH<|yKXz-arg4oxl4i=I}wcT@)V}Gk8u6`-)6uoouRkv` z)LGkM5_vw(ISp6?^T}l-#gfozXfrDs>+AO{C$Fn-)l^*XI?Ms~pHFPBQ_EK*Z)Usa zP4AYlDp*pYcZ30aMk3E5-p&(IRin&oYW19WD1tH`OWmS=5a08eX;;^6FJ^ z)7U!kR~G|yxF`08?zI5F5GHqJLzshYK4aD{vz3!bvPHg%Fpy?HH#)B%U)2T3Opj$s z<1NZrqEDV#DW!@6e7{RX?p;u$YSE(U;Fi)lLhn<&#U*{TpdtRP;D8{;S%itdzS~nx z8BBF;q8ePeqq9MG-F+ArT?-f8yJ!luD!!fZT=6b812DuWHrv+LwoP(XT5<7t32PH# zQWrh9gzK)4%5q_Af}7gF7FJ}JWNl)TDmKGLd?|nt22|q1J?U|1VAW$nc~0Ka5-iX@ zebMu0P^pv6ATqU!(p;q4WtxiY`(WgLL%Q8UQ4cq6xvy%k@4#N7Q(2KjY*|%s#kEAc z=WP>(Tp3!WX>&Y^ZQ3_FqbQ7@fkiJ%A*ktbS`^&lJmgaB{5_BjsHb`jnH@&H`pN*d z@)NmO6b7mTgv-9?hiBf);|)|K4lo5VYGzYPKR$2TRGQ;3^%uzXLW0i#H#;pfW&&C* zTVHqKQE9M9=nGtr1PZ@lYM!}5@87X9(MBNBta7>-YqO6YkU1FZ?Nnb8=aj%s73Jli zc}L`xMA9gaF`f;<(FnByEG<_1qG#5vI!8t_ zcp0?!^Dm1fiNE_zTP8a)S>ymaF#*nGkx18(+rDkwEGJ=19wh z7`Vw(H@2M7^DeTL$Ny}*Y3Z`FQ7xfT>%(qZ!O*h@s5JdvB?y$-`szZ8A5$7iSV!nk7;r$-ro@7yQ`#hPlrc<)U9i2M`N~J~=Yk0G9 zWt&7{-5H%A6j;0V>^7Oz_~bWtfql~DR|-!LA6%Zzlmf#1doY#}21A=2ZfpZ{+xose zHn=eKTc=4a?W*&w^L~y9^Ozzm6AaoPui?8*Q>AVKN;QYLR;j2lMs2}ushAU=%dYj7 z#)>VE3F7$|y*38X0BLCUx;um963H4`goU4jPItb(XsRbgZw5IQt^?cegt75e!o>{$ z^(DI@@l-uMapTn2*c013ma^N!8~$l8+-C4}Wk!rhBqmIaip(IqFZ}l#6>|0hfk#YN zzmWHXrhfD2f9`!V2mUEKKU|asF{GefHy6*@@mmXS*7p;RXhTE; ze%0=OJV|~F@HaK*$K(zF=_zgv+4n#54F5UP|JbqoKOAn6&2L!vPlyz6_RnRHi!iq< zs17_2{93x`O>9x#`g)}_OdG{)~)Ewe3Dwd-fY0@tLBJ-3rK(R98aNpTZ_yFLEn zv_W_6-aU@7Fh%iX*r&KLcsx_J?|09rJir$(OM{92TH3Cs|x4c`&u`|oeA>*D!G!Hwh-0)}V{+?mwRSMIpa zi|5ukCx3nj@U6WOYYyEnUbg!2za8c#2hUaiALo)7%JO9X79Vy$p91iP(zc%yA6n}| zM{uzpqlRPLny(u2YgNbQMXeN*(ZgrD>;7N}@wr>drMF?UDq2!a@Rc`X0IG_;&FmP;Eoln+!c%H|b7q z^INs$fn3M0hS@QJGXkLdvZnLgHts(zv0#6f3vuMe@@_A0>%_RJ`CXx#%tlNBUi8dC zzrhS!1`eSk9s8xhGrP?oPe2q{bk|CtFq3f%n;tauP0m1c^7fG}Fe(8s2882#6OL*n zeL>IKbxvRHiDONznCK=6Nfu!br0a{%n63}*xmHl2i@&7ni(VBg^i$oP zgf5|Ir_Vw{&^ZyqC0wyD%x~9)61xw$^MQ&$@4&w61GJBlYfHBZ1J&u_D3G>f!uIQZ zgqs?`&U27}jfx%QFZrsA8Bi4>tSV(&?;CZ*y7DL%$9g1Bjqlzf=!uJVkn*aVnA^h( z{yQvL23Yn4XdB$koZE3VP3*(?Q!f(=x);e15C4TYQ}=_V0N|=Ej8UiuHJ3yTg+NjD zp!}B{8j0yvNc%BaGQuy6JjJewDpQ-Xq?+naXGiztrFNEKt*wt}CH=j9-M$&LKSgE= zI_{U5T6tAi-2zXEnqI~_LC&~sCa(%oL&-(z+n=B0N^nE8_DrFXDFd*6+JDy?J@&gW z?vsB#+n`p^PC}*iXaJu!USOqJS;b0!(*kPX!AWC{M`wSdd38LqPCZfZ$ZzgEP@0yl z-N|)hCw@~_OF@|G;g?9eu~SxNVPC!IZ@i{)SY|+@b8%n@@95pIn%_1@2cHM#&cTP> zHd=5UrCcbUgsN$0tUHoC6M6=**ZhWPt5;(s3_GFOWKSGi-dz2F>^U6(XVqyW!>QR_ z7|#;}Nv~c373gcDFm7AFNP(n%K%=|P422I)+EEku1$RK^Z;j2LzkU^klor5em5@k^ z(Dj+T*{`t;Gj(x#_(LC0d3t3Mx3??|f)30Gk)et#;(d8Gp-(Hu$X|NSQe+Irb2j_~ zLTwh^n$#+gg)@BW4{6LWS_AMWw%;P=CGNWoy-~-1dv3)VV6K4QXLjz3yu5_QSNi|) zcgLt<4$wmve;6SJ{~Wvw_uAbuj4 zmXWqRuoWDW7U+vYVOX9WQ;<0o&=-!muEbQHc!a{|y2HLA2P$3awt}&m!V*GUa2y%w z42F!JDq7u$2K3ur4IE>VI#y9QOD;u*v zaSuG`v*W%ns}9Nnt8&r+xYDHu;HnROYbA8e&)XPLkn2tbpyumB^pnymd&YK#iYEaz z_o$~I2ixZH$>e$s;E>)`X6wcN@j_6;gUfFwScaPoZKv+fAdRDSjSetn6&{9Zhn|KM zEgm+VK$135Bx(-%?4h}2*i#vXe*U$pwX@RSkOI;iX?nH^JUB9=WGV?S0?6>m%+Qu*YU1`nV3F|{quXuAEoAviRUTq zv7#JL=pm|9`P<80eO6ln!F}i+Bk9`_jgzZIT?r{w<{Vx(y&q#Wskvr%*X6+HTK7~V zqxaA4wG7C?aiG5VNY!s~nyyWcd&}mbt5q|;5HC0_>ofgZ#c)~nj~jj;(#K$rf{@&) zomYO)}vxD!X!)v)0 z5U+%-U*|i%xB!bGbjM$FQp_qtxZ}wikHC+PE=xT=Mz8HT#x&GCKT+c3WrvmXpnR_&OlT(^~M&Bp4TB9<1K3u{T*OnSqy7^0Q<5RKs7wOlCh!I4?(Gl))b~^$XD?{)m0UFpZ*>f=I_#}!T~t0+T#(}JwT#|_ zy`Cq}Y5g}uAbq^0>;x3w{jopIofQJzu^-Ijl7S(v&mqqD7KQq(1n9d4&4q84-S=0` zsKGFOPQ(ErzPrdKi2?`-useI6#CwYZ<{_(aHAchOAid;r)t^V4SLbY7a}vJBpLUB- z^5l?~2`YQ~z4R7iOFcd^kpD&Zy|k{V1XK;d4tn}?)MrusX>=Wrdgqy%(!eNcQA<~* zA}Lz*%$8fHo&KN$q)z1g_|s#;nLcVm5yi`i_64G6UMZ5WJuB}bt2LL`ej9aJ;Xgk| zxUjP-Lvg}}M+B4h(9m5B(wA1`wkg-p?m7>bjbvUL;Ftj!3i9;?fKw&Cmf_c%ThP;` zIqN^e!HR*a8ak2ZFGaOBZt?u3Uh0Tw7ep(rkUmyZ%SdsHxU_kiI{TGiOvi-Qm8dP8 zzoO~_cP#5Ce`#B)IlJqHm5!zd{b&)pbV%6qc zK99?J<4k?S5`_kTgaIE02isp=VgN1CyNTyY9T4?4b^e#aQL`RcU+$U5r4#XFv>GR< zK8J|^aWsue#=O~iZiB?HxH*x{`Me-q`Q8MTM$Prjc1C;dUo8*8#3wPFo%*IgiRdAL z`nDWuOI<@J3^#=ONuH9=&7n`Z(k+Y&8KVyGgKg59&ezNnD+k}}cN#u|D;#v;FJ=ls zj*Fb$iT-@A*=j85HC9@k$ey&z99(hd`CcI!@PY2ErK+p@t)AlMoUGqLi}9cES4#qhkln!M0z%eZ@167@?w%0%@}%VD4LvS^fulvWI36 z?eh)%K$&$a>g+TvxiXxsyj9%+2}npHQ+#AkL<{3FG-AX}O%NNAZ$gZI$6SU$Ll?@m zJWRr&@{XBW12U!bLg$j@bl3N(ynE0f^O3~elIt+{UUPG!;ZYv#xEMLzssX9Byt|}2 zM)fz`Vtie>8k%VtcfG=HnvE77$(TLp%fov1Sujb#&BUS^6Z$i9^Wgo05i3rq!m2FT zPEu@~++k!k717UoL@lDmyHw2Yllx3?B^2B+bb%u?0m33|TqzAZ&BE!ENgZk`C^c}w z+bBB~neaV)GnFIHEv66MDzZ%(_jjM7t?IHVJPG<{7LjkyNyVexH;P)vOQqUSMMu+y z)Zgwr*B~|jIjgd)z=UCP`pviPqxT;#^e;?A<%JEMA+Rjo<@GD+gSx5{D9?!tvq620 zMNX1A9TRUt%SD{Z7rLAp!O~1ioQZltK#ErTCU0%F>Ytm&va=B~n`Mg|FnP$Ti(>?A#Bp~Urpr{N4VDV{mErPdIFULS>Vt+|QiZ;nfLaAtOQM$iCd?oIkpJdxK znq+Jbv4_3dM1&7TGaJUzy?WALM(y1B4K5bi&F(D(MgMTa!0q(=Wp0s6n6L)KBEgf& z+F=ombU9_A+v%&exP1`&4(CmY%Bf;0IUU~YT`iTDwYx$uN^{U9iNGzz&B>|#{m>%f z)>2j!-5J93=FcBta}{47fJa8A`&r4`CXjQfqVHQg9=go;1g|nTV;3U{6A3)*HFi%h z4?E3JPl<3YOTM~LE&zTk;u29=dnHs13QWT-+bFP7Xg%7PcF2u z;?J%`W8j|UsxwX)b7$0n>D4}cBArp7|2w0!+lYsH=TAMGe$~O+8M&}VrTH`~m%18n zO;ShC>|c{*r3oMppaOEg(pUjp4KyG0X*^XNjpT{8cZG1Uv%`deXD7r!v)vYnLjfFY z@SQ5rRn2?w&UUEZ#6_I+i}*gnE`inB-w-Ffoipm7yD(tm+?lv<-~f`Z=nOtapxSqj z6VX5z{Pc@mKh$hk-TDsg5LVG`nv$qQv|Z>Qepf;YHr*|ZXE-3*-H%ZY)BpIW&K!SE z8>p##5`Gx@KfqXNKcJs^E?fsV0EcgUZkyYx;Zl@^AHM(ooP-0yG$F4M#*2cKO2Ci0 za~jMVAR76VH3^qtRHatUJ8^T}wLIuY+FuK)g|VEp=bJ$99eB+@Gx^uNom~Dss+nx3 zTrL#*^_0)MGc(B0uPc1i>*IAk>a~^?O?U!Vucsap#}s#a2c(Q|G~cgTo2^rbgrrBq zcpCUsF9iG{e z^Ce2&p@012aJ!JT*Rn}5gm3VKT98C!eeu7Au|=fj@+Xdz??SKhT(FMH@+) z->dQjyd-KW?5YV++HDie(7w~xX9W%Sf$I$rIP=D_$uQ3Ri$?p>+k5E;AD{{j?w=c~ zslohcv7COzn_++t&*?rD2&8C~;{<;Hi`_BGm?uJZhZS_z|C}U94vlxz?J3;^hwew(x+!AwUFF9BIm3gDN ze{pl}1qnadao_T{`4zD(|3ue!iu|F#a3UIzKPcA9JQ5&vUjQr(1Q0S7k#aV)5e8CC zF6K!hV{UM5Ky%vp+gWLpQ9-I*d&&Myk@ZW((P_Fgpe{mmfK%Q5E zAymgLAcfXH@im>+(9i&U+Qnwb?Hd>vc(8KlAjr@6hAh&zZ{I#`fqw0eA3sh{hQMHC zXRQR6l4~mtmc0SK@nIm(%(&CGRTQ{oA8iX`TIuiz6-c;E%f@hBUV^W`I&q={Dl+IG z5(A-{V7QO{JI9)ES3pVO{~NpvIMD!;|f8>$k0e# zlxN?jXH9Pm+C$p(nZHDM5Fx@8*ueW0m)E&!L%M=6v530bd3#N;)CTZ9^UD-{JqT(P zB2ovVrC^L=9flUh3o>m$qT*YKnt}^tNWb7w*bx#A>uPYcnUb44gtBSVK2ZmTh+$SR zkMwqE^==UmGOj4#ThD)h&tLTYE1XLToJ*KrFnA9m_(PD;pi9@!%p#K^k&|b(LQyP& zwa6Q3{xD-~WLQ1r%r;0B`ok95wtn>%IdQ%umk|U7;d6(A9PlB&A2p#`PbrD$!SSRj zUZxPfd^wcWf~|*&Icrznfji)#x=JJT`}{o~R)sKMLm>sl8Fl^T=jKWf9~wSKr*iaCTGqJRuF%Cim#X09}*HGMzj`4Q(Si0FAeEX@C88;h)sr>uLsU9 zF5kPl?!W`8YE+%i{F@7)=9YJKk|*Ly3^`XvfC=2Q=&GtJ;6Uan!(tzO{=eF{=-*6C zN$C=?Kl)12w_FYm7Y!Yq2apH^Ul1)g#zeEiA$*kp^Q<1gYllRhun_e5Ii~+Fte3w)E@$CR7vV}Eo$cv1)m_v$jb5?7iv<_xwTJ70Ty%1 z6jC71TfPlRvNm9oqUSlJpw2M_;1fVg1ELP=Y?jF*6x6VI&B8n>G_?Vt@6tyI7lw+1 zd4}b-ZEh2YpAbe5`1J6tv3-xifhKU)cog1H@JXetih+~phh5;xx=d7Zeui3tVTjE0 z(y+E&dZ_pL8`y?5Qg{mpnKnWU(1V$uzjqI8hRc^xaAdA@QDI|1-w4uJ5>E-kSIh}x z(rQsWFNhUxX=!51Zzrg&uE$MLMX5cssIY zko-{=ZrXQ0$hshMm{<9iH4wU_%ftOubJ|r8zb;&d2OUm=;8IvkGm8{D)Xc&SYT^UI za6T1X9bUtVBvH}rXESJo`OyQze0$Ylvur|0bVk{Qeud5T_561Zl)pSU_80yjq(=k^ zI1IY!qM%h{uV^R;rb=dEXW_19!+K6-aSG=3j{6`?^q(LS{5Y(p$hzts4JRU@@cGv- zm8~)Nh8VsMp>xAVfA|XH<=dusS>m66!$i?POoe-291qT-I~awRL|>V^{*5CSyR%uy@lH5VJqe-kqR#GeSBrmom&QDhyYse;Ay1IwWFm_Ox zT)h~@LZqUll|~AsepgT@0MKkStO3?2M|h=zMobS}*!xuPQ6G%^N<{2o4u`0=SV&-6 z^iSEUVHFJWVVIXSg(Cdp7Z)W%5hzh{@zF1vu%F>t&GxGyq__3k+=UtYTLwolUevWuv7%g9<-Cm{3MRb<^k z<3fNM#OnW*>%umbhx$x(D=jxWaRt3BVwK=_w^gANP&1eyFC!xWxNoY4qQ*>8#-)!I z<=R#FPZr;Tb08hH>RJG1ng|(9aD-nZ+sBFn(9T4I4~yS)#n8Z4^&_0nxuxIHE$l(&q=Hb8CNVI;<1;fUiqX*@?V{cI zUANd!fud5Nh70dyaUJ+}Ba~CyAOXOyV#!W4WPRTA&?3+M%YEm#9OC+Fi&@_N~kqc&mEp{lCf;|^m;sG7P|Whr+w55${P~TPbHzIL^0)`&N)*~nrAT9NCWTyWtCC3$ypQZ zSdO8h;#|PHNaeh*Ee&DsEcAKGzEZF$|7mS^o3c&O$i#1wVjcJfK5VENSZqVj4b9`Q zI71$)X6K%^7yaeMKmGhxIHXt7d`9-TD1CKu2O4i;39Ou)@cF3#QY~7-%<_3>3zpYT zZCC)3t6Y0ZJ7qxQeiI1+Q#9V!vbP1FW-HX0t6Jlv_!K=4k$O{dkF|(2KL7uAiFJ*3 zX%CX(r9o*p_KeTfjpoJ9;5|b0MvqZI}SBV(DOYc-hNB9!!%g|yRgem|6fNo z!z1gB(h{b-O*%z7wHM4;7TNG=Xs>KWW5mISeSqJ@yt*-*w;VR8+^g#!&brwZfPw04 zcc5kE=;qc;=W{KBeS9Qgi3vxtcFZQW3>xDS$l6YB@!Q6~<<>xsx8Wbw!+4M=I1$FU zOD2=~ED9JFUKnjE+cXW&V%%v0cT@kfTgmRgYweI{v1I|RPCu;P^+n>)pDP*vzleMD zcqqU3fBcL!C3{&SYm{VbAv-COXqAvHBC=&)XG9@IDpA&`P|1>g8-*8Amh9_@WQ(zl zVaCk;J)?TP->=u_^Z5Mrdpv#~5;Jq(_qoqG_jRu4^E|KX(zI0hv3l;x%!f@N0Wp?Z z%PFa0%h%gzu=ENF2^#2fFWNRE|-W)-=MtFI9+dwB1&@3PA=cj@h!^2*d|)^);y+;wEdPa>r>|TZqKPlaNT*z0 zP}@97U+Bd>C?wfVqBrAPSZVodDXHK=U|lykrr2YE=WN+Pwl{KIIbvhf5vw7d!K^4MUXKCqPFd0^k}A!1FU(U`3R~ zq$KmR!dXmE5HUAB{Q;I+g-`=nLmr?fplKCfj@N*-z^DHc=V8X-wK8?~GwcHpSPJ)N z;~|A(S`Qu^OmDJ+duqX80cIBUD4o^O?Yhec-o6bJro(*QKWBf%9;}`-Ayc})je)mj zQkCyMU+TRy&@Y2|K*`{r^RTwcXs_@oXZ zjIqfHgPU8I%UJ?_B-wM~{8aFwXRD#}oGu=dkI z(|Jp1R~!9(_Iok#&VTzf5Fez&JRX4cTPy<#E^Lv%q!CNZN1qzbpr`QVle>dQt+t1P zDeqa>E3j7djmtCCu9X>MSqEy>qjdGGq`epYrk%57N-4RCx(s!E6B?rsp6Pyp@Bg>d!$FQ`(2^-M zbZj*5C%qycd0^f4kIch`vhma#-c?`mVYfc!pEZZOXz?}kE)A5R*?>8s)8HFzOulL) z_t!?Kp4i(ncW$TO>P0e1==UU9dWK3z(`)6~fYDT4wT{0-C>S|V@}GjOy`^`7W=!B- zo{zc0YoLZ@v@4is1JnEQ?b_A32~Z=nmPTHY@r}atem|Hs+nGH)3iXw=cmRli z#2z&RTGUG6<+&|6BO>~@Aga9=q`?lL1J(E5Ay(8&{!N0=?0)-|kWu4%la z5>r!8$R^aaw{yhoR=*3c10Qoy7Y{Vkq?#>`AKIY#hL!{}OgFZn?a0jOF6R$#oXqNk0vh{x@RgTW}2*3!qILg7^DR`|Y`)w&R0V-bsnEVZ}szJu&%# z!4);j+SSsX`N7xLv85_P;BmO-rozA(+uR9^dcQttNmJi$*t7C0R^%>4xSbffBQGW6 zCw;05x!Zv0sq4&@qka47(X@#LB@?_Oh zQ8#75zxtfD4O69=*x*q({*f2kTf5DCa%d7rnoM82m-kw9Sn{yY0N&2J2nJxKz4a8g zZy}yaAg{ETJ^d;Pqv&S5eq^jxbSz}~rj$^iq>-W&_*}V$#hA(WODi&=uDZIZ?lBqqG4WA&AA37fWP}pxY98aPG?^wJ`&ldk z10q`J?han{dt~zCY4pHs^ZAB=l=3YO+76eXIJfuG0jn!NdI*0Js#PpD zhEG@DCn8P~fEGG7GkY!G!K_9BX8N^TFNUxD8LnsgLRM_(YrvsS__hGmZ+SyAb?PsP zqGd#2;O6@KEQQO1#AI6s#EKI%*Lp%`3QoQJ{CvzwEp}0e`yydrJjC)87)0?G`);)@ zGH4&Jb}SAiHFoC^X%jjttdY0LXE6UEi5MW(g|n}~^z9E0{f}voB!FRBP#v!?ks)W5 zf|8(bd;k7DjhJ6qDYC={To|O5Teuz%whOjr(#eENfC#-76K0+X6E6?)UtOdJAW{Ei z2+L?L7^&D8P@rMJM)?!*CFsAR--B~GQ3n}s;MN))kD*+$#-nDKJr{K|DlsLU1HL70 zD`Tu8t7vC4n)1EKwU`lZLVcbcj{sUJgvFJXftwSrefZBj30?cJeL!Pj5%>A3d)TU~ zzp;iK4o#XE!`K%GTpUE80CKj}+1b*KoKz`iO*}HEp1w$F``mTZ<*5_jbGCY;)UT`M zyw{3d#KQ{Fi^9u%fd?W3xneKNl4)Alg5Fze(MV!1a}u)>PeNX6cwDFhzgJpydUvtq zA8x1R8ZiCd2=cjL1XGa{gs-K;v&_kEUgH27~l< zeNzqmT0X1jW8lSz&y5>5SYZX@21v+y1WI@Nz<(vM+!<7lL_^gT%z*|)QZQPijM4|w zItn=Ii*VTBG5faYOFp`-C6XSY z`N6uKqXJF@&|a7Jl|=Jx+URmF7SH8{9N8H?O^9l+y)$vBkiriXX&A^AI5N^>X3P!) z4(^;TxfEBLgaisn6ygk0{8{_9SdZ(zCVd!MayX)KZE@Mv=2tuky_U0yIaH!=rUz22 zm3GNylL+}?o>L-h9KwL}`{5dd=vmdDt{#}gBAIeyyV{2C)82WRc8SQypMD@~fGRa1 zOzIeJqAW$jwLTV(m9F_SV zpG&JK~E2sgx<1^-#S5< zehr<5wq$3p13N(tm5?{<9d|~b>AwAF5X|0qLuk)N+^Bx_Co87j<#jcU^=4x_jOA)= zEr8U_;-C`lE&CJWj8%tp(_w0SDyp+-^%DKw{#TeqenqGCX)gi5ib^-DQQ7j2t*3W@ z`fsADYm!b#J>U;Z^+CV5sU9t8Y(a^n7f(oGI%BVEnr!z@7^JR9 z0c9aN;s5A_=({*?d_empayKPq=gj(+(Y`j6Cw&bQYzIn*s19oc+F9;ASN7SK>U(3t6@kUkjCQjL8guLb$x~_P2D%_>*Q7FA5|T zWIC@_R;U?VTR-w;cF%7fuZ8@QY<4~EjHX;meg&ml(I9OP15fXA|D|I07?d`;<*Nzls=CEo5hT&{Zw;> z^mAYTwWWcmNl<>;RdoVx;AK<%Wi8RvZE;svQ5@;pOH6i^8A5vjO%7qU7#jm)fb^h} zMWxoszW-WHl0MHo#>YH|H+|UFiE99J$XZZ@8E(k{a7QF-1ZdT415kzq@@+A}^Hj0| z>nM%Vxj#TJa{1azmkVyd!M>m7+bTkl3vJKbY&#zqh(%$bW`YBB6&`pI17vc|547Z! zu;$cld>;pxzJ=b>jaScNF)? zgh9(BM_a3S^!Zsu`D)0|CePvX1l~QaoH&2rAaJ78gkR`w{X9kA^##UpF^_hGcV@tP z2W<(1u$5&~Pw-hDIL?9Etpw@d^ny3DyK=%TzTrN5#~0dRF7BpU9%zD_f#`KkQ0t9d zR03~%3sUhdppupEAb9Hr8xKV-(DH0lhHQanOTOR>7KG!^P`p z!jlWEU~WH@_?ogoOT27)A}{9Gf@S zgyjQ%&hB5Dfz|=;g^?0Rro#*iaPq5Y&FQXXJz>d50-=rL*{uX}l-%EJPV$=;a8oOq{&;%m8cmW6J zVcUz0T9_m46|nj(y}oL~jj9lcc+N{|=J=)Q*nG(P3$ zh)Ga;WfB>qA}{3JyPK)4#BDcBd}L2Q??x|06Jr$izTSqxjJ;O^Wg6`>zoZz5?Itn! z9qvB-lTo9+4x^m@6N0pX`5hqjZ&Hm9hNJa|L5?d|+H&hKj9-F{qP5Fp>}C5G$i9ia zX8czYiuZrbZT)XbEUxIPT;nbMyI2}Myc)H( z@Pm%^kdE?a@@H`u>OC|E0zyg&ns1lW&C?Eb%xMmj!Z~!dh=wPIPX$4Nx7iG?f^hn{ zAQ7hS16t)4OdKQr?YYL!rdHEjgA08VftX!=`!Fic9B21q?$S^uV5@D=bKE^Y?!L&u zGIX2d2~RskgrEJY>q}=;sv!!`9=UI79@CrarU(^%DbJpLgcYD)cT3X(FRY!Nw@uu< zynYm3Vufs6s&QTM9)lpaR`@-R3e{2X*`&`^l)Ge|*)rqw;l&W1TFGaV-yHP!sxlW+ z@8GMOIaVf=zfV@E*4EuSR*HDda#L88f8USf^GbTl(wb(NWycqKf897#0zo6AY4Iz@w>c zJQY0fmPFzEG?#~1K<&6MZg6!Zf1Fcc%Y9z66sp!i{)K}QDk~QSw;jC`)#I#V9{MQbN9hcY4AhOvR{PL*wm}4Qki42&xkBqXauj29G32v8I(+JjI7PpVx~5=H}*(hXf49 z(~&`1JLl2ZAM)JphJcgHBN6oN4r5^fNXn|M)v&RUo^FzS0(h)jC0NLHQ)fnu?4+IqU#BoGq*hUHvAA`aJWXM?`kJt`$?yz!$6otgcfP<_Wx;nhN3*$TA zGI3LnQOkmX3%k}ddoQ@}?)7%RTdx8h#uA1XuigGRWs;f6${Ogjw_{O8N)XfPDOa^P zHTsxXZgVAaVrw6j*}m;6jPlAqAgU;X>)0H-eY+2$99`+;o#avJv3punL}My9lnsNy z(YK;uM=k95<=IJT9NutX`NK}Kz{D%~5PTr}!n83x%wCk|pDFwOs&E&TcMwWGHb$8d zOd2A%Hqgt)#uJO(h;Nx-qnyYLHOswYDB1a3ZcO0XI`>3{WuADvf&XHpCrpfVCfB6e z$WQAuS@WqO*6#H0L->Yjs@m5ei&*b5V^rec@Da}Gu&KS8vJKsC zlYXU3QYvfs7^yg;EEFg<+pbqCAjERZ<}o(?s+g3}e8$1`h0mT+RW=0~I)K%Z?R%wV zeS`X=X1_+$HIcotl3*Gw37&!rjNITyq1|Pv{5!r15!c$ZW<5+NYklY6oRy_N^~9S8 zJc(|otaMSm*LItcV(eANkgk#lrqp&y?g90Oj5Vnq%WD);9(pUNx>|XjY?Uky)*w~M z2w>7&^gI0Y^NM)Qjt_FJ)l*)rc8Z(r(?qM?RJAC=Q&JXfiV(`li1e~V@B+~jMU}Zd zs10gPlg9YRu|^7%*b5gQAWzMkvrT&1hzh$2HCjs3$Eg!D?@rmNu$5lTWdx~qpyz1(l;xW&xVV=-QwQ-E7CzYYE63d+oJWVys@ZZ=i_RV|44fuJvf2v%7^9T+c{KmUR z22{uBF=tiHX*vmI(YupX*j3{-J$CCh7++BSPQ+9vz#fq+`ZRjh%a{rUiQ}Um!bXI| zAY$rv@*cFvt$xrpIqXzCbMe)8e8`V-?moxsEd`N&mYB*(%1dN0@jF_(eKFyY=EO~Y zXg4e~<>C!KP`W(iN^ArXfAWq?j~g=kQg4*2rmnP7bWhDX==)i6q~TgTI6SHVFSnx< zd81i4j)!ORhTPq~p zN5o>eys7L?obw*^2;;}oR6j3C^y}wN#HNS#LJb1*pscg4{Dw;)voj@FR%QwriONJm zeU=&!Wjl(+V;Jf##sxe*YdbO*REk4KW)W!p^!2? zfY3UF`9`%R@dW6aC8$fG;n>4{HxHt$J5jdEr=)!#hr(V|%9|!EEKH2i%Tw^$kGA!S zNZ#O_Loe>mCob{w#47(7eyC|vjAXrf)$VvGzqoiph@KNxuI*`GO`y8jK1A$YkVRr_ z%~B}>Cs)143}KD^F>n%ns5yrIo_}D_8LT||eEm-^+-T7VJzV8%zRI%hkxeoL(xEJv zQ9na{(3Gj68&O!6G=zJu2A3B@$?;)-aq$wIR%M-qm+Ab@1nh?T<4?lvf}vt61IOvK zyzW(|sjwB541=mRqB-@}gI*!d<}KyotBaL*m*r#9@wXBW7N;qSv{Il1JPrGCOBI-4X1dJu2#r5}^!^_Wjf(Ack1t#qrVjCl%~PaK1$HEdjAAF6Mg zA^2%z!3}QF7T_z5!~5wu)roX@a5vPmf8a;o-sHe`M3w6jauC(GEAt7kqf1wPB?0QU zguy(laN{c_TrK!K7S6|Y`1b=n$Dc(wXge-jJw~C)RwF(SmU{1>$V8o$WgJ_JR^%`t zTWJufeqX1(8V}h~v=HA$9wZ_K2>NXovG(f0aHgzPOL~%qEqPU9(We4;a~c7L*z3mB97+l(C1shadJ@#qp*h6Dyo@J3VZ6E*Gwz zW7?RsOm#D{uqZ7lS=j$F7IktEYr-z?cQgwL8|T7tIv{wT4a%hDkVkher*hLGuR>&S zsN7EfttuVual1mJtb)F~?9aO*(b}Jmjr!@SJY&1I9LK0 z<~kWsF<%-uzvRzd@Y<4DUn#SYNf$d?t{Y6@)yV*qJl>Q>?BOLxjZZ9ES_X8*14w1c z`4kqdj*@{Kp~H?8EDkT5&|+#C0@6LVM}^EFw%em$z6`rkI!!183$B0pFN~rD?w`=B z_J#g5hiAdd>zOl0dZ}_;#Sde zjc8*Q5!)k%Fh8IqxTWc=Lzm9`J-YUNo5nV<_WhADQ%xDEKlffFAJjpstOQ=RD@?%8 zuO99ACYu%*I;72ZX#X{!(mI|FHF}qUWrJLH*cDlNF_u~eYc#I_&TB?C2sNaMl%V1>E3+f)UJ-t!2z>bx{F? zZTH4A``djCMXAPJ6jv#mXuU28BIqeN{$1Rd#nYR85YAv@MoEKxz<2sO(&D{@rOsOI zJ^gO`U1bDIFi)E)&sEsFf-R>C`;gOU(1qiXG%y4V+&zo2bQDR{M~R=`g|!g9iJ@(Y zupRP0abOeo-9AZx7Uh;g4n^)0rmEH8!m7DzY!u=8M`hv)+KaFIS6A(oya*D3$XT^k zm6kme;q9>ss3wN=m|XxuM-JQFlHJHtAhI;YT)=d1eq830z2qbQ0U1_`BmD~2^~6#5 zSq@P<32Qpc=fS)(EIqF?=agf->Z{4ou{^Op1tF;^#K_PI=&t)7xjXTYhDRmXq51AZFb0mh7juZzp#;60r>q`hz$zgOvHRcW-lWM?Rd)fJe!r^ncyN*%`0c zb28zHT94IuUz#$7!cL^U!R4Rv*ee>ov5Au*%u#|U_|G4-59n-(;wO7CYyJ9t^996VHA|<>47OCAksXc{ESW)d8m-AOnat~8GArG;6bJMZvdmvFMPCF$Fvn2Su zC#|g#uGSFDHnyRuo`AM!mXwr0cl1j4q*hN}@9gtgZW3fDQZRo`LUKrFc#ypSGs}Cc zInZNhEwWpaM_J3#Xa%^>U2Mh(Hb(H2-I#0YRhD^I0|LyZk3Jx@Oenezm7&1icmuer z{E4th8GK5PQJzA7{PhHH;eTAit#y-L>yU0g5TP~kEIl`vgVchDF=$eO-Xlan#b#eB zQEx0{nO!wM`_=nyrNHGn`KTw8)_W=}#iLSk(L+X;6*~2Bml|L$Nbd+>E()Sg*1r|G z8v99k3h@zKS}r61hXv@bT6s7}9k;Qr^B}zo+#}dH?SHi#b>>aC$_OlI1DzPy+)w*I zN-BXZQCp!?Oh>~?M6X78(;m9-9ANxF-uwh?9UkSx1$5xO3ZPdV&`e;hPIKc}9=GXK z#8U`~^PqKeJak7O0{wyl>k|4VpU-*h3oCY(oXP90UM?&yW(3DnWyRRyrZ`EooeoSi zubj_Rv|W3CiDngceKx>~5#$Me1Lti+pP)lD^e@xIyBfin$%Z z9Hp{<-7)9pk3BBQb0n0wCjqxRPN%kk1lp+KSP5A~PGVJijz9Pe6Uozr*^&Jw6)f0tYY08TPobAL@Vz{-Pk|j-Q#zlT z7khG0rQqA4Scvy!`lwPXnxY*aOI&!T)LFXD(`B2}*P@xZb^#{=piP^Jw1IMlPOTps zs2|U74aE;#%CumD_p}$t@J9RAty!41Bf3gAKz0}lrd8R{05o;VpcYOjH=I2g8X6cxC~XWPgUD-Zx>^fKm)UxOg?Yhe(AQIbt0-?Uhn%eJ zkHNWSGA1k&xwRSn%bVrYCkg#w}#|3aE9^97Kk^6kiuEz^)P;RbhxLpy|p^4`i}qf&?S^b%)q);;oD5pI-$=f5JL!%HJ_xi^?=U=D(wP+ zQms@6I{8#ck*KGZNrC#1yW`AW?-s>-u?;n(SsY#YxM?!ha%>=Hg9V~(-+6fNx|44s z&(<@tnow_z<(Ry&G}NB7jDdHUZkC$?y&C9W<)&<+*Sqjh#8+;R$K~k9)X$!v0e)fy z)({j@@X%!#iSnca=g69$8EUhO5Gj}0DFOGa{*A^0%QpMjA>8#NNFYKRmTGPX=qc;3 zeyVYGgHF;fh}cmunwbq+wu6Gb*^cgAv)(ieJ&_PP-dNfeKPX3Y`K9Bl3@#O$5yoK5 zA5lOV&Ztdj&jsNKG)%+MC2LiVqjx`9m0SGP)AOWP>rL#W`;L5sMQ%l2GU~VhU zH`HAft*(OJcmpwRWC8&5k!-`Mn!Sc#g-|YkJq16>adWA$GqtW^?~pw1kt{!1Q~=YiPJTVree@bJyayeapcc+`T*?D5G_%UK&} zsz++PW;cYOz5Wo!tbXOJl8~;s1kiPOy)g{mgcKy?kd|UXBc0*bC?#Gs7&3dGCJK8! z@Oj2}>%*t~5;%XswHN1dQa{zYPQZ|?V~@8VU59mnCgQ`OuP&lH=?b4ymBHf<&WcZ0 zxNHlB&*kvcKiflbY-tvLE=B%=TV$>6bUq{?6f(_A!Un2&5V2@sSypF$gTNO`!s-K1Ca&TYND+L-f~nEqmCRkH z2p&o%pS_N_DK}Jl))rh_#+G{W6TY)+!H`}HiX0c_QHi%sh~N|I-r~*aBQojU-gaLg zR2-wrxYDTUI%2&ri>2-Z6dY=eh(@-7TIhrd;=u(>tEiulZ>Vk&3`f-5YRAI`&e~kK zgIQI5CO(s?$*_XVL!>K+DpSooLU+b!6R4|yL|-bKa*xNyJi)I%QN?~&E%JSxu%b$L z+z7BbGZ>sPgi-C|vgk$A8gBF5>ms(iLN_U0C<-L_gfZ8K&l`crigYy<>j&2{^(phJ z-Xf$HfT{Jw_Tt&3(ZeOvCM8V!(8FVNquzgM`Yiwm@G^(oTwK0Ed?3_#%;;XEVqsFr zUgxo)yUVh|cnBrDs^IGOz);cyVuQS7a;$kC`6R;JXm<;_eMAp1HP)@7r7}9@R$8s@ z89|(KRwVNQh}@d_m5TR0q}Qc~-ZF&@N4-Ig(z*MNsnEG6-Z%xCceD#{j0yu_Mf$3Z zr-TRqO;QIvsJ(zDT0w|s2GtC~SLnwpqWbVPFoXv@Q;0bC2zo@^#}U&UKNFV(;8$MFba#(^Us*=ukMP2)DA>G z<>S>f49QK&$d<5MRph3bNYvY!rIpmBPH3IW%17 zCAQu(AZxy3skO;JfU0NGDpLLJZ2!g^ON%fFD9@ZVLnuAq%Qg=q-C=ZTVUNpjY{&_) zLiYC`km=C=!eEWyhUYwA(ZJMbTOnoBA5#>h%fdvP(T`GyE<|X}GWC*XS&o;Z7RH6K z(Qtis?p4t<+VmuUGD2VNG*}~m@WK(@Qa(WNtsu{SuUPe!s$ZYV$}QkMK*AY9yUB7+~;j$`Lf3d|iBaG&A;>*V^Q6LnmUE;%p-c>`vF- z%enJiLaR%~bb@V0{vlfD5jB>LHZ*)cwu4P4G)&Q*ZcBS7Sc4DRaS6TNNQQPdN>7%~ z?54XG=`WAsxKHVc1M-~yD`AOr21JjY6R_AGs|(Kw%>jt7chT7BE)ROz$mukR{M?7) zk-PymecD83ZlHTlE!*VHfU4O<%rs229V8Jx-Hr?vqa=ZM-Kr+-m=jTPCjsiuAzR=f zsTn7Ui!tY9B(;#FZ8Yx&j#!|>3ob3N>sOm4xn3F(_crK6vgkH@p1s?^0Nn@Lr}}q^ zCjh#Pi_`Gn&7GJ+L1b&c}_kVoue{=4| zb5u8x-sZ_^KO|z*{1$4vh3FOj#|aqW$~P>^5oYr*1ah_>7I-h7(m*zryOb@Q(lW9g9Pci=EElEP^F5 zwza3^`sZJ`L@1iSupfM<&L6Xr*4m1?S=wOR?yjP8>ohsuB(J(yR0kYBR1Gna&po>5 zHRYsWDU2y9a<}Gs)T6cTz}h(R66gKzwv1qzm3Of@+`Y#EXNaxr3bucNE4bZ6G4Q%$jx@- z8|Pu9Wr38p(-OJNl<@;iYohS(v&&f4Jj98mf{Ls3-5J3a){8zC`3&)=2)lTlMoB&d z1z+)^qJ>fv6qoF=ZrpthA~tK^s42=(TpCCTYt%nI=x`=yV|#1z(Xfd4t?yWzeUc_3LA8@F)wLsGqRRO#25_29xyM_5W14f4{ zN)HK$&Bs}^JZ-#;HG(3G>jet?9ATLiKX3@GP6If((5MJV~9J)!Pkku~rJd z0-b!pkNZIPvkIC)jhGUtXnlDn#&7em_XP#dRm0C%^G`|4P$vmiLQ4d!I$ir10Vnd# zqWqz<`+Ra>Az?%7h#9TPp2nt3D!*;};ibKm`p`{PRR(h+-7pelq?Z~h~0|Hwbd0nLE0T_C3Ne|JJ zW-56eYD@VZF^IUphi-DWW{6-?Qc~a0P?u25xnGp~lTf320g@GjC;Enf$(%(RKMV^GcnD$_;a8^J|f)BZ61imxFA;FZ!@!py1+eHe6sH5C86IXsn4;`u?IEEu&P0KrkBTBj78pn6w*l`2jNL>*L!g0Y9Y`Z!=>bbhV>?+qreVr0<^)) zqXe98{nWG47mX_YfojQgF@LXKv<2`i$inQ>!X2M%f1;6g9-CX7r*!-uD^mDM3vI!2 zI$>h)%|P zzH$>wtZwaWm$1OU+a~($x%<{bGo}AtLgDKN*KHqYWMMX0us_SA4i9aenK`fN#T7H| z$SL_>>pO?e*gcoQck_Ia<^N-)!{|IuS7or3Z-zd)JpIZ4tj4x25TAMHt!iyi;Gt4E zQY64Xs6*T6apj+wJ#dv1JgJ4F({0m4)Uu6(XU?aQy0SC~Isf>zo2Ctlyzb`=ZU-x@ zSgri?-Tyi!o)rFonlH28N@i!VtS$F#zAgM0X%5R;ySiwaD`oeTTzzS_rU9v<1uBCy zUDMEit`%Dt(oU?XAyNj{OP~L_`~%UemrX_r-&RGDp4d<1Sz+0RA(O>qEBnM{^1xuv zC2B-^8$)}#*Bif|#dH~g7bS;D8no&bnE7dBy%xXy64zXAitOwFw% zZNjYO>`+}<%`IvQX5$(bH<5ocktP4vEqWS#!^C*=F8*qFwrhSKxValSp2)AatVW(G+H z39J)F_c2EN9!iSM)a*RNi@)#E$Iiy)10x28G@OYoV!INz0Y^-Zi;Zr*xWB*ObcQ#& z;g&ufs`ls4w-0sCV;7sqU%nfcC4NVC9C}3S`d;w%B)&QCK+J<0B}R+H=rP9Y$4?_v z_0f@P4QyHC-R8YN(OoNK&-Km}12JxZVr4jC9Q-NA5tm zgZwz{rCEXsOn9QxtqxNP%;T`J1cEoM17Vo@ZCHkMfvU$qCWE`9CmF;IHAF<#Rw~|jXkJdbK>{Z3Rzi+Q1W(>clh&=M2ss} zuJkax&(9x~eDsCIOW^*UCp1l4?EU*TFp@!&GHtAI@L<>l>6dD39qW}fH8H$aL7c{^ zY9Ag+8SC_;{fnAmHfGfm&jgj-MdV(cIDdHS@vIuPrN+Fgm!Fu+>^yb=UHA&Edx1|p zG-DLX`2JeA60rCDq|`8Qda$+a`BM!4>WZ5*fr$DNjqiSQDT04C270r_xH_u>;^NH4J` z*Bp}6@Vm@=)?~`JR_f77V<=C$^IGnpfJQy$= zp|PDC+;DZZ_4MS^qJ#>HwI9;Gkabdo*p-rk+j zj0(q-l10uw7Y^SVj1b#Ce};*9e9SXmn#xFiD^MvlF%{l0|yaNt$&z)y^FYp%X#9)A%ZJGS#9Tjn=#s$ z?^1Fd^-LoR8l`D$2Q<0Z{as2r(|{2Jb)t`3?4dFlg&~%iyt$pheu&q~3O=Cw;|&^l z&e)uhO{n&E|Cs3WDOR7<6tzXDGyV2`^y|Ydg-Z>#1?iq!m60wlG0FIW73?>v+n(UN zUss;r6mxvsN9J*_yuW3uA6nv-^^)=|c^TV_EO!i`X_h>$lYOmPeQ2B%`+7z7;jq9; z+p02y#5+O zscB-l6OP`h9CwdncAV8&x=@7TI{3Oh0c$RSuD{@H`#28q%l<2E19Cvz=SOqCzCs51 zzM&iU$z&WQ3PUhG>lraHVY9ASsKHAvC+4+} zA8(mMw(rZeZx!!&+hDcH_^D{!yZX0i76_koN5*5c7Ugz7)h1Sp3?~dh5$3 zA+SmqaHo*G1y#KCLo|z)q@0CRytat3NZ6iNr;DU2eMWM1@0vzTzH*rqy}!Co#b^xv zCe>kB!z#Y`KB)#Rl&(#vKKa!ZS2H}A-zRGLVdsk-hbe(XxZ_Wl-ZZ&?JOff!Yz%dw z*JbLv%pX_9Js`Qn0j_I1gp%P7mTR$D1Kdf({76}VL_Dm}Y`9h`v~$V#$IYX}rZ{mJ zCrS_0{FfMn(HjN5sMk8USY@Wh7@<0t&F8UqjSq~}F4r;FSbe<^i;3etpjxeD2N6taB?rDtA(2`N6p@~v4iD6td6*+Xq1!Xsyme9Riv8OpVX$uABh3U*tVBosKqALLA@ZuP{eyH!tGF@0iZO z9O5~eUrE6mJ!h>#sk>>@6kAyn{eF;|kuJPq5t2gcO0c3ip~6=vmim%OL<2Wh*Rd~3 zI778y5)U^wH-u#MaA{fmk>n<+>yX{&lek9MAHP+Dx^^{aW3e&&f^=EXdf~a?4{+*o z>%|Ca!@PEIHXKn>f~jh)2TPK^T(ddle3f_Qqrrq?ImxCW=I(~b5OT!rObmAJsd%$vLlP_-}Tg4iKlJ!N1~=Ki7D zbCL~aw0jdEB=VF@OzI?u7q7B*M7tu>JqDTq-kz+u7P|W|)WVvE~+=ZoKdg+Gst3TR+Bl&}rBdbI4~EaVaoMp1CDrj&0t^zgW6Ca!Txgi>E& z`f}Us$;14EoX6Z7j{B97R2$#>QbsF{1A=QVQEYxMZn4=lueG~aW@5u@Y&Sg}D{MkZ zxGP25R`ED?Fpzc=nVHyKaECuorl)&L1w9(B1qIM=bG>oHE9hF@R1a@tOn0m%l}~HA zHBezI0FqKtsw&qm${#(-;-8YVjaRlT-oW1co=t6iEdLN?C2MicOQ5!uYVMO<4{d7T z4!+kgI$>MII-0H4;$?=+qC_HnzNxIQ#K$5MI-FbcR&X7q;(e|ra`g(UYHB)umUvWD zp+26~`RW(W!Ig2h@VG-38*PeBo>R~tIeK9B?Qb8aJY@=DhV3L-n4FT@lOTvxs z@5j46%aix_fH>Y0R#&c^?s7T|ixev;Xli07d-5Ro8e=1i>&0l@qjMLOI-7GLzozD$ zmxLC4P)H;d>G-YnItyd-NK1m8)c0|%Ci!++fJn%#4eU?ls2zY83_(7`ykAB({i&VV zDD2;keCZ3}+gA(b?(ear6UKs`s?-;1im^?X?nk z-0Ls855A+(E+pz0X9sUZ?dn<3e`DuwQpzZ&W?VV-PHQC+<-ZxI@_bu6;$b6=~gLKh79L!%w9n<6%mSLnW$Wq_WInt6TFm z=^=>ki+U66pa+s;NuzB&5nW{ozQ#Xbl|2lU`A5q?23EVYzF`|ng(Rk>vD<(1wUw-(z`kLp2n*lp1v5PbUAf0zCrnbT zD{7{_RIhD)bhAtNmPSj3*{vA2#KvUOw;7_!Sk@^qr|)xR=f9pR4JqxdsP1L2+%s^| ziWxp|DWq^+48zE|9+uNIPi25K3@_vhclhCBq;T|T6f77KH1jfh3YLvNnb?$RMyOx?mgFMab!f%mVPk^-YL2d5rsBiWh)ByD@S&(bbf zQrK>s%{2S2dF%*9N2MCebS7#sHPsV{xoOH`nBt;?sJ#iZ8A$ zUWKiKPx8x7+3B9PiJS9~CV*1og=VR=(Z%sb(Ei*i*W_YzAdCoTBFov*#FtP>l#fP2 z+|@ZUw$gf!yZIe{$|xl9otyOVi3j0_Gr~y$gwu`aAYT=#bZdjy@Yz6e}!I_*3kNJfCFwtmV!c442dUze#ZV~w z4SXbRiTx;m;wY)%V+2L`iUgRI1S+4PcVTdqLmX5zz@TmX$iPTo6fTdA#%>ni5&C_FkD_$vYtZ<5`9xKq5rx3=5MTV!4>qI z;o$yvpAYfPG7pF!nrE_vd`N! zQ)@UCnmjl&1mc3)<1y_o<)l)2K5`ACIK$@c1QoXZeiawzb@vRTmak$=;%(Yhb5YLD z0V*QLCms5P(r;!hTQF?M*|rb!8-Kn9=T20)>63VD2u0-`WDbQ+@?9a_{JQTPwKo~k zd7=;5E4Vl+RwiDYFWSgc;#YbtLGCxbSN7DIlB%4myAIRf$7K`~YwJl$NDeQxfkdTe#oNoo%sTAFS8Kk*SfF zz|Z5VdA7Ky{-%`ZhVx&R4wv=?*yNIr7!Ym~b=rAxSV=GQ6x_g^oNc1B?_Y2Fd~M-o zA;tLf@p%iGl9>buF$TQh<&?14r(PYj2q-E@7ZId|BE1PpFF~bB@14+l z4=o`%=iT9V@B1(7zUy1xT1Jvn_nzHmo@ZvZP&aIudBmf|WEc2g#1N(qbai4YoSeG0 zFlFbSId-+@4DOY64;)JZD(lRtiTZvU0ZR6I_eW$5&#Z>HNR&J3SpIg^7>938i)}F=@ zPp^4`WR}E~Z~qZJj8crvr5JQjWw{lvNewSM_ObE=D|BBL2q53+?5?o^@ajk+R;1VY zl!NMR>iN%_8yHSqZ+riUOoRe;7Uk(VQHOtBge)Cg+o)&z?l{i>GTx2$x0{V%cP4^` zkn;A)0{Rs#d&VX2dbb%5O=MQ&*|YWn3#T*uKE45JVGo!?n3Le01@>7K|Dxng+&Ssj z``Ol-qx|vXnFFXjV)$dC|A;aaPZ561MKbrwzFKKb7KDzY zQcZY8n*j=WSdDQ;rRdBHpOCU;J(Kr-p}hLkBtm<7-kTG|lW?I2nxUEiLAolbYA)=z z9n@L%V#EV=S0Fe-79_H>yD=0mSJ3s`6ez*Hq_8*8;2_8u+_2GuhL~^Oy!jyQ@!#pw zNN9O^*?qH~b#tbf2^iFuK9iyq$6xN>k9{;OUVXbER9`jn6 zvugdH!{|=8KS(+(^a}{wB2goyvf9s47NaRnhBw7Y?424EWKnx{yC#G<6u@_TYF^Bj zjzuv3{;%8CiC78jlNw&(A$+;cZ7mnpir4e-do_!#^aNJTn_2PD@#kt3mz{H!My|eJ zK|Sd~61amS5QptVz?>wh!8yG_DK(Bz^jZ~iR?tM;0E&y#bYrbh^%fy9btY0OFFaBm zUc27}MT^Z&Q~KXzyg){c)!@=(co7xlnZ50$ilAt_6#hDO^Zan&nU)eGQM91UX`h4y z^T+jMg&#nkRm3gedIhp(PtG()CbLjFZrub~_<--?d*fsE)EDB~Qj80x6Wqor5E36d zFk_PNKR6*kn>2hVPNyo@h3t~29uvynGVAfm0Sf-lubdP-&hQOuE5$;9*6Edh8W!1C zI3ZN|RgaAQw6Dmsn7E9pxSXyf2gl8#?6m^VdT6dZ@^o)L7LoMgoTZ*pzy(tN2!AJb zmqZbG21wVSFiQshvTA;EBh*{gTp)Oco@5^iS6BW`3+)I!)zoj%#lTM#$yIIo=e|7@ zN?kFhZwsYS2!Rh`c^ya4Hy5c&3m4SvvJFBQ?Sqt2)!j;ny zh#gN3kl6O~i7I3$ur+~V0vtDct&7!nksu9xlrkAPiBi6|=o570?SgKU;`k_#pX{@4 z`QSPRo|)a);6Wv1fY~xlJrAei)9Qrl7AdgQbU-CseMCOTNsiOQ!l3PMX8iW|S=E?} z!3sl4NQZ-q%QOufd z2L#aFEjPRmVjNXL?3&hd0^)l`MeONw`=C!JgM>@zM%SVpSBJ%BkVbI)s2jC# zB=0^D((*Fb6k(^-kwh37Z@R>Ba7{Gsc#)MfIP58s(-X@#53UyJKpHXz?$wu_WN`zII_h>-`CV=Ks?o~DVzO>vJ19-w1Lrd zrX8oY%KvKmJoU@V&42p>sO-%}xs7~E_howL@ZjH1!c13E2_WPe<;6G}rIIL*5qKY9MoI*>XV=g4U;@`!l`d36_6^+maCW4uBMybNK?F9M z>%?B~A06W7?BZhq>#;9%F9|?o0PLecL@8583!9u$K>}bG5#DSW{@@a@3a-n@a4c=~ zJkIied5dnqMI%oK?13o~9(e)E8strz3Ce!al#(RO*|MC!980Tuhf}b7*{n_;j+;l_ zK0bvew8nX=OtOhabh18RLG<1j)Y<$9dO%ExE?YLqfCZ@@ngHbOS8 z-y7PX|U_xr9=Xh9DE|P2l78Xd8n%5*&YG^Zs}yr(gGF zJk?KQ+}vG_x6yimvRjQojk*--EMTvb1_ih!0b_p2mzb!xC%?$CAeBp1!U8f@;r6p1R18VjfnyhvoS4JgXTpM) zViZb%N|SVmqxX2(o16dkx&vTzXUUU=tKWT?-){5q@ol!=>_8xZ_fN2L+8f{os$g>e z+H*4IURQSn!G=>!WM95=%2UB&ns%)^J zn2iIR6(eafi#Rg4lNA+u0_L99ZUmUbsQ(g$uQuEfr^ziq1sv?HQz2q|^1Y94jV)+A zx!^q*Q+7<6JT}+k?M@6rY$UF0+wcUmZgb=`pt%Du6ubA1o7G)uGAampP9yfESt$LpC&Wp;k^(Xl4lmEdA9KAWZ;54$_D=%+2wF{cc~5xB?RC zX11wDupJN^fZ+htuHnP#t7mhc)1zq4%l7Gqjz&LRd)Ax%9*&?3!7&RkFYkd# zu2_%AmLr$VvUwF#BkyXv*wOR>HU^@I4_D)v2 zK;IDWg3a>+&Aa#m#60R^rKaq*>thDsp#T1$<0S0uEd|cw^6;`B#5D>p`S6=R05A$5 zH7G<;$4tC;wB5|jDaphTq81#Cg7%mCX@=bp=cQav*jH`dr$iWoYgiFL+VzUR!oXuERVrrui^cB;D4rB)gIDi210Mt3uaY$9Gs} zFes0d;PUcUjp5r83oS8Aa8mm{`y;i6d$vsrsbm=N=>mLf8}no#AGLgl+{=y`2P0y? zeqF3M8AwmY-?)?$n>^eSGF|0}oL2SIs0+yS1EOlNL;@vZ#c*J=W3Au4#QsJjt zREjuquueV(McYjv;bnNzmX(GKvp4WdQVVhS_f$u$tvHiHa(u*LxP|FyRpBur5~b6S z@>^wItC*y03;VoC7l_M_w2(w-@X{l~`kQVR8O5LFE0UfW0PQ;PzgD zh8z$mEV>Bu)~9Id83yk;+kb1`!@%BEAbH;YBt0r%9R(jC-jMc4>nJWHagu(sU25HZ z((uRcA2LNpO!Qq9C}B`D(UkQ z4CfE|i;V@2pz(B1e2BC-@itTC-TmGTT{mP%f%n0s8t!gZGpOU_jS2Pz!`>d0-R$nh~qGq2-_I#&~o=oPAY zEUz8mF6*EVDvu#M~vHjfipGnWn++$gGc zhi%pX4kAM$yLbW;U=yO(?19GsBso@U&jt3O^8bfaqN`>2ahT)E2NZzuU#Pa)qr2o} zQ3uKYt8)J(1A(2d2)5Ixbd|oat2?P#YOVL(@Tqr5YTL<`L=7~=N9Z(yGSy%v?}cl? zlMN2M;~b4#>VXxwDq67Lx52%>c)W*rf~p1Z^FeF?3pv1JZz^Ayb{rtv2vOF|o^lvO zhasxWlB!Oh?gJnq@(|+Y`xlG`GyrrA9nf@{oB|_3T=fzYegdGI2-(!GV|k|+dRd1% zq;ZcLmn-&6Hug8C)k7W}Vy1!R|M^J|M~N6UrOzUBQ}scC!2Yzn5!e{UH4T7cfYBzC zHWs@7e?iKC-bkaHWN;!+%D@qnj9a|}E7bpZJEJ)4bVMBuF5LrcCZKIs+`YlH>jw6% zDmklpej89!ULZ^SKX5xR&ZIrJGcDL19RbGrHxy*aCp#*DOcO~y0#SEUyFk5bLD*;% zn$Dc_KfmuE_;G3uo>_}KjZAxd9063kRhd0>xWv-GabYLhYyY3P@PBB5f2!%Yg=CVY zy1?a*#{*XZ^DGqLZ~e>Y5YMj>cXtX<-Xqsr^z+gckPmpSymyvtTS01^I&8oHETm`& zJX*8%q-^PJ-amw{t~6}RXe@7?Y%5s6LywD`{sD55Slm5P_mb>;{C{!d|2loxDaaA% zuD?p64H41jpW#u9TM$e!Q8g_jm~~7+7UuU|cj*~Wv4Jsj5-kTHY6wyauJYL8?xk>iAtyAwRoL-sZ<(xYg;B=68S+PKVjfgL>G9K zJcPhQcn_B_aPN)(c>s?2#UKj`_JH2Gvc;;j(rGGPI5DSUBvV)a;Hr8JT=z0%3eZ|p zw@GS`xCO|oK_bA7Fa3vusVA9aEls}&31SR|&O8e9JIxgMX3x29BFEX?U;Et0aHvDS zBI9@G$$)9AHarcSaOTvtlf-abZw(XL;g-coO&b-Mcv9m(pWz5%~w^nxP;LTqj^&#(H7Y zt*tQu5+8*hM#lo1P&^_nj<9Q#accop>i~~L3+Y1k+>(1nI7fiN>>&$)8-EWxM?hX1 zK=Jx|DmY(vb-vM_oXRBX5EldR>qgpGj7K=MtPuJx)h~eiaCYAJ=^>#(5mFVVUQT$K zY5jib)l8aVO)ss6>V+Q(4#0C6h*G*=CHZ+PIOTH?{4!Prn4#>2{yj&n-321yi^!_lHfQHZjw3x6Ra`t&bsnG zsL!SeoPPwt5hib0g71(zH6Y(zJ>LCtar$N+Mtw-nj=o%&O=8c1dH0F^iER`P{S`79 ze;!>uiz8H@zSWZPg=sKA_QWuFFxoHw^-%8f#y4)8UVS)&(_%#B;a?!f1Ac$tHn3n!3TTFg3~y8 z9VK(Z+wnsiE9N?>lALqyE>WrCb`+uL{j?C@%-Nd#cZ=9D{He=#cmLzGG_CO4G2ZXa z6-iX%{{(v1n^+St{~PIzKx`T9wq!`Ii<(rtn63Z(D0}VhK-Rhne5AJEhv={X8>|Td1h4c71 zMn&)2N55WoPCY{rd0{#v}e({Q$hVJJ>7?0aURoGRI47D-jOBRTNN~APK}QNA0-L z>{R=Kd0}T4#gONUi$X~@;?I)*iSG4^1WJ-EmaDU?0>~_H@N*)3x#d;iQD;Z6I!G1U0EGd1ntTdD)KW<2BI*gH4bMltX`|#eETU zzGL*zrD_l7JQnm&m+@HbZ@gyx`j!4RihT^R;3i&Pi{}8g$3T;)XzW4Ax=+LM>BqCE z{#1&*G};GgB|)}7fK2V6KM=lroO_2%ApySltKkqTf%NQuB3Jt7&9|RT3fL) zf}BtXYdjrRH|yX%sbQURA4y?KqC>kMzUR*}>X{IQFpi*R9<;U$Tv5*5rof3+UEqB0 zNrE|j=BnFgI!r-irdGi~M4Oceu+G6)0Zy2IkNG-FhJefsZEY$*q-i|#Ri_&IMIUY@ z>^;=^!SrZtdwZ>pt2>q%V4`+NOH!@7zQQ4D%h((ZAY$P~N6;J~`u*J}e}K zRUHE(@^j0q`u&N0kT`P@HRjLIgC_2pls&V-&?5H3f>5WDs!vZS3trr{*MSg-4IKj4 z2jkdmFk&?y_VWxIg7|9)yZ_AB6Nd3q*rRqh8bJ(&_8~Tl%&rExS{eJ(F6+7|26qCK zf%KT5z3xIlXDaMsKbU~b&l`fseHKKmFoy6Dq+{^uT#46Sh2h1&dRf0*qDC*aZN;+mcPXh}?HSj&=e+VUXJH9dO(8YDWKW zWcd>kY{X?i%n5twKbNuJ-X$Xx|bCMdj{kAFk+$|OmBd^!dW|y0zr{mVaeQ#f;Qt< zObKXzVAYYfaxmMUkXv571bAn_#BJ6h`J;)?PP98|2MC9etqQUaqnX%2$B?g;Hd;UH zVNnFbGo|qFsIYeeK8g8meY)2;OFegTcnGH48dC{31%NWm9Q3=FJ5-90L{t2llG4DCSrJ(;!M(tH-fQSHCbogZ^Wr zY)(#2AP51NY6xKmWE=Qb<~V)-xn^x1Fn5867h>Wq{heAGuGe6Prr;W|X{LBG+_r%! z`*A;*81W?DX8c`|Cbg{|VQgGCkE^bu$3>{!%+>MKk4k%)^JnH`QD#~a#~IuqgX8W_ z^@ea|kdwn(A7++|+Y2a0-rp!Uc(JQwZw>04e~i;(1llt39s@WArM9j8T6^jFW3n>`?^nqXpA$r#8~ltT9~r zTgmbdL(^E|ma?)G&gJUlfN1UHe3)nZ9-bAV(wEw5R5CAUwK=9s1CU zX>qO+E_EZ?qQO^Fg4^yS`JCaV3~33hT;qmH_D^^{>j4CP}S(7%B?$5 zFFP3fnO(DM8)Ju=1~r=2j%63+C!C1>9uO%==VrivHd*Fb^%ot>z&F%cbbK}}PfjtE zge%s?)F9KbnHhaoMIU3<`nUHq`z~jB#bDXnUN7okdtx)ZN@l9~&EoHa9DM{_=&=cbTu2BI)N(=E%s%E5gEx;Ot6V*t`*iebrxS zx7q3yhARY|!5GcA>WU1(^`ondGpe~CnewkWmyG_9F|U))FiSWB9B<0uN2y(zw?N`d zDYvx=fRllgPKu&zeYu>1sXi7KsU=ozY~Xb%;6*n5xqgLI3irKv=FoV0;E|DF{DBTz z9bZY{?Rpbe+xmccy5jBp@aMy0T)x2srw9$y7d>xC*GRHkQ?TH9{(We@HvOuC>encY z0v1CP9!J|#cI`A?akqwR+2jej^jd=IL*&ux1A6dZPc2a)Yi_EP+h1`52dMV(BSjp@ z6r5r%-75&BGfG>B+r(l}pF$4cp)xol>H54{55bPIi5<_~PkkG<8~xB|_!e&x{|4nW zWqkl7CS*`@0?bwAw&r%KUxUR!O1tkbhi*JlRaNGqMwnU=c>YA~Hwdmf@%deTf$8fJ z8&H`T$?>Wfwl8D(`rMZ$QGaQ{>g#oy{ytPm=&}D zWzYc%{NG}2(m}$A$H4XcWmK7!l?G3KSe?|#(|`BzBQ1#PNUo|npPg-;qm%c^lW|Zl z75oHZ$jr>F&DPHO4%&7x6|trI`Xf_~OS%iA6gN@!k?`z?NX#2{TLFH4ittru38%T> zS9@zlpQED8tgUH*>r_36*k(=C2Wm{R{584Rpz4Qy;OuvFexzyhyYT9q0 zR0q(T=`}M=nf9(5hH;O(zMptn+49|`gIC%+RayV4lo~ekcfU-WdP(I8mXj@p<%IAz z&GAT);l>As6f3VF`o)K#ta#M^z{9k@BHTtn^bL51b`8ck!fJBn?dZV)c8{O%dRO#$ z;Vq2Qv#6i?uC8mAP=fl#S98ZG@25{MGY0xoB0%nf0mMYj!J1Qv%Nd1}j@;)F=7li; z-F)BBa9^cg$+RUhXv!L{xXmg5aJ)3%NS-cS{ErS8wng3tu6en+Ap6*33f}=3y_xARhIy?79 zBsc5qv@n^qH1cZAFUPfws%7$&=BKA09WZCOz~NMt7}czIM6959CXX&-N-2b`U zC-3zY_3FePj0dCj!saZ5eb0{9?R(iCoN#A|1ixyu85(+bQqLq3jq1vGj>QWr$e~X= zzHw=b6$9RoU)fE7pS@{cwsxp^dpqd3AcP{~01xuCG>0I<@0|RcU!9RbcNL-UK2;8D+`t)So3K0>Gn|ENmN_9LkAFAUGX5-w$BoiTd?R?$M)1NyWw53>})! zNe^7Y7_&+W?5%W7q&v7#99C^paiFchF3Xa{?Y&zP5@27duF;Odiki9GoT@)B=-`8# z?e;(RQ3er}vXRS<1j)wb5edPX&4*BkE%&RB+K{UmRqmOx&v3DQN22Y0lX)G;gb}-c z1r{EX`SLuu3@)uBA*tVR?ZKXT(nU)nO(Bw78j#lt=fmC4&XPtO$Qxml?h}4AKS9i( z#p-Zzne!s!9l`<+KUWnEr@O4zN@3#$bg(`Rw3GdX)G%hp9V7y;DXVeeUaH1bW?GQ@ ziwgwQ2Y*$ZKs1ec0b^w*&*bk;TMUXeCAzdaStj<0pR!is5}lF#@V+N2Le$X1r*Vkz zs4q(-SS-XpJ?*68t$wuf`4_)ix9uDMnhPrz6of%9jyjx|wObOOK3`Sz!5mYy8e&LO zQ1<)9&VbJ)9Wg42b`9A}Z*Rk_=yMRYZ;Kk_F!sZ49)8eL&)fP4-dYJtPy>%KdFpjW zmdbauSJ-$SR?H~~(tbuEx*=ft=~p}|&y@|aD?lZ9sxkp~6UPkre_h1x%0Ro(-v$O0 zhpLWDNY%Dpxln+Een1@PU^xMy4^XsUEN^6i%2UTAz~f*K6vIJA{nEZw zB3C_lyR)aii7%13oci(_Vvx2qm~xBk=wrf~1AhM1kj3e4oE6E@KyZ0)M-{d_9=5woib|Rcfw^hy~f}Y|RXXn^u zIcYkjZ>n%a{CNEZem0hEe+N&se*->=X#coq8W2DCgShULQ&Wzk*?0dlA$HThpJuvNHmR!Xa)vNDPsP8bz6>%C^_T(O^4lSy|S zW)_;7usC6%;u?1Dk6vW%+Y3%4!H)H&kvmZm-IvH^Ym~?veehggD4N3X3yDBs$a!4F zG#|?dMkYyz*n$G=elS z5iif+N1QjmPKwL4!atf+sc}}>vjUH=>ZbLx^63*}P^zT6MNekdzw1a<5Bwpn%exAc z$*_(_|qC_%vi;gN3$Ai^Xrg{`H4wf3L)8?zfU*z0%A) zc1cX={lfE23+VQa!Q`1A4kMt778Tt9 zdxG<@g;-Y+(3XWu4;auM)AO(~Y?ak7ZUONJ)cuO~m{IyxF%KG;t>JBLuezR-C-X;b zZ|@$FvyyLa)r?z}=6P^}kxqWkLx%&ag+Ja<3w{H=MDhGWb*1VXy^b>|~5 zihCX}(X}F}8TQ~Otw@$1UM^6KV&b=+Rkg1;VT&V&<7m(ugf783a=6D1H0ogJrgUYJ72(_`KaPU93xzAppYH5@E%sgWaaf%Z^W0NhDh1RA}}-ayE)kV zQHN*n3L(l~H^I{l=LIYyK9VAimTMlRV-R@eEl~Df$D>lH3)x9On73fcL}?dhRwoYi zxyHfj5|0WqW5)s_$OZ0GoSHg4pO=?sa`l_~jjzP=1!AF>U12*f{9{5^XdIcL(C`-|e9~E*5bRe7V>E7Go^u0$3>} z-Sbrf(=2GWAO7?L#?wUV(`0l;u6nN~Bi6YIO zTD?B{j46I6?>{Fa(9|30b#WID_?>*L=~$AfXW;AS&r@4!n`lpu%@N+eSlpFcyK({f zv>lib+;t>a$mef7c-X@jBbsK)Eey-4P|DbK$Rzk!QTF=Al_Za+`JL@trdBgyJ+{e1 zbA1%OU_O%p8!BJn=l>;7FLPu%&~&pH)b`M7*eV9nGAOoYQGWOkXC1_Zp_kb{t*orP zvGIoxP7q~eJO!;@*rf%x#=*<0n)*b|e!mzPbBJKlLEb673+Qp#9Qxy7K5|vR$ zXJz-zr;y&o?P$uIO8jbe_5QU12a)0Dwrafp9aa4^Fh1MjJru(qW@ zRM~85=(;{ZTpQ}*9_8b{eGl!BAclK%?Wl{IzrL;=+|2Nr1+rJkWb1)+n?< z-vI_RqA672^ure~_;qsi{M4^pN{hHpo+ET}Wna8_Va$#o8`vH_<_yi(fx-RHTA2(q zf1oh~vs;)z?o8TuRjQ~EQJD%R3xrxQUQ8%_d)3`X$ln&}jJPrto{n1>Wui_HwCptl zd9J8^`@Xr8uTP^$TA@(4HRhi?pblrI@w0<2URheCK`Ds{f3KI%iSRzD5M&+=I|x8j z^f(M%tr9|_`xQghmz=WwR)@T|x+Kn{-woh9;(5Orn=sFp?JP~Gx>5#bQE<&4)QlMf zQ~6?Oe1T^50W2#1I#Ncz+j5G#Zp1h#f zJ)YH{xB9f>DIC^C4lL+VOFj-Qq@QWCy+tyupo?*#vn4>AwKU&Z+dKzG7==}+VX(lqX-|u?mn)7bNC>3 z<(7uyG{lA2gSEaX%q#4d4y0PI7PJl9MI) zmc?@Yz{0SkeST+1DPu&d@pVOV~e z=)StPrW0J8J6s!yxugj!+8e;=1-#j4wHGVE3*PMyg>)q7lGh6EX+sQH_4*L|TDb#K zrtPW?+|PDCydI7_cZP#ECiottXXX9pPw0?PO62oj+owLeg_Gp3um8R8csaaA!RzK9 z+n_8luIjIoB@vy@TD`>*`z^&$3CN#%PO}Ak-NrPgn%|t>N_2gSM*Z>R-#JM?^0ZKz zZbp^yYK#x%EQe)5wt)a1RFxxynGPANrIxCwz6GP=6zDoh014Ls+|q{QxlzJtB3N+2#|m%X|6@)BYYa z$N`--cwGfVsu`D>HFtWw)?9Qx5Pw+$Q~L%$T=F9Q7`lmXM&1RB1t?v~G2_nO_X@bl zw?q%Js!_Wo2UX>F5H(Hl7f{9n&mjKqufvfA%Qs=LQQ<-^DGadQh$o~O{dP?_^` z&BaBvu#XklQZf9z=8?E`Bt+mJBz^+#3POWh88I^*%Y>S;S+P{fPm*O^tEWhV`(c( zdiFGJ5eL3LXIV?>edm6tz6VQ5kYqG-8gx7fCGYBJkiRC6xb}6J*XZ??gM%|BZ<|^M z);8A@@Ox?y>Llk3G8ask*J{>%re|&T_V?O}2Yhhi3S7UL(b$-rIJJqyarJ@%bdZp^ z4&qJtSB{E;)`>Ht6yMT+>px70RN;RF;0O0j#iW$pb<$~gm}!@DD7lZBEzzZ4)i#tm){8t??ORnoE#)^Q?|71P4x59O07p@YkNUS%_n#~ymBRNv`e z49Xd{Z#z+LUvO%C^baV_$AL(Dj{~n~&<~S0UtxpQo9OC9M7zw|hk+Ga_8532+H?;2 zSjK5(@q>j~DSlE6w~xlt?7@i}e{AL;@D;ay99d zTo*`zs9hT?Mr>eHyB0W0moR(u7{ZrL#KuDm-a~h3S$B}Q_6K83&^0##FiuMLCIun{ z46E<0glskwnk1%=4$J;>f{1tu#90mw@76LXLXorl2trL}M=P%n z}Ri*0o)UUvp23joGOrZKtA|Q?fwnwdz{N-!c5d1h#S19~t1JS-UzBz7dLixGZ zn*aA)VuqG>CFAg^+B-1&&1cffM<_SYJd4{V%J~Og29ds1F9d) zXXm+>CJZoC_H0_H{(f&KV9EGagmC`WGkl z3j0tB;-a-l30>WUmyO6pdmgH_7awj|%1{f77Cf7$XQ>3^6(=U6EK z?dV(FeKMS#omZ$g^g(*_E)uGC4<6r#Sa+cxRL>KQ$9LcBptC3uuX!9rD~nXoa0${& z^EW1-8fIGom*Bmho2d-0#)9{moif z8Y5FW9)k4bFAK&?eN2r;B;CXIXQ8|)gr$!*b->J_`ghV#07tJv>#+SAai^n;&iYDO z*>erYG9O6hWoBpF9v6XUPFX;IP53cK5CHl2I)UiN6hVxLN1QRvmtjS-Y8XW^z54k}R4Gr;Iv$BKuG|=FDc@;DHe0rum@G*8evSM-HIw7$6~0ApiJP~A z@|Ie1AO5mx#YS%vclZbhgiE0(qSlKM7wtwwOPJ$hiUxzqSBs<+g7HCC?==$abRWx` zwS_RK16cm)gAkkMaAJ^MAkmbp6P`?BuH_>u8fei(jr^tC3uuD14aJkI2Hs%F7cu+~Kix#A7rzl4V=xW=-p z0eB<|sw#n^c8Zkea#2rZ+R;dGjm^rIIAd%(JBX(u0?hGb+kR#E(@UbZ1}2`4w3jN0 zef3LD3CIRp<9UqGZpt#A>+y8#rrX7bM!B5wgavu9j2%{$CW)<9AJIqXz>TjRA^8)I zTdI9O&@N0Q&L1F=uVK2^@DPQT?`V{a`AnFG5eL~2oRgGw%B?v$w38R?pRS>+`#~}X z8+a)tksam0c$^z`^$cuZBI^SYW8pKc!S7$a&1@t_#wkFj&Vy6|bG9_6i2H>}b8xL6 z*EIN4>S*>_K+P)LsOqmnd$-ryPSCi**tm1=`_>iCXoTVU!~=h2U?2FSD0!)#SC9m10{|m^bQYumI3S<(l(|8-z#d4sX;grny&_ahk;iR z6(7hLuePX=JYH}X&mPRdncg0@rTbT->w9ZN&f}NM9lx3h3UXG_m@{$f6m#fIy+OcH z9=BXOP3r&&j~!f8c=*8x0=Lbzhau+CnO8EizNe@Ej{Vm$dJCuy$E=SOWA1+}zq>PU zo-3S~(MfO`0!Z>L(Bl$gTm+2=qWB&U#+*xZQR7WXYhSyx7VU$>?RVSzZ~}gW3Cp^* z&YGQ?YGJRa*eJ$_?os04;279`QTy??;W}#l$29PX)t?)3tbr?%s^Dt-F!L%L% zgVt3X-}Km5?`zwVh7w-4-F8%rjIeDGM4$=bK)Seii+g!`IshVx z`~Ax>DQB_Ja>&rKx0FmPE!*^4)Lo~C^Q`gW<{kYp--qq0I?LdRcM6r4v?wIAoLZVZ2&4)WgGvs%gQ*EM3*1 zKfCrvGvSLDY@(5hI(CzxTGbWSE`iXYCYI(zMHXoD@KM=6W-4@im3+n8@bBKGMN97 z9|NErt&canOzeyQ`QC~IJu@$@2lBa9sM`9sqOSrk9qr9Pvz{@%UG1UJ7#-A8Gqj~? z5MbC{Rk<64P(L88=(1KFMPp6s9ni4@Rdzv-+SdE0_NS>3zJ84~>IeDT%WH@lxF&gT z+u!%)e1~~r5Qi-8zY~u|sot$&49ft3*CB=UQJ);T_R~l88Ol{8Tm!oTR=>0qvvYr4 zqs^8RRon?u+TGSe9^lVl#WN;wG&#lWtDr8|(Vag9a29ovx;T30L(ULW=#&BI zK)aREW@4mZE57IF&;hEjeU`YlK&BM2Dwc?)fHpuFLGKlOC*KiDZw`xA4l4R5Oc zI${X`inUeP&1@IKW*aF4)f49dmi#~{47R@jC&W&N@QwB%K($ik)-46Nzc zxbC7bBmVwHa{k#f2a740&(Drei_BnPi}Y13f6J=F$*sR%=P7VwfBW`rr`H)Sy8!`IhX0L6 z=Hu+9n-FCV^%*?V|AR+l$IKvg1_q=X{{((~?~~%jE8_l}8l_QdEVl9Kd&c zm3@xB`L(!b0xZY&;{2v+u*|J?wbE*(Y-yP+c=mLSoAtWvPB(MeDSD?b^`32r1)5!V zI?wffWVc%(|G;9`;}5LM=+DN;svG&qKe(P}kqI{YhTCON)#}Lz-YZ>vfMC4OcK6N- zZMCgT=?pgb)0@V4IOOZiXasRAs&n_*SUb>cZkbsTN;#go%XxZx`?ozooJ73R#CRmY zeHm(pJe@-Ki#hc9XYCjtrhPhtyUQgN329$a4U?mH*yh!FZRn-M*aMU3?BZvTC~#R~YgQp&R0tfU8LfVWJ>#MToitXvyA zdPvVTQiwVUNYGNcLPw%~y5aR9Jkul9YS2ex`5ZSy-WT##HUh#(sb4O<9EvpPpS2~o zmXeOQ)4WBK$*UeC84g{`7Sc8`JcniAuy9T;^T z8DH(eQwlj;xQ;CJgIk9(FKWUbl5gNL3&5N083IqNEd^z3@2;+?MxxV_I5&3+-i$__ z0?<@tTQmK6uCw5i#`j4Fj1rFoSwY=~;;2($cSQy|*mukqj#Ugw1(Owi8|L6i-NdIKIa15~U(VqzbwM8;8Ftqt`$WoUbGEXNFOOgjhAcqIi z>s3p|*8|)FhupOVw&N=6WUb;h_=udK!A{P!UD%l)znF+sSL^@9+a>gFhO0Kt4h)7Q z*CoI$d0ecRP`w6<5KM_%-xpQT*{N50?yY>q5fw^zW68i2;=djPKl$f8)^tyTZ#hWy zinp?aqgvAZ_C3%F09-jPuvtOzupW%3v&U6ZZ$y&Dt);@NCF`v#*>_BGQGf%wV@WS- zw1Bw5wQ$>`^O@Do=piwd6A|$32`ygu4_!vOgBFoOfJ6`6p5B=A&%o5u9!poQ&8f;t zjrz0CvD|5gb4wVn9zE>6SKkr;JNMLx2MAWmZHFVB()HaUv*g8I*tz-zpd!N6naXpP z8LjWKA6KE@ewQ!KAw7^@*DaEUNjv3|Kyt8VlgJ@VYPo*ov+x$-e(>lxpADM?LP@Ek z^7J7Ma~DTH@dRQ252N!rJMq>4YfrZv`lDRGsKbWt9I^L|z+Ji~OsY6fX?8*OrX88e z>3WJiF$Ty-O@qv1BJhv>|6+86eC39?1rUg%mP!h8T1PX|&3;G&YZp!~uQ|(b1c>xW zPwg)g@|^(z0k6YAJG*;~uw&dse^Bmx%^r^E-1gN&0=_A;L#uDesSEnuMgRu=)jl_t z8%uyWMZeQ+sE<-W*$kiG@mw?d(}&dPNykw8Zv5SMB2y~);=vz3apBO9we!yNrOhDI zvj6aFkLAP96Lqm2c$1R|@GJ3gpV3*uOY*6KugNdftYR?3a_!tUke)Ypg!V331ZWy*ZrA}lAB3I~XBwS2D8rk6e+k0V3 z-!QO^;ndWilHomjtFr!IIS__sB95^4Pz1&*kZ+@-}w?25VM>Drf&b4DP` z>yi6@E5tuxRyvo)B#!mc6Fm_Cy8hK z;LotmVgJwFi8r%8mVBP(w|)MhGn`kJ&iMcS<@&~qgEQ(Gfa7LU-hSMF?;>#KE}z-w z`2UR@41cDb`E_jNy_{*Tf8R>4eD{*oV9Ea-w|AU<{!=_x_EJ1Eu+);=!2Ck4r}(d& z&Gj(m2f-WvfeK+@CY*Tg&dGcJz)}B44JUWRdHuc99QA6A_=~wN-3!VW>}h@zT3Q)y z)~Vh2MHM)IFs*KDEif{2RZL_>OLh7F73HQr=hwX!^YgNG!o0ah)&Zv(o;p;;CjRW1fH&bF6*2UngE&2 BBu@YU From 0c9107afffc9185f0369e0816408d4b21cf5b460 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 21:36:44 -0500 Subject: [PATCH 069/282] Fixes hostile simple mobs targeting distant mechs --- code/modules/mob/living/simple_animal/hostile/hostile.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 568998a3c6..03bf90b0f5 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -113,7 +113,11 @@ /mob/living/simple_animal/hostile/proc/ListTargets(var/dist = 7) var/list/L = hearers(src, dist) - L += mechas_list + + for (var/obj/mecha/M in mechas_list) + if (get_dist(src, M) <= dist) + L += M + return L /mob/living/simple_animal/hostile/death() From f5344e599f5db29169c144e0c0d43df2f803d533 Mon Sep 17 00:00:00 2001 From: Amunak Date: Sat, 10 Jan 2015 04:04:32 +0100 Subject: [PATCH 070/282] Adds a nicer header to the research paper prints --- code/modules/research/rdconsole.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index a29fc1dfec..7a7cd95d67 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -531,11 +531,15 @@ won't update every console in existence) but it's more of a hassle to do. Also, spawn(20) var/obj/item/weapon/paper/PR = new/obj/item/weapon/paper if( text2num(href_list["print"]) == 2) - PR.name = "research list" - PR.info = GetResearchListInfo() + PR.name = "list of researched technologies" + PR.info = "

    List of researched technologies

    " + PR.info += "by [station_name()] Research Lab at [worldtime2text()] station time

    " + PR.info += GetResearchListInfo() else - PR.name = "research levels" - PR.info = GetResearchLevelsInfo() + PR.name = "researched technology levels" + PR.info = "

    Researched technology levels

    " + PR.info += "by [station_name()] Research Lab at [worldtime2text()] station time

    " + PR.info += GetResearchLevelsInfo() PR.info_links = PR.info PR.icon_state = "paper_words" PR.loc = src.loc @@ -548,7 +552,6 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/proc/GetResearchLevelsInfo() var/dat - dat += "Current Research Levels:

    " dat += "
    " return dat - - /obj/machinery/computer/rdconsole/attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) return @@ -949,8 +941,6 @@ won't update every console in existence) but it's more of a hassle to do. Also, user << browse("Research and Development Console
    [dat]", "window=rdconsole;size=850x600") onclose(user, "rdconsole") - - /obj/machinery/computer/rdconsole/robotics name = "Robotics R&D Console" id = 2 @@ -959,4 +949,4 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/core name = "Core R&D Console" - id = 1 \ No newline at end of file + id = 1 From 59420a070bdbac616e8fd9d53dcfd7f6f2657f4b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 22:17:31 -0500 Subject: [PATCH 072/282] Fixes dorms airlock lack of sensor --- maps/exodus-1.dmm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 485152df1a..a8e83d5c20 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -854,7 +854,7 @@ "aqv" = (/obj/structure/table,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/maintenance/dormitory) "aqw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "dorm_pump"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/maintenance/dormitory) "aqx" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) -"aqy" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/dormitory) +"aqy" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "dorm_sensor"; pixel_x = 25; pixel_y = -8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/maintenance/dormitory) "aqz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) "aqA" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/crate,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine,/turf/simulated/floor/plating,/area/maintenance/evahallway) "aqB" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -5467,12 +5467,12 @@ "cbg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbh" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/research_starboard) "cbi" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/engine/engine_eva_maintenance) -"cbj" = (/obj/machinery/airlock_sensor{command = "cycle_exterior"; frequency = 1379; id_tag = "eng_eva_ext_sensor"; master_tag = "eng_eva_airlock"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/engine/engine_eva_maintenance) +"cbj" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "exterior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/engine/engine_eva_maintenance) "cbk" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_outer"; locked = 1; name = "Engineering EVA External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/airless{icon_state = "circuit"},/area/engine/engine_eva_maintenance) "cbl" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_eva_sensor"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "eng_eva_pump"},/turf/simulated/floor{dir = 9; icon_state = "floorgrimecaution"},/area/engine/engine_eva_maintenance) "cbm" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "eng_eva_pump"; tag_exterior_door = "eng_eva_outer"; frequency = 1379; id_tag = "eng_eva_airlock"; tag_interior_door = "eng_eva_inner"; name = "Engineering Airlock Console"; pixel_y = 25; req_access_txt = "13"; tag_chamber_sensor = "eng_eva_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor{dir = 5; icon_state = "floorgrimecaution"},/area/engine/engine_eva_maintenance) "cbn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "eng_eva_inner"; locked = 1; name = "Engineering EVA Internal Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/engine/engine_eva_maintenance) -"cbo" = (/obj/machinery/airlock_sensor{command = "cycle_interior"; frequency = 1379; id_tag = "eng_eva_int_sensor"; master_tag = "eng_eva_airlock"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engine/engine_eva_maintenance) +"cbo" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "eng_eva_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor{dir = 8; icon_state = "floorgrimecaution"},/area/engine/engine_eva_maintenance) "cbp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/engine/engine_eva_maintenance) "cbq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/engine/engine_eva_maintenance) "cbr" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor,/area/crew_quarters/heads/chief) From 0d87cb3d4d4d822a7344a9debc9ae98cca7b1365 Mon Sep 17 00:00:00 2001 From: Amunak Date: Sat, 10 Jan 2015 04:25:50 +0100 Subject: [PATCH 073/282] Fixes typo in engineering research description It has been there since, like, forever. --- code/modules/research/research.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 3dcd21e9bb..c7ed90f786 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -185,7 +185,7 @@ datum/tech/materials datum/tech/engineering name = "Engineering Research" - desc = "Development of new and improved engineering parts and." + desc = "Development of new and improved engineering parts." id = "engineering" datum/tech/phorontech From 2816d3c02b9c85479db00ac8de8ee46b813092d7 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Fri, 9 Jan 2015 22:27:15 -0500 Subject: [PATCH 074/282] Fixes PDA locking up after receiving a " in conversation. Long story short, the json encoding doesn't know how to handle " Adding a check specifically for it breaks other stuff, after banging my head against it for an hour this is the best means of fixing the problem without breaking and fixing a lot of other things. --- code/__HELPERS/text.dm | 9 +++++++++ code/game/objects/items/devices/PDA/PDA.dm | 1 + 2 files changed, 10 insertions(+) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index a6a87c2bd0..559c2006c6 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -42,6 +42,15 @@ index = findtext(t, char) return t +/proc/readd_quotes(var/t) + var/list/repl_chars = list(""" = "\"") + for(var/char in repl_chars) + var/index = findtext(t, char) + while(index) + t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5) + index = findtext(t, char) + return t + //Runs byond's sanitization proc along-side sanitize_simple /proc/sanitize(var/t,var/list/repl_chars = null) return html_encode(sanitize_simple(t,repl_chars)) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 3c74fd628c..2f1bc69106 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -885,6 +885,7 @@ var/global/list/obj/item/device/pda/PDAs = list() U.last_target_click = world.time var/t = input(U, "Please enter message", name, null) as text t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + t = readd_quotes(t) if (!t || !istype(P)) return if (!in_range(src, U) && loc != U) From 905a8329573d7b8834dfbf6a68289053bb973718 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 22:28:16 -0500 Subject: [PATCH 075/282] Fixed #7763 --- code/modules/power/port_gen.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 0799900909..5b188f0bca 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -79,6 +79,9 @@ display round(lastgen) and phorontank amount icon_state = initial(icon_state) handleInactive() +/obj/machinery/power/powered() + return 1 //doesn't require an external power source + /obj/machinery/power/port_gen/attack_hand(mob/user as mob) if(..()) return From 7f64d9ce1340e7a3c02b8c3b9bff01ef78d4dd69 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 22:42:52 -0500 Subject: [PATCH 076/282] Adjusts the amount of carp spawned for moderate level carp --- code/modules/events/carp_migration.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index e7c9f5a402..19e1625126 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -21,7 +21,7 @@ for(var/i = 1 to rand(3,5)) spawn_fish(landmarks_list.len) else if(severity == EVENT_LEVEL_MODERATE) - spawn_fish(landmarks_list.len) + spawn_fish(rand(10,30)) else spawn_fish(rand(1, 5)) From 1936410a91cbcdb33f3f4a2da0c96b131e732652 Mon Sep 17 00:00:00 2001 From: ginjaninja32 Date: Sat, 10 Jan 2015 04:15:55 +0000 Subject: [PATCH 077/282] Fix robot storage units dropping security borgs' taser/laser on storage, slight refactor. --- code/game/machinery/cryopod.dm | 188 ++++++++++-------- .../mob/living/silicon/robot/robot_modules.dm | 4 +- 2 files changed, 102 insertions(+), 90 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 4fc82ebf4a..3eb9fb2c41 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -277,113 +277,125 @@ if(!find_control_computer(urgent=1)) return - //Drop all items into the pod. - for(var/obj/item/W in occupant) - if(istype(W, /obj/item/device/mmi)) - if(istype(occupant, /mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = occupant - if(R.mmi == W) - del(W) - continue - occupant.drop_from_inventory(W) - W.loc = src + despawn_occupant() - if(W.contents.len) //Make sure we catch anything not handled by del() on the items. - for(var/obj/item/O in W.contents) - if(istype(O,/obj/item/weapon/storage/internal)) //Stop eating pockets, you fuck! - continue - O.loc = src +// This function can not be undone; do not call this unless you are sure +// Also make sure there is a valid control computer +/obj/machinery/cryopod/robot/despawn_occupant() + var/mob/living/silicon/robot/R = occupant + if(!istype(R)) return ..() - //Delete all items not on the preservation list. - var/list/items = src.contents - items -= occupant // Don't delete the occupant - items -= announce // or the autosay radio. + del(R.mmi) + for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc + for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags + O.loc = R + del(I) + del(R.module) - for(var/obj/item/W in items) + return ..() - var/preserve = null - for(var/T in preserve_items) - if(istype(W,T)) - preserve = 1 - break +// This function can not be undone; do not call this unless you are sure +// Also make sure there is a valid control computer +/obj/machinery/cryopod/proc/despawn_occupant() + //Drop all items into the pod. + for(var/obj/item/W in occupant) + occupant.drop_from_inventory(W) + W.loc = src - if(!preserve) - del(W) - else - if(control_computer && control_computer.allow_items) - control_computer.frozen_items += W - W.loc = null - else - W.loc = src.loc + if(W.contents.len) //Make sure we catch anything not handled by del() on the items. + for(var/obj/item/O in W.contents) + if(istype(O,/obj/item/weapon/storage/internal)) //Stop eating pockets, you fuck! + continue + O.loc = src - //Update any existing objectives involving this mob. - for(var/datum/objective/O in all_objectives) - // We don't want revs to get objectives that aren't for heads of staff. Letting - // them win or lose based on cryo is silly so we remove the objective. - if(istype(O,/datum/objective/mutiny) && O.target == occupant.mind) - del(O) - else if(O.target && istype(O.target,/datum/mind)) - if(O.target == occupant.mind) - if(O.owner && O.owner.current) - O.owner.current << "\red You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]..." - O.target = null - spawn(1) //This should ideally fire after the occupant is deleted. - if(!O) return - O.find_target() - if(!(O.target)) - all_objectives -= O - O.owner.objectives -= O - del(O) + //Delete all items not on the preservation list. + var/list/items = src.contents + items -= occupant // Don't delete the occupant + items -= announce // or the autosay radio. - //Handle job slot/tater cleanup. - var/job = occupant.mind.assigned_role + for(var/obj/item/W in items) - job_master.FreeRole(job) + var/preserve = null + for(var/T in preserve_items) + if(istype(W,T)) + preserve = 1 + break - if(occupant.mind.objectives.len) - del(occupant.mind.objectives) - occupant.mind.special_role = null + if(!preserve) + del(W) + else + if(control_computer && control_computer.allow_items) + control_computer.frozen_items += W + W.loc = null else - if(ticker.mode.name == "AutoTraitor") - var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode - current_mode.possible_traitors.Remove(occupant) + W.loc = src.loc - // Delete them from datacore. + //Update any existing objectives involving this mob. + for(var/datum/objective/O in all_objectives) + // We don't want revs to get objectives that aren't for heads of staff. Letting + // them win or lose based on cryo is silly so we remove the objective. + if(istype(O,/datum/objective/mutiny) && O.target == occupant.mind) + del(O) + else if(O.target && istype(O.target,/datum/mind)) + if(O.target == occupant.mind) + if(O.owner && O.owner.current) + O.owner.current << "\red You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]..." + O.target = null + spawn(1) //This should ideally fire after the occupant is deleted. + if(!O) return + O.find_target() + if(!(O.target)) + all_objectives -= O + O.owner.objectives -= O + del(O) - if(PDA_Manifest.len) - PDA_Manifest.Cut() - for(var/datum/data/record/R in data_core.medical) - if ((R.fields["name"] == occupant.real_name)) - del(R) - for(var/datum/data/record/T in data_core.security) - if ((T.fields["name"] == occupant.real_name)) - del(T) - for(var/datum/data/record/G in data_core.general) - if ((G.fields["name"] == occupant.real_name)) - del(G) + //Handle job slot/tater cleanup. + var/job = occupant.mind.assigned_role - if(orient_right) - icon_state = "[base_icon_state]-r" - else - icon_state = base_icon_state + job_master.FreeRole(job) - //TODO: Check objectives/mode, update new targets if this mob is the target, spawn new antags? + if(occupant.mind.objectives.len) + del(occupant.mind.objectives) + occupant.mind.special_role = null + else + if(ticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + current_mode.possible_traitors.Remove(occupant) - //This should guarantee that ghosts don't spawn. - occupant.ckey = null + // Delete them from datacore. - //Make an announcement and log the person entering storage. - control_computer.frozen_crew += "[occupant.real_name]" + if(PDA_Manifest.len) + PDA_Manifest.Cut() + for(var/datum/data/record/R in data_core.medical) + if ((R.fields["name"] == occupant.real_name)) + del(R) + for(var/datum/data/record/T in data_core.security) + if ((T.fields["name"] == occupant.real_name)) + del(T) + for(var/datum/data/record/G in data_core.general) + if ((G.fields["name"] == occupant.real_name)) + del(G) - announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]") - visible_message("\blue \The [src] hums and hisses as it moves [occupant.real_name] into storage.", 3) + if(orient_right) + icon_state = "[base_icon_state]-r" + else + icon_state = base_icon_state - // Delete the mob. - del(occupant) - occupant = null - name = initial(name) + //TODO: Check objectives/mode, update new targets if this mob is the target, spawn new antags? - return + //This should guarantee that ghosts don't spawn. + occupant.ckey = null + + //Make an announcement and log the person entering storage. + control_computer.frozen_crew += "[occupant.real_name]" + + announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]") + visible_message("\blue \The [src] hums and hisses as it moves [occupant.real_name] into storage.", 3) + + // Delete the mob. + del(occupant) + occupant = null + name = initial(name) /obj/machinery/cryopod/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index e8fa3727ce..0590387879 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -428,9 +428,9 @@ //checks whether this item is a module of the robot it is located in. /obj/item/proc/is_robot_module() - if (!istype(src.loc, /mob/living/silicon/robot)) + if (!istype(src.loc.loc, /mob/living/silicon/robot)) return 0 - var/mob/living/silicon/robot/R = src.loc + var/mob/living/silicon/robot/R = src.loc.loc return (src in R.module.modules) From 9b5eded546d6c274540a78424356115c4b44c7cb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 9 Jan 2015 23:30:32 -0500 Subject: [PATCH 078/282] Fixes major virus event generating lesser viruses, makes lesser viruses actually less severe Makes more of a distinction between lesser and greater viruses by restricting lesser viruses to only have the "Nil" syndrome for stage 4. --- code/modules/events/viral_infection.dm | 20 ++++++++++++++++++-- code/modules/virus2/disease2.dm | 5 ++++- code/modules/virus2/effect.dm | 19 ++++++++++++++++--- code/modules/virus2/helpers.dm | 11 +++++++---- 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 6e40d38d33..87c55460ce 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -1,11 +1,27 @@ +datum/event/viral_infection + var/list/viruses = list() + datum/event/viral_infection/setup() announceWhen = rand(0, 3000) endWhen = announceWhen + 1 + + //generate 1-3 viruses. This way there's an upper limit on how many individual diseases need to be cured if many people are initially infected + var/num_diseases = rand(1,3) + for (var/i=0, i < num_diseases, i++) + var/datum/disease2/disease/D = new /datum/disease2/disease + + var/greater = 0 //whether the disease is of the greater or lesser variety + if (severity >= EVENT_LEVEL_MAJOR && prob(50)) + greater = 1 + D.makerandom(greater) + viruses += D datum/event/viral_infection/announce() command_announcement.Announce("Confirmed outbreak of level five biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') datum/event/viral_infection/start() + if(!viruses.len) return + var/list/candidates = list() //list of candidate keys for(var/mob/living/carbon/human/G in player_list) if(G.client && G.stat != DEAD) @@ -13,9 +29,9 @@ datum/event/viral_infection/start() if(!candidates.len) return candidates = shuffle(candidates)//Incorporating Donkie's list shuffle - severity = severity == 1 ? 1 : severity - 1 + severity = max(EVENT_LEVEL_MUNDANE, severity - 1) var/actual_severity = severity * rand(1, 3) while(actual_severity > 0 && candidates.len) - infect_mob_random_lesser(candidates[1]) + infect_mob(candidates[1], pick(viruses)) candidates.Remove(candidates[1]) actual_severity-- diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 977c9ab9ca..09b6c80ee6 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -26,7 +26,10 @@ holder.getrandomeffect() effects += holder uniqueID = rand(0,10000) - infectionchance = rand(60,90) + if (greater) + infectionchance = rand(60,90) + else + infectionchance = 1 antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 3ebeefeba8..82edfb8049 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -56,6 +56,13 @@ ////////////////////////STAGE 4///////////////////////////////// +/datum/disease2/effect/nothing + name = "Nil Syndrome" + stage = 4 + badness = 1 + activate() + return + /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" stage = 4 @@ -67,12 +74,14 @@ name = "Radian's Syndrome" stage = 4 maxm = 3 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.radiation += (2*multiplier) /datum/disease2/effect/deaf name = "Dead Ear Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.ear_deaf += 20 @@ -101,12 +110,14 @@ /datum/disease2/effect/killertoxins name = "Toxification Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.adjustToxLoss(15*multiplier) /datum/disease2/effect/dna name = "Reverse Pattern Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) mob.bodytemperature = max(mob.bodytemperature, 350) scramble(0,mob,10) @@ -115,6 +126,7 @@ /datum/disease2/effect/organs name = "Shutdown Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -140,6 +152,7 @@ /datum/disease2/effect/immortal name = "Longevity Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -157,11 +170,10 @@ var/backlash_amt = 5*multiplier mob.apply_damages(backlash_amt,backlash_amt,backlash_amt,backlash_amt) -////////////////////////STAGE 3///////////////////////////////// - /datum/disease2/effect/bones name = "Fragile Bones Syndrome" stage = 4 + badness = 2 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob @@ -174,6 +186,8 @@ for (var/datum/organ/external/E in H.organs) E.min_broken_damage = initial(E.min_broken_damage) +////////////////////////STAGE 3///////////////////////////////// + /datum/disease2/effect/toxins name = "Hyperacidity" stage = 3 @@ -239,7 +253,6 @@ activate(var/mob/living/carbon/mob,var/multiplier) mob.apply_damage(2, CLONE) - /datum/disease2/effect/groan name = "Groaning Syndrome" stage = 3 diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 6118dade42..e3da0e5614 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -96,20 +96,23 @@ proc/airborne_can_reach(turf/source, turf/target) M.virus2["[D.uniqueID]"] = D M.hud_updateflag |= 1 << STATUS_HUD +//Infects mob M with disease D +/proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D) + infect_virus2(M,D,1) + M.hud_updateflag |= 1 << STATUS_HUD + //Infects mob M with random lesser disease, if he doesn't have one /proc/infect_mob_random_lesser(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease D.makerandom() D.infectionchance = 1 - infect_virus2(M,D,1) - M.hud_updateflag |= 1 << STATUS_HUD + infect_mob(M, D) //Infects mob M with random greated disease, if he doesn't have one /proc/infect_mob_random_greater(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease D.makerandom(1) - infect_virus2(M,D,1) - M.hud_updateflag |= 1 << STATUS_HUD + infect_mob(M, D) //Fancy prob() function. /proc/dprob(var/p) From 3a4fca8ed3eaa7d96db5d14458f2d09444ca4a5f Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 01:26:49 -0500 Subject: [PATCH 079/282] Gridcheck event now only announces sometimes Requested by Ravensdale --- code/modules/events/grid_check.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/events/grid_check.dm b/code/modules/events/grid_check.dm index c485827efb..40a38e2383 100644 --- a/code/modules/events/grid_check.dm +++ b/code/modules/events/grid_check.dm @@ -8,7 +8,8 @@ power_failure(0) /datum/event/grid_check/announce() - command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Automated Grid Check", new_sound = 'sound/AI/poweroff.ogg') + if (prob(30)) + command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Automated Grid Check", new_sound = 'sound/AI/poweroff.ogg') /datum/event/grid_check/end() power_restore() From b0440b9c28d7af2067742da6df6e2d9d53706927 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 01:27:18 -0500 Subject: [PATCH 080/282] Adjusts moderate level event weightings --- code/modules/events/event_container.dm | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 4f2675a512..5ac880185f 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -139,22 +139,22 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT /datum/event_container/moderate severity = EVENT_LEVEL_MODERATE available_events = list( - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Nothing", /datum/event/nothing, 10), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Carp School", /datum/event/carp_migration, 20, list(ASSIGNMENT_SECURITY = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Rogue Drones", /datum/event/rogue_drone, 5, list(ASSIGNMENT_ENGINEER = 25, ASSIGNMENT_SECURITY = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space vines", /datum/event/spacevine, 10, list(ASSIGNMENT_ENGINEER = 5)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meteor Shower", /datum/event/meteor_shower, 0, list(ASSIGNMENT_ENGINEER = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 50, list(ASSIGNMENT_AI = 25, ASSIGNMENT_SECURITY = 25)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, 0, list(ASSIGNMENT_SECURITY = 50)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 25, list(ASSIGNMENT_ENGINEER = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 15, list(ASSIGNMENT_ENGINEER = 5, ASSIGNMENT_JANITOR = 15)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 10), 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 10)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 5, list(ASSIGNMENT_SECURITY = 5), 1), - new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 2.5,list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), - new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 25, ASSIGNMENT_CYBORG = 25, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_SCIENTIST = 5)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Nothing", /datum/event/nothing, 1230), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Carp School", /datum/event/carp_migration, 100, list(ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_SECURITY = 20), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Rogue Drones", /datum/event/rogue_drone, 20, list(ASSIGNMENT_SECURITY = 20)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space vines", /datum/event/spacevine, 200, list(ASSIGNMENT_ENGINEER = 10)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meteor Shower", /datum/event/meteor_shower, 0, list(ASSIGNMENT_ENGINEER = 20)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 500, list(ASSIGNMENT_AI = 150, ASSIGNMENT_SECURITY = 120)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, 0, list(ASSIGNMENT_SECURITY = 100)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 200, list(ASSIGNMENT_ENGINEER = 60)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 250, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_JANITOR = 150)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 50), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Appendicitis", /datum/event/spontaneous_appendicitis, 0, list(ASSIGNMENT_MEDICAL = 10), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 150)), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 100, list(ASSIGNMENT_SECURITY = 30), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 50, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)), + new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 2.5, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), + new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5), ) /datum/event_container/major From 1c5ca01daeeb7f5f7ce8b1bdcdefb69e2940ecb9 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 02:30:27 -0500 Subject: [PATCH 081/282] Restricts Gibbingtons, Suicide, and Monkism syndromes Restricts Gibbingtons, Suicide, and Monkism syndromes from even greater diseases. Admins can still generate diseases with these syndromes through secrets. Fixes virus events potentially having people share the same virus datum. --- code/game/gamemodes/epidemic/epidemic.dm | 2 +- code/modules/admin/admin_verbs.dm | 16 +++++++++------- code/modules/events/viral_infection.dm | 9 +++++---- code/modules/virus2/disease2.dm | 19 ++++++++++--------- code/modules/virus2/effect.dm | 8 ++++---- code/modules/virus2/helpers.dm | 5 ++--- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/code/game/gamemodes/epidemic/epidemic.dm b/code/game/gamemodes/epidemic/epidemic.dm index 4a0712c712..9964a37813 100644 --- a/code/game/gamemodes/epidemic/epidemic.dm +++ b/code/game/gamemodes/epidemic/epidemic.dm @@ -113,7 +113,7 @@ world.Reboot() var/datum/disease2/disease/lethal = new - lethal.makerandom(1) + lethal.makerandom(3) lethal.infectionchance = 5 // the more doctors, the more will be infected diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8d9e62cdcf..6548454789 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -608,12 +608,14 @@ var/list/admin_verbs_mentor = list( var/datum/disease2/disease/D = new /datum/disease2/disease() - var/greater = ((input("Is this a lesser or greater disease?", "Give Disease") in list("Lesser", "Greater")) == "Greater") - - D.makerandom(greater) - if (!greater) - D.infectionchance = 1 + var/severity = 1 + var/greater = input("Is this a lesser, greater, or badmin disease?", "Give Disease") in list("Lesser", "Greater", "Badmin") + switch(greater) + if ("Lesser") severity = 1 + if ("Greater") severity = 2 + if ("Badmin") severity = 99 + D.makerandom(severity) D.infectionchance = input("How virulent is this disease? (1-100)", "Give Disease", D.infectionchance) as num if(istype(T,/mob/living/carbon/human)) @@ -626,8 +628,8 @@ var/list/admin_verbs_mentor = list( infect_virus2(T,D,1) feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - log_admin("[key_name(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].") - message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].", 1) + log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].") + message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].", 1) /client/proc/make_sound(var/obj/O in world) // -- TLE set category = "Special Verbs" diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 87c55460ce..29daed2773 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -10,10 +10,10 @@ datum/event/viral_infection/setup() for (var/i=0, i < num_diseases, i++) var/datum/disease2/disease/D = new /datum/disease2/disease - var/greater = 0 //whether the disease is of the greater or lesser variety + var/strength = 1 //whether the disease is of the greater or lesser variety if (severity >= EVENT_LEVEL_MAJOR && prob(50)) - greater = 1 - D.makerandom(greater) + strength = 2 + D.makerandom(strength) viruses += D datum/event/viral_infection/announce() @@ -32,6 +32,7 @@ datum/event/viral_infection/start() severity = max(EVENT_LEVEL_MUNDANE, severity - 1) var/actual_severity = severity * rand(1, 3) while(actual_severity > 0 && candidates.len) - infect_mob(candidates[1], pick(viruses)) + var/datum/disease2/disease/D = pick(viruses) + infect_mob(candidates[1], D.getcopy()) candidates.Remove(candidates[1]) actual_severity-- diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 09b6c80ee6..c7a9b8e375 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -16,20 +16,21 @@ uniqueID = rand(0,10000) ..() -/datum/disease2/disease/proc/makerandom(var/greater=0) +/datum/disease2/disease/proc/makerandom(var/severity=1) for(var/i=1 ; i <= max_stage ; i++ ) var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder holder.stage = i - if(greater) - holder.getrandomeffect(2) - else - holder.getrandomeffect() + holder.getrandomeffect(severity) effects += holder uniqueID = rand(0,10000) - if (greater) - infectionchance = rand(60,90) - else - infectionchance = 1 + switch(severity) + if(1) + infectionchance = 1 + if(2) + infectionchance = rand(10,50) + else + infectionchance = rand(60,90) + antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 82edfb8049..22d0a49e0a 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -33,7 +33,7 @@ multiplier = rand(1,effect.maxm) /datum/disease2/effectholder/proc/majormutate() - getrandomeffect(2) + getrandomeffect(3) //////////////////////////////////////////////////////////////// ////////////////////////EFFECTS///////////////////////////////// @@ -66,7 +66,7 @@ /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.gib() @@ -88,7 +88,7 @@ /datum/disease2/effect/monkey name = "Monkism Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob,/mob/living/carbon/human)) var/mob/living/carbon/human/h = mob @@ -97,7 +97,7 @@ /datum/disease2/effect/suicide name = "Suicidal Syndrome" stage = 4 - badness = 2 + badness = 3 activate(var/mob/living/carbon/mob,var/multiplier) mob.suiciding = 1 //instead of killing them instantly, just put them at -175 health and let 'em gasp for a while diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index e3da0e5614..4ef8e3bbf4 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -104,14 +104,13 @@ proc/airborne_can_reach(turf/source, turf/target) //Infects mob M with random lesser disease, if he doesn't have one /proc/infect_mob_random_lesser(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease - D.makerandom() - D.infectionchance = 1 + D.makerandom(1) infect_mob(M, D) //Infects mob M with random greated disease, if he doesn't have one /proc/infect_mob_random_greater(var/mob/living/carbon/M) var/datum/disease2/disease/D = new /datum/disease2/disease - D.makerandom(1) + D.makerandom(2) infect_mob(M, D) //Fancy prob() function. From 654769016e35fb94e3d866e93d5e1953fdc7c434 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 03:18:52 -0500 Subject: [PATCH 082/282] Fixes virus events failing because of lack of compatible species --- code/modules/virus2/helpers.dm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 4ef8e3bbf4..8a744be85f 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -73,15 +73,18 @@ proc/airborne_can_reach(turf/source, turf/target) if(M.reagents.has_reagent("spaceacillin")) return - if(istype(M,/mob/living/carbon/monkey)) - var/mob/living/carbon/monkey/chimp = M - if (!(chimp.greaterform in disease.affected_species)) - return + if(!disease.affected_species.len) + return - if(istype(M,/mob/living/carbon/human)) - var/mob/living/carbon/human/chump = M - if (!(chump.species.name in disease.affected_species)) - return + if(!istype(M,/mob/living/carbon)) + return + + var/mob/living/carbon/C = M + if (!(C.species.name in disease.affected_species)) + if (forced) + disease.affected_species[1] = C.species.name + else + return //not compatible with this species // log_debug("Infecting [M]") From cf0c0c29bbb2bd912d4418aea0977462dceca999 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 11:42:52 -0500 Subject: [PATCH 083/282] Randomizes carp spawning locations --- code/modules/events/carp_migration.dm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index 19e1625126..16d623d3da 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -18,19 +18,27 @@ /datum/event/carp_migration/start() if(severity == EVENT_LEVEL_MAJOR) - for(var/i = 1 to rand(3,5)) - spawn_fish(landmarks_list.len) + spawn_fish(landmarks_list.len) else if(severity == EVENT_LEVEL_MODERATE) - spawn_fish(rand(10,30)) + spawn_fish(rand(4, 6)) //12 to 30 carp, in small groups else - spawn_fish(rand(1, 5)) + spawn_fish(rand(1, 3), 1, 2) //1 to 6 carp, alone or in pairs + +/datum/event/carp_migration/proc/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) + var/list/spawn_locations = list() -/datum/event/carp_migration/proc/spawn_fish(var/limit) for(var/obj/effect/landmark/C in landmarks_list) if(C.name == "carpspawn") - spawned_carp.Add(new /mob/living/simple_animal/hostile/carp(C.loc)) - if(spawned_carp.len >= limit) - return + spawn_locations.Add(C.loc) + spawn_locations = shuffle(spawn_locations) + num_groups = min(num_groups, spawn_locations.len) + + var/i = 1 + while (i <= num_groups) + var/group_size = rand(group_size_min, group_size_max) + for (var/j = 1, j <= group_size, j++) + spawned_carp.Add(new /mob/living/simple_animal/hostile/carp(spawn_locations[i])) + i++ /datum/event/carp_migration/end() for(var/mob/living/simple_animal/hostile/carp/C in spawned_carp) From 8ac0450c0162b9fbaeb2f8d02d2d402f1365d38d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:26:12 -0500 Subject: [PATCH 084/282] Sets chance_maxm for several disease effects Also lengthens the time to get from stage 1 to stage 2 --- code/modules/events/viral_infection.dm | 13 +++++++++++-- code/modules/virus2/disease2.dm | 2 +- code/modules/virus2/effect.dm | 15 ++++++++++----- code/modules/virus2/helpers.dm | 6 +++--- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 29daed2773..55dbe2b823 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -11,13 +11,22 @@ datum/event/viral_infection/setup() var/datum/disease2/disease/D = new /datum/disease2/disease var/strength = 1 //whether the disease is of the greater or lesser variety - if (severity >= EVENT_LEVEL_MAJOR && prob(50)) + if (severity >= EVENT_LEVEL_MAJOR && prob(75)) strength = 2 D.makerandom(strength) viruses += D datum/event/viral_infection/announce() - command_announcement.Announce("Confirmed outbreak of level five biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') + var/level + if (severity == EVENT_LEVEL_MUNDANE) + return + else if (severity == EVENT_LEVEL_MODERATE) + level = pick("one", "two", "three", "four") + else + level = "five" + + if (severity == EVENT_LEVEL_MAJOR || prob(60)) + command_announcement.Announce("Confirmed outbreak of level [level] biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg') datum/event/viral_infection/start() if(!viruses.len) return diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index c7a9b8e375..a68bafed7c 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -80,7 +80,7 @@ clicks += 10 //Moving to the next stage - if(clicks > stage*100 && prob(10)) + if(clicks > max(stage*100, 200) && prob(10)) if(stage == max_stage) src.cure(mob) mob.antibodies |= src.antigen diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 22d0a49e0a..c79db488a8 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -40,7 +40,7 @@ //////////////////////////////////////////////////////////////// /datum/disease2/effect - var/chance_maxm = 50 + var/chance_maxm = 50 //note that disease effects only proc once every 3 ticks for humans var/name = "Blanking effect" var/stage = 4 var/maxm = 1 @@ -60,8 +60,7 @@ name = "Nil Syndrome" stage = 4 badness = 1 - activate() - return + chance_maxm = 0 /datum/disease2/effect/gibbingtons name = "Gibbingtons Syndrome" @@ -256,6 +255,7 @@ /datum/disease2/effect/groan name = "Groaning Syndrome" stage = 3 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*groan") ////////////////////////STAGE 2///////////////////////////////// @@ -263,6 +263,7 @@ /datum/disease2/effect/scream name = "Loudness Syndrome" stage = 2 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*scream") @@ -275,6 +276,7 @@ /datum/disease2/effect/sleepy name = "Resting Syndrome" stage = 2 + chance_maxm = 15 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*collapse") @@ -301,6 +303,7 @@ /datum/disease2/effect/fridge name = "Refridgerator Syndrome" stage = 2 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*shiver") @@ -346,17 +349,19 @@ name = "Flemmingtons" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob << "\red Mucous runs down the back of your throat." + mob << "Mucous runs down the back of your throat." /datum/disease2/effect/drool name = "Saliva Effect" stage = 1 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*drool") /datum/disease2/effect/twitch name = "Twitcher" stage = 1 + chance_maxm = 25 activate(var/mob/living/carbon/mob,var/multiplier) mob.say("*twitch") @@ -364,4 +369,4 @@ name = "Headache" stage = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob << " Your head hurts a bit" + mob << "Your head hurts a bit." diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 8a744be85f..2c4e1e823c 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -73,12 +73,12 @@ proc/airborne_can_reach(turf/source, turf/target) if(M.reagents.has_reagent("spaceacillin")) return - if(!disease.affected_species.len) - return - if(!istype(M,/mob/living/carbon)) return + if(!disease.affected_species.len) + return + var/mob/living/carbon/C = M if (!(C.species.name in disease.affected_species)) if (forced) From d61c808fef5f1254ee5ed6afb3f6bf3f07efb4b9 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:29:35 -0500 Subject: [PATCH 085/282] Cleans up infect_virus2() typecheck --- code/modules/virus2/helpers.dm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 2c4e1e823c..927078b062 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -72,17 +72,13 @@ proc/airborne_can_reach(turf/source, turf/target) return if(M.reagents.has_reagent("spaceacillin")) return - - if(!istype(M,/mob/living/carbon)) - return - + if(!disease.affected_species.len) return - - var/mob/living/carbon/C = M - if (!(C.species.name in disease.affected_species)) + + if (!(M.species.name in disease.affected_species)) if (forced) - disease.affected_species[1] = C.species.name + disease.affected_species[1] = M.species.name else return //not compatible with this species From e49a3a86aed66023c5afd9e85e4f427ec5ebef04 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 12:43:19 -0500 Subject: [PATCH 086/282] Delays events by 15 minutes on crew autotransfer --- code/game/machinery/computer/communications.dm | 10 ++++++++-- code/modules/events/event_manager.dm | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index f187957f5b..5285235fbf 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -496,8 +496,14 @@ return emergency_shuttle.call_transfer() - log_game("[key_name(user)] has called the shuttle.") - message_admins("[key_name_admin(user)] has called the shuttle.", 1) + + //delay events in case of an autotransfer + if (isnull(user)) + event_manager.delay_events(EVENT_LEVEL_MODERATE, 9000) //15 minutes + event_manager.delay_events(EVENT_LEVEL_MAJOR, 9000) + + log_game("[user? key_name(user) : "Autotransfer"] has called the shuttle.") + message_admins("[user? key_name_admin(user) : "Autotransfer"] has called the shuttle.", 1) return diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 1ef4d22e91..d6d571e9f0 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -45,6 +45,10 @@ log_debug("Event '[EM.name]' has completed at [worldtime2text()].") +/datum/event_manager/proc/delay_events(var/container, var/delay) + var/list/datum/event_container/EC = event_containers[container] + EC.next_event_time += delay + /datum/event_manager/proc/Interact(var/mob/living/user) var/html = GetInteractWindow() From 03e95ecbcf4f766efbeb546a62b56494298d0c9a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 10 Jan 2015 13:29:19 -0500 Subject: [PATCH 087/282] Fixes UI event weighting display --- code/modules/events/event_manager.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index d6d571e9f0..4be0e83e97 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -45,8 +45,8 @@ log_debug("Event '[EM.name]' has completed at [worldtime2text()].") -/datum/event_manager/proc/delay_events(var/container, var/delay) - var/list/datum/event_container/EC = event_containers[container] +/datum/event_manager/proc/delay_events(var/severity, var/delay) + var/list/datum/event_container/EC = event_containers[severity] EC.next_event_time += delay /datum/event_manager/proc/Interact(var/mob/living/user) @@ -96,7 +96,7 @@ html += "[EM.max_weight]" html += "[EM.one_shot]" html += "[EM.enabled]" - html += "[EM.get_weight()]" + html += "[EM.get_weight(number_active_with_role())]" html += "Remove" html += "" html += "" From 66ab6bffba6eb843e7dde7c96660082aacacf5dc Mon Sep 17 00:00:00 2001 From: sabiram Date: Sat, 10 Jan 2015 22:55:29 -0500 Subject: [PATCH 088/282] Adds my approved custom item (baystation12.net/forums/viewtopic.php?p=255276) to the common loadout pool. --- code/modules/client/preferences_gear.dm | 6 ++++++ code/modules/clothing/under/miscellaneous.dm | 7 +++++++ icons/mob/uniform.dmi | Bin 255670 -> 256681 bytes icons/obj/clothing/uniforms.dmi | Bin 58326 -> 58633 bytes 4 files changed, 13 insertions(+) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3e8c8e3a3c..ef812c3782 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -288,6 +288,12 @@ var/global/list/gear_datums = list() slot = slot_w_uniform cost = 3 +/datum/gear/purplejumpskirt + display_name = "jumpskirt, purple" + path = /obj/item/clothing/under/purplejumpskirt + slot = slot_w_uniform + cost = 2 + /datum/gear/skirt_blue display_name = "plaid skirt, blue" path = /obj/item/clothing/under/dress/plaid_blue diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 6daa904453..af03523468 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -400,6 +400,13 @@ item_color = "sundress_white" body_parts_covered = UPPER_TORSO|LOWER_TORSO +/obj/item/clothing/under/purplejumpskirt + name = "purple jumpskirt" + desc = "A purple jumpskirt, Sol size 0." + icon_state = "purplejumpskirt" + item_state = "purplejumpskirt" + item_color = "purplejumpskirt" + /obj/item/clothing/under/captainformal name = "captain's formal uniform" desc = "A captain's formal-wear, for special occasions." diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index ffc7169614d59f5ec77aa86c316954534e76aac0..9d37041415566e0e13f65f6cb27de0eba40d825c 100644 GIT binary patch delta 15986 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 delta 14957 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 M07*qoM6N<$f;~RlhX4Qo delta 3123 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 N002ovPDHLkV1oEg1MUC- From baf763c3248ece30e5312c88bce82862f427a243 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 11 Jan 2015 19:01:38 +1300 Subject: [PATCH 089/282] Runtime fix --- code/modules/mob/mob_helpers.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 51676ca04f..1f40d44bde 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -335,6 +335,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return M.shakecamera = 1 spawn(1) + if(!M.client) + return var/atom/oldeye=M.client.eye var/aiEyeFlag = 0 From 441ee30bfb5fddeb8847f06154bc71b85900f9aa Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 11 Jan 2015 19:14:59 +1300 Subject: [PATCH 090/282] Fixes multiplying grape soda Also cleaned up some indenting --- code/modules/reagents/Chemistry-Machinery.dm | 52 ++++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 7381a6ea16..2c24594ace 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -186,20 +186,20 @@ max_energy = 100 dispensable_reagents = list("water","ice","coffee","cream","tea","icetea","cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice","limejuice","watermelonjuice") - /obj/machinery/chem_dispenser/soda/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) - ..() - if(istype(B, /obj/item/device/multitool)) - if(hackedcheck == 0) - user << "You change the mode from 'McNano' to 'Pizza King'." - dispensable_reagents += list("thirteenloko","grapesoda") - hackedcheck = 1 - return +/obj/machinery/chem_dispenser/soda/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) + ..() + if(istype(B, /obj/item/device/multitool)) + if(hackedcheck == 0) + user << "You change the mode from 'McNano' to 'Pizza King'." + dispensable_reagents += list("thirteenloko","grapesoda") + hackedcheck = 1 + return - else - user << "You change the mode from 'Pizza King' to 'McNano'." - dispensable_reagents -= list("thirteenloko") - hackedcheck = 0 - return + else + user << "You change the mode from 'Pizza King' to 'McNano'." + dispensable_reagents -= list("thirteenloko","grapesoda") + hackedcheck = 0 + return /obj/machinery/chem_dispenser/beer icon_state = "booze_dispenser" @@ -211,21 +211,21 @@ desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." dispensable_reagents = list("lemon_lime","sugar","orangejuice","limejuice","sodawater","tonic","beer","kahlua","whiskey","wine","vodka","gin","rum","tequilla","vermouth","cognac","ale","mead") - /obj/machinery/chem_dispenser/beer/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) - ..() +/obj/machinery/chem_dispenser/beer/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) + ..() - if(istype(B, /obj/item/device/multitool)) - if(hackedcheck == 0) - user << "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes." - dispensable_reagents += list("goldschlager","patron","watermelonjuice","berryjuice") - hackedcheck = 1 - return + if(istype(B, /obj/item/device/multitool)) + if(hackedcheck == 0) + user << "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes." + dispensable_reagents += list("goldschlager","patron","watermelonjuice","berryjuice") + hackedcheck = 1 + return - else - user << "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes." - dispensable_reagents -= list("goldschlager","patron","watermelonjuice","berryjuice") - hackedcheck = 0 - return + else + user << "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes." + dispensable_reagents -= list("goldschlager","patron","watermelonjuice","berryjuice") + hackedcheck = 0 + return ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// From 146fb2f6adb6ca20ce9bd0983afee7f43cfbe83c Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 11 Jan 2015 21:03:27 +1300 Subject: [PATCH 091/282] Fixes lighting not updating when turfs are changed --- code/game/turfs/turf.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d2cd7a18d5..3c5c3e9b01 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -241,9 +241,9 @@ //W.Assimilate_Air() W.lighting_lumcount += old_lumcount - if(old_lumcount != W.lighting_lumcount) - W.lighting_changed = 1 - lighting_controller.changed_turfs += W + + if(W.lighting_lumcount) + W.UpdateAffectingLights() if(old_fire) fire = old_fire From bc57c8b55dddfe97fc2122e38f7bcb1368b6a921 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 11 Jan 2015 21:44:12 +1300 Subject: [PATCH 092/282] Made thaler bundle merging code more sane Both bundles are dropped, then the merged one is put in the users hands --- code/modules/economy/cash.dm | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index 862708742c..3cc589344e 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -31,30 +31,11 @@ bundle = W bundle.worth += src.worth bundle.update_icon() - if (!istype(src.loc, /turf) && istype(user, /mob/living/carbon/human)) + if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/h_user = user - if(h_user.r_hand == src) - h_user.drop_from_inventory(src) - h_user.put_in_r_hand(bundle) - else if(h_user.l_hand == src) - h_user.drop_from_inventory(src) - h_user.put_in_l_hand(bundle) - else if (h_user.l_store == src) - h_user.drop_from_inventory(src) - bundle.loc = h_user - bundle.layer = 20 - h_user.l_store = bundle - h_user.update_inv_pockets() - else if (h_user.r_store == src) - h_user.drop_from_inventory(src) - bundle.loc = h_user - bundle.layer = 20 - h_user.r_store = bundle - h_user.update_inv_pockets() - else - src.loc = get_turf(h_user) - if(h_user.client) h_user.client.screen -= src - h_user.put_in_hands(bundle) + h_user.drop_from_inventory(src) + h_user.drop_from_inventory(bundle) + h_user.put_in_hands(bundle) user << "You add [src.worth] Thalers worth of money to the bundles.
    It holds [bundle.worth] Thalers now.
    " del(src) From a53922307bd8e6eeec917d7c22bb5f199b8a9e54 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 11 Jan 2015 22:43:15 +1300 Subject: [PATCH 093/282] Fixed lying mobs not updating gravity state Also removed a few colons from turf.dm --- code/game/turfs/simulated.dm | 4 +++- code/game/turfs/turf.dm | 29 +++++++++++------------------ 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 42a63f26e5..14a736c40d 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -27,7 +27,9 @@ if (istype(A,/mob/living/carbon)) var/mob/living/carbon/M = A - if(M.lying) return + if(M.lying) + ..() + return dirt++ var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt, src) if (dirt >= 50) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 3c5c3e9b01..9cf97796bc 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -112,34 +112,27 @@ if(!istype(atom, /atom/movable)) return - var/atom/movable/M = atom + var/atom/movable/A = atom var/loopsanity = 100 - if(ismob(M)) - if(!M:lastarea) - M:lastarea = get_area(M.loc) - if(M:lastarea.has_gravity == 0) + if(ismob(A)) + var/mob/M = A + if(!M.lastarea) + M.lastarea = get_area(M.loc) + if(M.lastarea.has_gravity == 0) inertial_drift(M) - /* - if(M.flags & NOGRAV) - inertial_drift(M) - */ - - - else if(!istype(src, /turf/space)) - M:inertia_dir = 0 - var/mob/M1 = M - M1.make_floating(0) + M.inertia_dir = 0 + M.make_floating(0) ..() var/objects = 0 - for(var/atom/A as mob|obj|turf|area in range(1)) + for(var/atom/O as mob|obj|turf|area in range(1)) if(objects > loopsanity) break objects++ spawn( 0 ) - if ((A && M)) - A.HasProximity(M, 1) + if ((O && A)) + O.HasProximity(A, 1) return return From 7f54ff97ef47146f4cb5e841855805a2d4d393ca Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 11 Jan 2015 11:20:51 +0100 Subject: [PATCH 094/282] Fixes #7723. Blast doors again use the same layering method as doors. --- code/game/machinery/doors/blast_door.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index c22a1e2bbc..e456e136a8 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -55,6 +55,7 @@ src.update_icon() src.SetOpacity(0) sleep(15) + src.layer = open_layer src.operating = 0 // Proc: force_close() @@ -62,6 +63,7 @@ // Description: Closes the door. No checks are done inside this proc. /obj/machinery/door/blast/proc/force_close() src.operating = 1 + src.layer = closed_layer flick(icon_state_closing, src) src.density = 1 update_nearby_tiles() From 4a68f6097d4a8ee9f59ef8555bebdc7f8dda57ec Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 11 Jan 2015 10:49:29 +0100 Subject: [PATCH 095/282] Fixes #7743. Makes syndicate and vox shuttle areas radiation safe. --- code/game/area/Space Station 13 areas.dm | 17 +++++++++++------ code/modules/events/radiation_storm.dm | 8 ++++---- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index f875b9975c..c793ecb857 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -57,6 +57,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg') var/sound/forced_ambience = null + var/rad_shielded = 0 + /*Adding a wizard area teleport list because motherfucking lag -- Urist*/ /*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/ var/list/teleportlocs = list() @@ -458,6 +460,7 @@ var/list/ghostteleportlocs = list() icon_state = "yellow" requires_power = 0 unlimited_power = 1 + rad_shielded = 1 /area/syndicate_station/start name = "\improper Mercenary Forward Operating Base" @@ -512,35 +515,33 @@ var/list/ghostteleportlocs = list() icon_state = "yellow" requires_power = 0 +/area/vox_station + requires_power = 0 + rad_shielded = 1 + /area/vox_station/transit name = "\improper hyperspace" icon_state = "shuttle" - requires_power = 0 /area/vox_station/southwest_solars name = "\improper aft port solars" icon_state = "southwest" - requires_power = 0 /area/vox_station/northwest_solars name = "\improper fore port solars" icon_state = "northwest" - requires_power = 0 /area/vox_station/northeast_solars name = "\improper fore starboard solars" icon_state = "northeast" - requires_power = 0 /area/vox_station/southeast_solars name = "\improper aft starboard solars" icon_state = "southeast" - requires_power = 0 /area/vox_station/mining name = "\improper nearby mining asteroid" icon_state = "north" - requires_power = 0 //PRISON /area/prison @@ -633,6 +634,9 @@ var/list/ghostteleportlocs = list() //Maintenance +/area/maintenance + rad_shielded = 1 + /area/maintenance/aft name = "Aft Maintenance" icon_state = "amaint" @@ -906,6 +910,7 @@ var/list/ghostteleportlocs = list() /area/crew_quarters name = "\improper Dormitories" icon_state = "Sleep" + rad_shielded = 1 /area/crew_quarters/toilet name = "\improper Dormitory Toilets" diff --git a/code/modules/events/radiation_storm.dm b/code/modules/events/radiation_storm.dm index a5b6c6be55..a288752ff7 100644 --- a/code/modules/events/radiation_storm.dm +++ b/code/modules/events/radiation_storm.dm @@ -30,12 +30,12 @@ /datum/event/radiation_storm/proc/radiate() for(var/mob/living/carbon/C in living_mob_list) - var/turf/T = get_turf(C) - if(!T) + var/area/A = get_area(C) + if(!A) continue - if(!(T.z in config.station_levels)) + if(!(A.z in config.station_levels)) continue - if(istype(T.loc, /area/maintenance) || istype(T.loc, /area/crew_quarters)) + if(A.rad_shielded) continue if(istype(C,/mob/living/carbon/human)) From b9fa2c0c504da5d4db0e9c6ff2b200dd086cd578 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 11 Jan 2015 12:21:20 +0100 Subject: [PATCH 096/282] Fixes #7663. Corrects inconsistent turret anchor/on settings. Correctly sets access ERT turret permissions. Corrects invisibility level on turret pop down. --- code/game/machinery/portable_turret.dm | 2 +- maps/exodus-2.dmm | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 7cfb901350..603fc9fe98 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -546,7 +546,7 @@ raising = 0 cover.icon_state = "turretCover" raised = 0 - invisibility = 2 + invisibility = INVISIBILITY_LEVEL_TWO update_icon() diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index a9301e064d..2903dec322 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1198,7 +1198,7 @@ "xb" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xc" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xd" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xe" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; use_power = 0; req_one_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xe" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; on = 0; req_one_access = list(103); req_one_access_txt = "103"; use_power = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "xf" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) "xg" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) "xh" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) @@ -1927,7 +1927,6 @@ "Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) "Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Lf" = (/obj/machinery/porta_turret{anchored = 1; check_records = 0; use_power = 0; req_one_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) @@ -1947,7 +1946,7 @@ "Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) - + (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaQ ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbsbtbsbtbsbrbubqbqbqbqbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbybzbzbzbAbB @@ -2090,7 +2089,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyfygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNLfwmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZyWoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZzkzloNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt From 527e83a4e322902c8e476e60f934a384d2619bf7 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 12 Jan 2015 01:08:28 +1300 Subject: [PATCH 097/282] Blood/oil stain fixes - Fixed item descriptions calling oil-stained items "bloody" - Fixed mob examine describing oil-stained bare hands and feet as "bloody" - Fixed blood overlays on shoes not updating after walking through different colored blood - Removed some colons --- .../effects/decals/Cleanable/humans.dm | 24 ++++++++++++------- code/game/objects/items.dm | 2 +- .../mob/living/carbon/human/examine.dm | 4 ++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index d348a351a1..3ce831541a 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -57,15 +57,21 @@ var/global/list/image/splatter_cache=list() if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED)) hasfeet = 0 if(perp.shoes && !perp.buckled)//Adding blood to shoes - perp.shoes.blood_color = basecolor - perp.shoes:track_blood = max(amount,perp.shoes:track_blood) - if(!perp.shoes.blood_overlay) - perp.shoes.generate_blood_overlay() - if(!perp.shoes.blood_DNA) - perp.shoes.blood_DNA = list() - perp.shoes.blood_overlay.color = basecolor - perp.shoes.overlays += perp.shoes.blood_overlay - perp.shoes.blood_DNA |= blood_DNA.Copy() + var/obj/item/clothing/shoes/S = perp.shoes + if(istype(S)) + S.blood_color = basecolor + S.track_blood = max(amount,S.track_blood) + if(!S.blood_overlay) + S.generate_blood_overlay() + if(!S.blood_DNA) + S.blood_DNA = list() + S.blood_overlay.color = basecolor + S.overlays += S.blood_overlay + if(S.blood_overlay && S.blood_overlay.color != basecolor) + S.blood_overlay.color = basecolor + S.overlays.Cut() + S.overlays += S.blood_overlay + S.blood_DNA |= blood_DNA.Copy() else if (hasfeet)//Or feet perp.feet_blood_color = basecolor diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d73e2a5fc7..4ea113bcab 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -119,7 +119,7 @@ size = "huge" else //if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking" - usr << "This is a [src.blood_DNA ? "bloody " : ""]\icon[src][src.name]. It is a [size] item." + usr << "This is a [blood_DNA ? blood_color != "#030303" ? "bloody " : "oil-stained " : ""]\icon[src][src.name]. It is a [size] item." if(src.desc) usr << src.desc return diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 6a6f306f5c..17cdabe9ae 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -124,7 +124,7 @@ else msg += "[t_He] [t_has] \icon[gloves] \a [gloves] on [t_his] hands.\n" else if(blood_DNA) - msg += "[t_He] [t_has] blood-stained hands!\n" + msg += "[t_He] [t_has] [(hand_blood_color != "#030303") ? "blood" : "oil"]-stained hands!\n" //handcuffed? @@ -149,7 +149,7 @@ else msg += "[t_He] [t_is] wearing \icon[shoes] \a [shoes] on [t_his] feet.\n" else if(feet_blood_DNA) - msg += "[t_He] [t_has] blood-stained feet!\n" + msg += "[t_He] [t_has] [(feet_blood_color != "#030303") ? "blood" : "oil"]-stained feet!\n" //mask if(wear_mask && !skipmask) From 30cb5f5cc7980c418798a99bf35f37f2cb074750 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 11 Jan 2015 12:29:14 +0000 Subject: [PATCH 098/282] Revert test code --- code/modules/mob/living/silicon/robot/robot_modules.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0590387879..e8fa3727ce 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -428,9 +428,9 @@ //checks whether this item is a module of the robot it is located in. /obj/item/proc/is_robot_module() - if (!istype(src.loc.loc, /mob/living/silicon/robot)) + if (!istype(src.loc, /mob/living/silicon/robot)) return 0 - var/mob/living/silicon/robot/R = src.loc.loc + var/mob/living/silicon/robot/R = src.loc return (src in R.module.modules) From 771410b442d1f112d5dd6cdba722d765a945e606 Mon Sep 17 00:00:00 2001 From: martin509 Date: Sun, 11 Jan 2015 13:57:02 -0500 Subject: [PATCH 099/282] Anomaly sprite redo. Replaces several old sprites for anomalies with better versions. --- icons/obj/xenoarchaeology.dmi | Bin 57033 -> 78758 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi index b40ae3db6e3590575950a3f886e59939bf1e47ac..5aacb9923443f5455eeebf8a3db629af7a9d733a 100644 GIT binary patch literal 78758 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 literal 57033 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 z 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 Date: Sun, 11 Jan 2015 21:00:03 +0000 Subject: [PATCH 100/282] Span classes? Span classes. Also removes a pair of redundant \impropers. --- code/game/machinery/cryopod.dm | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 3eb9fb2c41..381a9790fb 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -96,7 +96,7 @@ if(!allow_items) return if(frozen_items.len == 0) - user << "\blue There is nothing to recover from storage." + user << "There is nothing to recover from storage." return var/obj/item/I = input(usr, "Please choose which object to retrieve.","Object recovery",null) as null|anything in frozen_items @@ -104,10 +104,10 @@ return if(!(I in frozen_items)) - user << "\blue \The [I] is no longer in storage." + user << "\The [I] is no longer in storage." return - visible_message("\blue The console beeps happily as it disgorges \the [I].", 3) + visible_message("The console beeps happily as it disgorges \the [I].", 3) I.loc = get_turf(src) frozen_items -= I @@ -116,10 +116,10 @@ if(!allow_items) return if(frozen_items.len == 0) - user << "\blue There is nothing to recover from storage." + user << "There is nothing to recover from storage." return - visible_message("\blue The console beeps happily as it disgorges the desired objects.", 3) + visible_message("The console beeps happily as it disgorges the desired objects.", 3) for(var/obj/item/I in frozen_items) I.loc = get_turf(src) @@ -141,7 +141,7 @@ //Decorative structures to go alongside cryopods. /obj/structure/cryofeed - name = "\improper cryogenic feed" + name = "cryogenic feed" desc = "A bewildering tangle of machinery and pipes." icon = 'icons/obj/Cryogenic2.dmi' icon_state = "cryo_rear" @@ -163,7 +163,7 @@ //Cryopods themselves. /obj/machinery/cryopod - name = "\improper cryogenic freezer" + name = "cryogenic freezer" desc = "A man-sized pod for entering suspended animation." icon = 'icons/obj/Cryogenic2.dmi' icon_state = "body_scanner_0" @@ -339,7 +339,7 @@ else if(O.target && istype(O.target,/datum/mind)) if(O.target == occupant.mind) if(O.owner && O.owner.current) - O.owner.current << "\red You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]..." + O.owner.current << "You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]..." O.target = null spawn(1) //This should ideally fire after the occupant is deleted. if(!O) return @@ -390,7 +390,7 @@ control_computer.frozen_crew += "[occupant.real_name]" announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]") - visible_message("\blue \The [src] hums and hisses as it moves [occupant.real_name] into storage.", 3) + visible_message("\The [src] hums and hisses as it moves [occupant.real_name] into storage.", 3) // Delete the mob. del(occupant) @@ -403,7 +403,7 @@ if(istype(G, /obj/item/weapon/grab)) if(occupant) - user << "\blue \The [src] is in use." + user << "\The [src] is in use." return if(!ismob(G:affecting)) @@ -440,15 +440,15 @@ else icon_state = occupied_icon_state - M << "\blue [on_enter_occupant_message]" - M << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." + M << "[on_enter_occupant_message]" + M << "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." occupant = M time_entered = world.time // Book keeping! var/turf/location = get_turf(src) log_admin("[key_name_admin(M)] has entered a stasis pod. (JMP)") - message_admins("\blue [key_name_admin(M)] has entered a stasis pod.") + message_admins("[key_name_admin(M)] has entered a stasis pod.") //Despawning occurs when process() is called with an occupant without a client. src.add_fingerprint(M) @@ -488,7 +488,7 @@ return if(src.occupant) - usr << "\blue \The [src] is in use." + usr << "\The [src] is in use." return for(var/mob/living/carbon/slime/M in range(1,usr)) @@ -504,7 +504,7 @@ return if(src.occupant) - usr << "\blue \The [src] is in use." + usr << "\The [src] is in use." return usr.stop_pulling() @@ -518,8 +518,8 @@ else icon_state = occupied_icon_state - usr << "\blue [on_enter_occupant_message]" - usr << "\blue If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." + usr << "[on_enter_occupant_message]" + usr << "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round." occupant = usr time_entered = world.time From 2d2c376f2f0c726227d4900a6be6cc8cba1caf48 Mon Sep 17 00:00:00 2001 From: tkdrg Date: Sun, 11 Jan 2015 19:54:42 -0300 Subject: [PATCH 101/282] Fixes XSS vuln in changeling mimic voice See https://github.com/tgstation/-tg-station/issues/6975 --- code/game/gamemodes/changeling/changeling_powers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index d8568c8f60..5dcc891fa9 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -657,7 +657,7 @@ var/list/datum/dna/hivemind_bank = list() src << "We return our vocal glands to their original location." return - var/mimic_voice = input("Enter a name to mimic.", "Mimic Voice", null) as text + var/mimic_voice = stripped_input(usr, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN) if(!mimic_voice) return @@ -856,4 +856,4 @@ var/list/datum/dna/hivemind_bank = list() changeling.absorbed_species += T.species.name feedback_add_details("changeling_powers","ED") - return 1 \ No newline at end of file + return 1 From b069bfb6582686c0ab78a826d96e9331ff693929 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 12 Jan 2015 00:05:47 -0500 Subject: [PATCH 102/282] Adjusts infection chances After some discussion on IRC this seems like a better starting value. --- code/modules/virus2/disease2.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index a68bafed7c..4323ce6545 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -27,7 +27,7 @@ if(1) infectionchance = 1 if(2) - infectionchance = rand(10,50) + infectionchance = rand(10,20) else infectionchance = rand(60,90) From aeec54aece67e4e77cba53d9ce0c719942b69349 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 12 Jan 2015 00:19:01 -0500 Subject: [PATCH 103/282] Fixes bad gear datum paths --- code/modules/client/preferences_gear.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3e8c8e3a3c..c83571650f 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -517,7 +517,7 @@ var/global/list/gear_datums = list() cost = 2 slot = slot_wear_suit -/datum/gear/gponcho +/datum/gear/bponcho display_name = "poncho, blue" path = /obj/item/clothing/suit/poncho/blue cost = 3 @@ -529,7 +529,7 @@ var/global/list/gear_datums = list() cost = 3 slot = slot_wear_suit -/datum/gear/rponcho +/datum/gear/pponcho display_name = "poncho, purple" path = /obj/item/clothing/suit/poncho/purple cost = 3 From d66857757adea528d8ece868011974a4c9e95ac5 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 12 Jan 2015 09:36:04 +0300 Subject: [PATCH 104/282] Replaces seed vendors with seed storages --- baystation12.dme | 1 + code/modules/hydroponics/seed_storage.dm | 257 +++++++++++++++++++++++ maps/exodus-1.dmm | 8 +- 3 files changed, 262 insertions(+), 4 deletions(-) create mode 100644 code/modules/hydroponics/seed_storage.dm diff --git a/baystation12.dme b/baystation12.dme index f0a68647ed..9167883448 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -925,6 +925,7 @@ #include "code\modules\hydroponics\seed_datums.dm" #include "code\modules\hydroponics\seed_machines.dm" #include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seed_storage.dm" #include "code\modules\hydroponics\seeds.dm" #include "code\modules\hydroponics\vines.dm" #include "code\modules\library\lib_items.dm" diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm new file mode 100644 index 0000000000..d2f2f6e356 --- /dev/null +++ b/code/modules/hydroponics/seed_storage.dm @@ -0,0 +1,257 @@ +/datum/seed_pile + var/name + var/amount + var/datum/seed/seed_type // Keeps track of what our seed is + var/list/obj/item/seeds/seeds = list() // Tracks actual objects contained in the pile + var/ID + +/datum/seed_pile/New(var/obj/item/seeds/O, var/ID) + name = O.name + amount = 1 + seed_type = O.seed + seeds += O + src.ID = ID + +/datum/seed_pile/proc/matches(var/obj/item/seeds/O) + if (O.seed == seed_type) + return 1 + return 0 + +/obj/machinery/seed_storage + name = "Seed storage" + desc = "It stores, sorts, and dispenses seeds." + icon = 'icons/obj/vending.dmi' + icon_state = "seeds" + density = 1 + anchored = 1 + use_power = 1 + idle_power_usage = 100 + + var/initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction + var/list/datum/seed_pile/piles = list() + var/list/starting_seeds = list() + var/list/scanner = list() // What properties we can view + +/obj/machinery/seed_storage/random // This is mostly for testing, but I guess admins could spawn it + name = "Random seed storage" + scanner = list("stats", "produce", "soil", "temperature", "light", "mutants") + starting_seeds = list(/obj/item/seeds/random = 50) + +/obj/machinery/seed_storage/garden + name = "Garden seed storage" + scanner = list("stats") + starting_seeds = list(/obj/item/seeds/appleseed = 3, /obj/item/seeds/bananaseed = 3, /obj/item/seeds/berryseed = 3, /obj/item/seeds/cabbageseed = 3, /obj/item/seeds/carrotseed = 3, /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/grapeseed = 3, /obj/item/seeds/grassseed = 3, /obj/item/seeds/lemonseed = 3, /obj/item/seeds/limeseed = 3, /obj/item/seeds/mtearseed = 2, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/plumpmycelium = 3, /obj/item/seeds/poppyseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/pumpkinseed = 3, /obj/item/seeds/riceseed = 3, /obj/item/seeds/soyaseed = 3, /obj/item/seeds/sugarcaneseed = 3, /obj/item/seeds/sunflowerseed = 3, /obj/item/seeds/shandseed = 2, /obj/item/seeds/tomatoseed = 3, /obj/item/seeds/towermycelium = 3, /obj/item/seeds/watermelonseed = 3, /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3) + +/obj/machinery/seed_storage/xenobotany + name = "Xenobotany seed storage" + scanner = list("stats", "produce", "soil", "temperature", "light", "mutants") + starting_seeds = list(/obj/item/seeds/ambrosiavulgarisseed = 3, /obj/item/seeds/appleseed = 3, /obj/item/seeds/amanitamycelium = 2, /obj/item/seeds/bananaseed = 3, /obj/item/seeds/berryseed = 3, /obj/item/seeds/cabbageseed = 3, /obj/item/seeds/carrotseed = 3, /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/replicapod = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/glowshroom = 2, /obj/item/seeds/grapeseed = 3, /obj/item/seeds/grassseed = 3, /obj/item/seeds/lemonseed = 3, /obj/item/seeds/libertymycelium = 2, /obj/item/seeds/limeseed = 3, /obj/item/seeds/mtearseed = 2, /obj/item/seeds/nettleseed = 2, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/plastiseed = 3, /obj/item/seeds/plumpmycelium = 3, /obj/item/seeds/poppyseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/pumpkinseed = 3, /obj/item/seeds/reishimycelium = 2, /obj/item/seeds/riceseed = 3, /obj/item/seeds/soyaseed = 3, /obj/item/seeds/sugarcaneseed = 3, /obj/item/seeds/sunflowerseed = 3, /obj/item/seeds/shandseed = 2, /obj/item/seeds/tomatoseed = 3, /obj/item/seeds/towermycelium = 3, /obj/item/seeds/watermelonseed = 3, /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3) + +/obj/machinery/seed_storage/New() + ..() + +/obj/machinery/seed_storage/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/obj/machinery/seed_storage/interact(mob/user as mob) + if (..()) + return + + if (!initialized) + for(var/typepath in starting_seeds) + var/amount = starting_seeds[typepath] + if(isnull(amount)) amount = 1 + + for (var/i = 1 to amount) + var/O = new typepath + add(O) + initialized = 1 + + var/dat = "

    Seed storage contents

    " + if (piles.len == 0) + dat += "No seeds" + else + dat += "" + if ("stats" in scanner) + dat += "" + if ("produce" in scanner) + dat += "" + if ("temperature" in scanner) + dat += "" + if ("light" in scanner) + dat += "" + if ("soil" in scanner) + dat += "" + dat += "" + for (var/datum/seed_pile/S in piles) + var/datum/seed/seed = S.seed_type + dat += "" + dat += "" + if ("stats" in scanner) + dat += "" + if(seed.harvest_repeat) + dat += "" + else + dat += "" + if ("produce" in scanner) + if (seed.products && seed.products.len) + dat += "" + else + dat += "" + if ("temperature" in scanner) + dat += "" + if ("light" in scanner) + dat += "" + if ("soil" in scanner) + if(seed.requires_nutrients) + if(seed.nutrient_consumption < 0.05) + dat += "" + else if(seed.nutrient_consumption > 0.2) + dat += "" + else + dat += "" + else + dat += "" + if(seed.requires_water) + if(seed.water_consumption < 1) + dat += "" + else if(seed.water_consumption > 5) + dat += "" + else + dat += "" + else + dat += "" + + dat += "" + dat += "" + dat += "" + dat += "" + dat += "
    NameEYLMPrPtHarvestProduceTempLightNutriWaterNotesAmount
    [S.name][seed.endurance][seed.yield][seed.lifespan][seed.maturation][seed.production][seed.potency]MultipleSingleFruit: [seed.products.len]N/A[seed.ideal_heat] K[seed.ideal_light] LLowHighNormNoLowHighNormNo" + if ("mutants" in scanner) + if(seed.mutants && seed.mutants.len) + dat += "SUBSP " + if(seed.immutable == -1) + dat += "MUT " + else if(seed.immutable > 0) + dat += "NOMUT " + switch(seed.carnivorous) + if(1) + dat += "CARN " + if(2) + dat += "CARN " + switch(seed.spread) + if(1) + dat += "VINE " + if(2) + dat += "VINE " + if ("pressure" in scanner) + if(seed.lowkpa_tolerance < 20) + dat += "LP " + if(seed.highkpa_tolerance > 220) + dat += "HP " + if ("temperature" in scanner) + if(seed.heat_tolerance > 30) + dat += "TEMRES " + else if(seed.heat_tolerance < 10) + dat += "TEMSEN " + if ("light" in scanner) + if(seed.light_tolerance > 10) + dat += "LIGRES " + else if(seed.light_tolerance < 3) + dat += "LIGSEN " + if(seed.toxins_tolerance < 3) + dat += "TOXSEN " + else if(seed.toxins_tolerance > 6) + dat += "TOXRES " + if(seed.pest_tolerance < 3) + dat += "PESTSEN " + else if(seed.pest_tolerance > 6) + dat += "PESTRES " + if(seed.weed_tolerance < 3) + dat += "WEEDSEN " + else if(seed.weed_tolerance > 6) + dat += "WEEDRES " + if(seed.parasite) + dat += "PAR " + if ("temperature" in scanner) + if(seed.alter_temp > 0) + dat += "TEMP+ " + if(seed.alter_temp < 0) + dat += "TEMP- " + if(seed.biolum) + dat += "LUM " + if(seed.flowers) + dat += "
    [seed.flower_colour ? "FLOW" : "FLOW"]." + dat += "
    [S.amount]Vend Purge
    " + + user << browse(dat, "window=seedstorage") + onclose(user, "seedstorage") + +/obj/machinery/seed_storage/Topic(var/href, var/list/href_list) + if (..()) + return + var/task = href_list["task"] + var/ID = text2num(href_list["id"]) + + for (var/datum/seed_pile/N in piles) + if (N.ID == ID) + if (task == "vend") + var/obj/O = pick(N.seeds) + if (O) + --N.amount + N.seeds -= O + if (N.amount <= 0 || N.seeds.len <= 0) + piles -= N + del(N) + O.loc = src.loc + else + piles -= N + del(N) + else if (task == "purge") + for (var/obj/O in N.seeds) + del(O) + piles -= N + del(N) + break + updateUsrDialog() + +/obj/machinery/seed_storage/attackby(var/obj/item/O as obj, var/mob/user as mob) + if (istype(O, /obj/item/seeds)) + add(O) + user.visible_message("[user] puts \the [O.name] into \the [src].", "You put \the [O] into \the [src].") + return + else if (istype(O, /obj/item/weapon/storage/bag/plants)) + var/obj/item/weapon/storage/P = O + var/loaded = 0 + for(var/obj/item/seeds/G in P.contents) + ++loaded + add(G) + if (loaded) + user.visible_message("[user] puts the seeds from \the [O.name] into \the [src].", "You put the seeds from \the [O.name] into \the [src].") + else + user << "There are no seeds in \the [O.name]." + return + else if(istype(O, /obj/item/weapon/wrench)) + playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + anchored = !anchored + user << "You [anchored ? "wrench" : "unwrench"] \the [src]." + +/obj/machinery/seed_storage/proc/add(var/obj/item/seeds/O as obj) + if (istype(O.loc, /mob)) + var/mob/user = O.loc + user.drop_item(O) + else if(istype(O.loc,/obj/item/weapon/storage)) + var/obj/item/weapon/storage/S = O.loc + S.remove_from_storage(O, src) + + O.loc = src + + for (var/datum/seed_pile/N in piles) + if (N.matches(O)) + ++N.amount + N.seeds += (O) + return + + piles += new /datum/seed_pile(O, piles.len) + return diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a8e83d5c20..7e4b152368 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1147,7 +1147,7 @@ "awc" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/prison) "awd" = (/obj/structure/table,/obj/item/weapon/minihoe,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/turf/simulated/floor,/area/security/prison) "awe" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/security/prison) -"awf" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor,/area/security/prison) +"awf" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/security/prison) "awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) "awi" = (/obj/machinery/light,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) @@ -2198,7 +2198,7 @@ "aQn" = (/turf/simulated/floor,/area/hydroponics) "aQo" = (/obj/structure/disposalpipe/segment,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aQp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) -"aQq" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) +"aQq" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) "aQr" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hydroponics) "aQs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hydroponics) "aQt" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) @@ -2262,7 +2262,7 @@ "aRz" = (/obj/machinery/biogenerator,/turf/simulated/floor,/area/hydroponics) "aRA" = (/obj/machinery/seed_extractor,/turf/simulated/floor,/area/hydroponics) "aRB" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor,/area/hydroponics) -"aRC" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor,/area/hydroponics) +"aRC" = (/obj/machinery/seed_storage/garden,/turf/simulated/floor,/area/hydroponics) "aRD" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) "aRE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics) "aRF" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) @@ -5675,7 +5675,7 @@ "cfg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = 32},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfh" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) "cfi" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"cfj" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) +"cfj" = (/obj/machinery/seed_storage/xenobotany,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cfk" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora) "cfl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "cfm" = (/obj/machinery/botany/editor,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora) From 31768af22f8555eb4a273c2657f148047bb6667a Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 12 Jan 2015 09:43:18 +0300 Subject: [PATCH 105/282] Removes the now useless New() --- code/modules/hydroponics/seed_storage.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index d2f2f6e356..4abb4abe05 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -47,9 +47,6 @@ scanner = list("stats", "produce", "soil", "temperature", "light", "mutants") starting_seeds = list(/obj/item/seeds/ambrosiavulgarisseed = 3, /obj/item/seeds/appleseed = 3, /obj/item/seeds/amanitamycelium = 2, /obj/item/seeds/bananaseed = 3, /obj/item/seeds/berryseed = 3, /obj/item/seeds/cabbageseed = 3, /obj/item/seeds/carrotseed = 3, /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/replicapod = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/glowshroom = 2, /obj/item/seeds/grapeseed = 3, /obj/item/seeds/grassseed = 3, /obj/item/seeds/lemonseed = 3, /obj/item/seeds/libertymycelium = 2, /obj/item/seeds/limeseed = 3, /obj/item/seeds/mtearseed = 2, /obj/item/seeds/nettleseed = 2, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/plastiseed = 3, /obj/item/seeds/plumpmycelium = 3, /obj/item/seeds/poppyseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/pumpkinseed = 3, /obj/item/seeds/reishimycelium = 2, /obj/item/seeds/riceseed = 3, /obj/item/seeds/soyaseed = 3, /obj/item/seeds/sugarcaneseed = 3, /obj/item/seeds/sunflowerseed = 3, /obj/item/seeds/shandseed = 2, /obj/item/seeds/tomatoseed = 3, /obj/item/seeds/towermycelium = 3, /obj/item/seeds/watermelonseed = 3, /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3) -/obj/machinery/seed_storage/New() - ..() - /obj/machinery/seed_storage/attack_hand(mob/user as mob) user.set_machine(src) interact(user) From 537b78fc80d9b89db5fc39332044c94cc9062e01 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Mon, 12 Jan 2015 21:13:24 +0000 Subject: [PATCH 106/282] refactor buckling to be more generic Buckling procs and vars have been moved down to /obj. Behaviour is mostly the same, but you can buckle cuffed people to pipes and they will automatically unbuckle if the cuffs are removed. Signed-off-by: Mloc-Argent --- baystation12.dme | 1 + code/ATMOSPHERICS/pipes.dm | 4 + code/datums/spells/area_teleport.dm | 2 +- code/datums/spells/ethereal_jaunt.dm | 2 +- code/game/machinery/machinery.dm | 2 +- code/game/objects/buckling.dm | 86 +++++++++++++++++++ .../items/weapons/implants/implantfreedom.dm | 2 + code/game/objects/items/weapons/scrolls.dm | 2 +- code/game/objects/items/weapons/tools.dm | 4 +- code/game/objects/structures.dm | 10 +-- code/game/objects/structures/janicart.dm | 30 ++----- .../stool_bed_chair_nest/alien_nests.dm | 11 ++- .../structures/stool_bed_chair_nest/bed.dm | 48 +++++------ .../structures/stool_bed_chair_nest/chairs.dm | 18 ++-- .../structures/stool_bed_chair_nest/stools.dm | 4 +- .../stool_bed_chair_nest/wheelchair.dm | 11 ++- code/modules/hydroponics/vines.dm | 37 +------- code/modules/mob/living/carbon/carbon.dm | 2 + .../mob/living/carbon/human/examine.dm | 4 + .../mob/living/carbon/human/inventory.dm | 2 + code/modules/mob/living/living.dm | 6 +- code/modules/mob/mob.dm | 12 +-- .../effects/unknown_effect_teleport.dm | 6 +- code/modules/vehicles/vehicle.dm | 14 ++- 24 files changed, 179 insertions(+), 141 deletions(-) create mode 100644 code/game/objects/buckling.dm diff --git a/baystation12.dme b/baystation12.dme index f0a68647ed..0dd67ca117 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -456,6 +456,7 @@ #include "code\game\mecha\working\hoverpod.dm" #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" +#include "code\game\objects\buckling.dm" #include "code\game\objects\empulse.dm" #include "code\game\objects\explosion.dm" #include "code\game\objects\explosion_recursive.dm" diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index 16a0a6bcd5..be63292d83 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -12,6 +12,10 @@ var/alert_pressure = 80*ONE_ATMOSPHERE //minimum pressure before check_pressure(...) should be called + can_buckle = 1 + buckle_require_restraints = 1 + buckle_lying = -1 + /obj/machinery/atmospherics/pipe/drain_power() return -1 diff --git a/code/datums/spells/area_teleport.dm b/code/datums/spells/area_teleport.dm index b2ced9fa0d..f30d55455b 100644 --- a/code/datums/spells/area_teleport.dm +++ b/code/datums/spells/area_teleport.dm @@ -47,7 +47,7 @@ return if(target && target.buckled) - target.buckled.unbuckle() + target.buckled.unbuckle_mob() var/list/tempL = L var/attempt = null diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm index 1b1646ffa4..b5744dffc4 100644 --- a/code/datums/spells/ethereal_jaunt.dm +++ b/code/datums/spells/ethereal_jaunt.dm @@ -20,7 +20,7 @@ if(target.buckled) var/obj/structure/stool/bed/buckled_to = target.buckled. - buckled_to.unbuckle() + buckled_to.unbuckle_mob() var/mobloc = get_turf(target.loc) var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc ) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 1a3cce2cf9..bfef200306 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -278,7 +278,7 @@ Class Procs: src.add_fingerprint(user) - return 0 + return ..() /obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames. return diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm new file mode 100644 index 0000000000..f0f5a53aea --- /dev/null +++ b/code/game/objects/buckling.dm @@ -0,0 +1,86 @@ +/obj + var/can_buckle = 0 + var/buckle_movable = 0 + var/buckle_lying = -1 //bed-like behavior, forces mob.lying = buckle_lying if != -1 + var/buckle_require_restraints = 0 //require people to be handcuffed before being able to buckle. eg: pipes + var/mob/living/buckled_mob = null + +/obj/attack_hand(mob/living/user) + . = ..() + if(can_buckle && buckled_mob) + user_unbuckle_mob(user) + +/obj/MouseDrop_T(mob/living/M, mob/living/user) + . = ..() + if(can_buckle && istype(M)) + user_buckle_mob(M, user) + +/obj/Del() + unbuckle_mob() + return ..() + +/obj/proc/buckle_mob(mob/living/M) + if(!can_buckle || !istype(M) || (M.loc != loc) || M.buckled || M.pinned.len || (buckle_require_restraints && !M.restrained())) + return 0 + + M.buckled = src + M.set_dir(dir) + M.update_canmove() + buckled_mob = M + post_buckle_mob(M) + return 1 + +/obj/proc/unbuckle_mob() + if(buckled_mob && buckled_mob.buckled == src) + . = buckled_mob + buckled_mob.buckled = null + buckled_mob.anchored = initial(buckled_mob.anchored) + buckled_mob.update_canmove() + buckled_mob = null + + post_buckle_mob(.) + +/obj/proc/post_buckle_mob(mob/living/M) + return + +/obj/proc/user_buckle_mob(mob/living/M, mob/user) + if(!ticker) + user << "You can't buckle anyone in before the game starts." + if(!user.Adjacent(M) || user.restrained() || user.lying || user.stat || istype(user, /mob/living/silicon/pai)) + return + + if(istype(M, /mob/living/carbon/slime)) + user << "The [M] is too squishy to buckle in." + return + + add_fingerprint(user) + unbuckle_mob() + + if(buckle_mob(M)) + if(M == user) + M.visible_message(\ + "[M.name] buckles themselves to [src].",\ + "You buckle yourself to [src].",\ + "You hear metal clanking.") + else + M.visible_message(\ + "[M.name] is buckled to [src] by [user.name]!",\ + "You are buckled to [src] by [user.name]!",\ + "You hear metal clanking.") + +/obj/proc/user_unbuckle_mob(mob/user) + var/mob/living/M = unbuckle_mob() + world << 3 + if(M) + if(M != user) + M.visible_message(\ + "[M.name] was unbuckled by [user.name]!",\ + "You were unbuckled from [src] by [user.name].",\ + "You hear metal clanking.") + else + M.visible_message(\ + "[M.name] unbuckled themselves!",\ + "You unbuckle yourself from [src].",\ + "You hear metal clanking.") + add_fingerprint(user) + return M diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm index d7be368665..d32ae9d8ba 100644 --- a/code/game/objects/items/weapons/implants/implantfreedom.dm +++ b/code/game/objects/items/weapons/implants/implantfreedom.dm @@ -23,6 +23,8 @@ if (source.handcuffed) var/obj/item/weapon/W = source.handcuffed source.handcuffed = null + if(source.buckled && source.buckled.buckle_require_restraints) + source.buckled.unbuckle_mob() source.update_inv_handcuffed() if (source.client) source.client.screen -= W diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index e9aa6f3ca6..4a0b80d9fd 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -70,7 +70,7 @@ return if(user && user.buckled) - user.buckled.unbuckle() + user.buckled.unbuckle_mob() var/list/tempL = L var/attempt = null diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 62793f0b2c..6a3e839a0e 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -119,6 +119,8 @@ "You cut \the [C]'s restraints with \the [src]!",\ "You hear cable being cut.") C.handcuffed = null + if(C.buckled && C.buckled.buckle_require_restraints) + C.buckled.unbuckle_mob() C.update_inv_handcuffed() return else @@ -531,4 +533,4 @@ if(!resolved && tool && target) tool.afterattack(target,user,1) if(tool) - tool.loc = src*/ + tool.loc = src*/ diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index d105caae00..a23bb65cf8 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -20,7 +20,7 @@ var/mob/living/carbon/human/H = user if(H.species.can_shred(user)) attack_generic(user,1,"slices") - return + return ..() /obj/structure/blob_act() if(prob(50)) @@ -67,10 +67,10 @@ /obj/structure/MouseDrop_T(mob/target, mob/user) var/mob/living/H = user - if(!istype(H) || target != user) // No making other people climb onto tables. - return - - do_climb(target) + if(istype(H) && can_climb(H) && target == user) + do_climb(target) + else + return ..() /obj/structure/proc/can_climb(var/mob/living/user) if (!can_touch(user) || !climbable) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 0b542dd2bb..836b35ca02 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -211,7 +211,7 @@ /obj/structure/stool/bed/chair/janicart/relaymove(mob/user, direction) if(user.stat || user.stunned || user.weakened || user.paralysis) - unbuckle() + unbuckle_mob() if(istype(user.l_hand, /obj/item/key) || istype(user.r_hand, /obj/item/key)) step(src, direction) update_mob() @@ -226,22 +226,9 @@ buckled_mob.loc = loc -/obj/structure/stool/bed/chair/janicart/buckle_mob(mob/M, mob/user) - if(M != user || !ismob(M) || get_dist(src, user) > 1 || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon)) - return - - unbuckle() - - M.visible_message(\ - "[M] climbs onto the [callme]!",\ - "You climb onto the [callme]!") - M.buckled = src - M.loc = loc - M.set_dir(dir) - M.update_canmove() - buckled_mob = M +/obj/structure/stool/bed/chair/janicart/post_buckle_mob(mob/living/M) update_mob() - add_fingerprint(user) + return ..() /obj/structure/stool/bed/chair/janicart/update_layer() @@ -251,11 +238,12 @@ layer = OBJ_LAYER -/obj/structure/stool/bed/chair/janicart/unbuckle() - if(buckled_mob) - buckled_mob.pixel_x = 0 - buckled_mob.pixel_y = 0 - ..() +/obj/structure/stool/bed/chair/janicart/unbuckle_mob() + var/mob/living/M = ..() + if(M) + M.pixel_x = 0 + M.pixel_y = 0 + return M /obj/structure/stool/bed/chair/janicart/set_dir() diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index e67fea3849..451bfd8b3e 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -8,7 +8,7 @@ icon_state = "nest" var/health = 100 -/obj/structure/stool/bed/nest/manual_unbuckle(mob/user as mob) +/obj/structure/stool/bed/nest/user_unbuckle_mob(mob/user as mob) if(buckled_mob) if(buckled_mob.buckled == src) if(buckled_mob != user) @@ -18,7 +18,7 @@ "You hear squelching...") buckled_mob.pixel_y = 0 buckled_mob.old_y = 0 - unbuckle() + unbuckle_mob() else if(world.time <= buckled_mob.last_special+NEST_RESIST_TIME) return @@ -32,16 +32,15 @@ buckled_mob.last_special = world.time buckled_mob.pixel_y = 0 buckled_mob.old_y = 0 - unbuckle() + unbuckle_mob() src.add_fingerprint(user) return -/obj/structure/stool/bed/nest/buckle_mob(mob/M as mob, mob/user as mob) - +/obj/structure/stool/bed/nest/user_buckle_mob(mob/M as mob, mob/user as mob) if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) ) return - unbuckle() + unbuckle_mob() var/mob/living/carbon/xenos = user var/mob/living/carbon/victim = M diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 8902dbc8ec..cd8d78c4c6 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -11,8 +11,10 @@ name = "bed" desc = "This is used to lie in, sleep in or strap on." icon_state = "bed" - var/mob/living/buckled_mob - var/movable = 0 // For mobility checks + can_buckle = 1 + buckle_lying = 1 + //var/mob/living/buckled_mob + //var/movable = 0 // For mobility checks /obj/structure/stool/bed/psych name = "psychiatrists couch" @@ -24,7 +26,7 @@ desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" icon_state = "abed" -/obj/structure/stool/bed/Del() +/*/obj/structure/stool/bed/Del() unbuckle() ..() return @@ -80,7 +82,7 @@ /obj/structure/stool/bed/proc/buckle_mob(mob/M as mob, mob/user as mob) if (!ticker) user << "You can't buckle anyone in before the game starts." - if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.lying || user.stat || M.buckled || M.pinned.len || istype(user, /mob/living/silicon/pai) ) + if (!ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.lying || user.stat || M.buckled || M.pinned.len || istype(user, /mob/living/silicon/pai) ) return if (istype(M, /mob/living/carbon/slime)) @@ -106,7 +108,7 @@ src.buckled_mob = M src.add_fingerprint(user) afterbuckle(M) - return + return*/ /* * Roller beds @@ -120,7 +122,7 @@ /obj/structure/stool/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/roller_holder)) if(buckled_mob) - manual_unbuckle() + user_unbuckle_mob(user) else visible_message("[user] collapses \the [src.name].") new/obj/item/roller(get_turf(src)) @@ -185,29 +187,19 @@ else buckled_mob = null -/obj/structure/stool/bed/roller/buckle_mob(mob/M as mob, mob/user as mob) - if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || user.lying || user.stat || M.buckled || istype(usr, /mob/living/silicon/pai) ) - return - M.pixel_y = 6 - M.old_y = 6 - density = 1 - icon_state = "up" - ..() - return +/obj/structure/stool/bed/roller/post_buckle_mob(mob/living/M as mob) + if(M == buckled_mob) + M.pixel_y = 6 + M.old_y = 6 + density = 1 + icon_state = "up" + else + buckled_mob.pixel_y = 0 + buckled_mob.old_y = 0 + density = 0 + icon_state = "down" -/obj/structure/stool/bed/roller/manual_unbuckle(mob/user as mob) - if(buckled_mob) - if(buckled_mob.buckled == src) //this is probably unneccesary, but it doesn't hurt - buckled_mob.pixel_y = 0 - buckled_mob.old_y = 0 - buckled_mob.anchored = initial(buckled_mob.anchored) - buckled_mob.buckled = null - buckled_mob.update_canmove() - buckled_mob = null - density = 0 - icon_state = "down" - ..() - return + return ..() /obj/structure/stool/bed/roller/MouseDrop(over_object, src_location, over_location) ..() diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 16d84f6aad..55f3e36398 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -2,12 +2,10 @@ name = "chair" desc = "You sit in this. Either by will or force." icon_state = "chair" + buckle_lying = 0 //force people to sit up in chairs when buckled var/propelled = 0 // Check for fire-extinguisher-driven chairs -/obj/structure/stool/MouseDrop(atom/over_object) - return - /obj/structure/stool/bed/chair/New() ..() spawn(3) //sorry. i don't think there's a better way to do this. @@ -68,11 +66,6 @@ src.set_dir(turn(src.dir, 90)) return -/obj/structure/stool/bed/chair/MouseDrop_T(mob/M as mob, mob/user as mob) - if(!istype(M)) return - buckle_mob(M, user) - return - // Chair types /obj/structure/stool/bed/chair/wood/normal icon_state = "wooden_chair" @@ -105,7 +98,7 @@ return ..() -/obj/structure/stool/bed/chair/comfy/afterbuckle() +/obj/structure/stool/bed/chair/comfy/post_buckle_mob() if(buckled_mob) overlays += armrest else @@ -122,7 +115,7 @@ /obj/structure/stool/bed/chair/office anchored = 0 - movable = 1 + buckle_movable = 1 /obj/structure/stool/bed/chair/comfy/black color = rgb(167,164,153) @@ -143,15 +136,14 @@ if (O != occupant) Bump(O) else - unbuckle() + unbuckle_mob() /obj/structure/stool/bed/chair/office/Bump(atom/A) ..() if(!buckled_mob) return if(propelled) - var/mob/living/occupant = buckled_mob - unbuckle() + var/mob/living/occupant = unbuckle_mob() var/def_zone = ran_zone() var/blocked = occupant.run_armor_check(def_zone, "melee") diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index f412467c65..2db5b8e738 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -35,7 +35,7 @@ return /obj/structure/stool/MouseDrop(atom/over_object) - if (istype(over_object, /mob/living/carbon/human)) + if(istype(over_object, /mob/living/carbon/human) && type == /obj/structure/stool) //i am sorry for this, but the inheritance mess requires it var/mob/living/carbon/human/H = over_object if (H==usr && !H.restrained() && !H.stat && in_range(src, over_object)) var/obj/item/weapon/stool/S = new/obj/item/weapon/stool() @@ -43,6 +43,8 @@ src.loc = S H.put_in_hands(S) H.visible_message("\red [H] grabs [src] from the floor!", "\red You grab [src] from the floor!") + return + return ..() /obj/item/weapon/stool name = "stool" diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 59a819b8b9..d07f1a33cb 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -3,7 +3,7 @@ desc = "You sit in this. Either by will or force." icon_state = "wheelchair" anchored = 0 - movable = 1 + buckle_movable = 1 var/driving = 0 var/mob/living/pulling = null @@ -93,7 +93,7 @@ if (O != occupant) Bump(O) else - unbuckle() + unbuckle_mob() if (pulling && (get_dist(src, pulling) > 1)) pulling.pulledby = null pulling << "\red You lost your grip!" @@ -102,11 +102,11 @@ if (occupant && (src.loc != occupant.loc)) src.loc = occupant.loc // Failsafe to make sure the wheelchair stays beneath the occupant after driving -/obj/structure/stool/bed/chair/wheelchair/attack_hand(mob/user as mob) +/obj/structure/stool/bed/chair/wheelchair/attack_hand(mob/living/user as mob) if (pulling) MouseDrop(usr) else - manual_unbuckle(user) + user_unbuckle_mob(user) return /obj/structure/stool/bed/chair/wheelchair/MouseDrop(over_object, src_location, over_location) @@ -138,8 +138,7 @@ if(!buckled_mob) return if(propelled || (pulling && (pulling.a_intent == "hurt"))) - var/mob/living/occupant = buckled_mob - unbuckle() + var/mob/living/occupant = unbuckle_mob() if (pulling && (pulling.a_intent == "hurt")) occupant.throw_at(A, 3, 3, pulling) diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index b25c03080e..d5b07d29cc 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -20,7 +20,6 @@ // Life vars/ var/energy = 0 var/obj/effect/plant_controller/master = null - var/mob/living/buckled_mob var/datum/seed/seed /obj/effect/plantsegment/New() @@ -56,7 +55,7 @@ var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) del src else - manual_unbuckle(user) + user_unbuckle_mob(user) return // Plant-b-gone damage is handled in its entry in chemistry-reagents.dm ..() @@ -71,39 +70,7 @@ update() return - manual_unbuckle(user) - -/obj/effect/plantsegment/proc/unbuckle() - if(buckled_mob) - if(buckled_mob.buckled == src) //this is probably unneccesary, but it doesn't hurt - buckled_mob.buckled = null - buckled_mob.anchored = initial(buckled_mob.anchored) - buckled_mob.update_canmove() - buckled_mob = null - return - -/obj/effect/plantsegment/proc/manual_unbuckle(mob/user as mob) - if(buckled_mob) - if(prob(seed ? min(max(0,100 - seed.potency),100) : 50)) - if(buckled_mob.buckled == src) - if(buckled_mob != user) - buckled_mob.visible_message(\ - "[user.name] frees [buckled_mob.name] from [src].",\ - "[user.name] frees you from [src].",\ - "You hear shredding and ripping.") - else - buckled_mob.visible_message(\ - "[buckled_mob.name] struggles free of [src].",\ - "You untangle [src] from around yourself.",\ - "You hear shredding and ripping.") - unbuckle() - else - var/text = pick("rips","tears","pulls") - user.visible_message(\ - "[user.name] [text] at [src].",\ - "You [text] at [src].",\ - "You hear shredding and ripping.") - return + user_unbuckle_mob(user) /obj/effect/plantsegment/proc/grow() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index b1170468d8..4431ccdf80 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -354,6 +354,8 @@ else if (W == handcuffed) handcuffed = null update_inv_handcuffed() + if(buckled && buckled.buckle_require_restraints) + buckled.unbuckle_mob() else if (W == legcuffed) legcuffed = null diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index cac59fc767..f72ee8136c 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -131,6 +131,10 @@ else msg += "[t_He] [t_is] \icon[handcuffed] handcuffed!\n" + //buckled + if(buckled) + msg += "[t_He] [t_is] \icon[buckled] buckled to [buckled]!\n" + //belt if(belt) if(belt.blood_DNA) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 545fa41c03..673744975c 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -167,6 +167,8 @@ update_inv_back() else if (W == handcuffed) handcuffed = null + if(buckled && buckled.buckle_require_restraints) + buckled.unbuckle_mob() success = 1 update_inv_handcuffed() else if (W == legcuffed) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b9f898ab5d..79537ae833 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -555,9 +555,9 @@ for(var/mob/O in viewers(C)) O.show_message("\red [usr] manages to unbuckle themself!", 1) C << "\blue You successfully unbuckle yourself." - C.buckled.manual_unbuckle(C) + C.buckled.user_unbuckle_mob(C) else - L.buckled.manual_unbuckle(L) + L.buckled.user_unbuckle_mob(L) //Breaking out of a locker? else if( src.loc && (istype(src.loc, /obj/structure/closet)) ) @@ -657,6 +657,8 @@ CM.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) del(CM.handcuffed) CM.handcuffed = null + if(buckled && buckled.buckle_require_restraints) + buckled.unbuckle_mob() CM.update_inv_handcuffed() else var/obj/item/weapon/handcuffs/HC = CM.handcuffed diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5088f98108..869f98923a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -855,21 +855,17 @@ note dizziness decrements automatically in the mob's Life() proc. canmove = 0 pixel_y = V.mob_offset_y - 5 else - lying = 0 + if(buckled.buckle_lying != -1) lying = buckled.buckle_lying canmove = 1 pixel_y = V.mob_offset_y else if(buckled) - if (!buckled.movable) + if(buckled.buckle_lying != -1) lying = buckled.buckle_lying + if (!buckled.buckle_movable) anchored = 1 canmove = 0 - if(istype(buckled,/obj/structure/stool/bed/chair) ) - lying = 0 - else - lying = 1 else anchored = 0 canmove = 1 - lying = 0 else if( stat || weakened || paralysis || resting || sleeping || (status_flags & FAKEDEATH)) lying = 1 canmove = 0 @@ -905,7 +901,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/facedir(var/ndir) if(!canface()) return 0 set_dir(ndir) - if(buckled && buckled.movable) + if(buckled && buckled.buckle_movable) buckled.set_dir(ndir) client.move_delay += movement_delay() return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm index 8eca5f355d..b8d1c9a87c 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm @@ -8,7 +8,7 @@ if(prob(100 * weakness)) user << "\red You are suddenly zapped away elsewhere!" if (user.buckled) - user.buckled.unbuckle() + user.buckled.unbuckle_mob() var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(3, 0, get_turf(user)) @@ -28,7 +28,7 @@ if(prob(100 * weakness)) M << "\red You are displaced by a strange force!" if(M.buckled) - M.buckled.unbuckle() + M.buckled.unbuckle_mob() var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(3, 0, get_turf(M)) @@ -47,7 +47,7 @@ if(prob(100 * weakness)) M << "\red You are displaced by a strange force!" if(M.buckled) - M.buckled.unbuckle() + M.buckled.unbuckle_mob() var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() sparks.set_up(3, 0, get_turf(M)) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index df2286f70e..85e923e08c 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -13,6 +13,10 @@ animate_movement=1 luminosity = 3 + can_buckle = 1 + buckle_movable = 1 + buckle_lying = 0 + var/attack_log = null var/on = 0 var/health = 0 //do not forget to set health for your vehicle! @@ -25,7 +29,6 @@ var/emagged = 0 var/powered = 0 //set if vehicle is powered and should use fuel when moving var/move_delay = 1 //set this to limit the speed of the vehicle - var/movable = 1 var/obj/item/weapon/cell/cell var/charge_use = 5 //set this to adjust the amount of power the vehicle uses per move @@ -298,9 +301,7 @@ C.layer = layer + 0.1 //so it sits above the vehicle if(ismob(C)) - var/mob/M = C - M.buckled = src - M.update_canmove() + buckle_mob(C) return 1 @@ -343,10 +344,7 @@ load.layer = initial(load.layer) if(ismob(load)) - var/mob/M = load - M.buckled = null - M.anchored = initial(M.anchored) - M.update_canmove() + unbuckle_mob(load) load = null From 70f67409d548eebbca6c8cd01d8bac3d43791a8d Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Mon, 12 Jan 2015 21:22:22 +0000 Subject: [PATCH 107/282] HE pipe changes HE pipes will now change colour as they heat up, the procs for calculating this are in type2type.dm. Mobs buckled to HE pipes will be forced to lie down and will share heat with and get burned by the pipe network. Signed-off-by: Mloc-Argent --- code/ATMOSPHERICS/he_pipes.dm | 43 +++++++++++++++++- code/__HELPERS/type2type.dm | 30 +++++++++++- .../living/carbon/human/species/species.dm | 2 +- icons/atmos/heat.dmi | Bin 4949 -> 4827 bytes icons/atmos/junction.dmi | Bin 2847 -> 2799 bytes 5 files changed, 71 insertions(+), 4 deletions(-) diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/he_pipes.dm index c22c483e8c..f9dbef84cf 100644 --- a/code/ATMOSPHERICS/he_pipes.dm +++ b/code/ATMOSPHERICS/he_pipes.dm @@ -3,18 +3,23 @@ obj/machinery/atmospherics/pipe/simple/heat_exchanging icon = 'icons/atmos/heat.dmi' icon_state = "intact" pipe_icon = "hepipe" + color = "#404040" level = 2 var/initialize_directions_he var/surface = 2 //surface area in m^2 + var/icon_temperature = T20C //stop small changes in temperature causing an icon refresh minimum_temperature_difference = 20 thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT + buckle_lying = 1 + // BubbleWrap New() ..() initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe // BubbleWrap END + color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. initialize() normalize_dir() @@ -48,19 +53,53 @@ obj/machinery/atmospherics/pipe/simple/heat_exchanging if(!parent) ..() else - var/environment_temperature = 0 + var/datum/gas_mixture/pipe_air = return_air() if(istype(loc, /turf/simulated/)) + var/environment_temperature = 0 if(loc:blocks_air) environment_temperature = loc:temperature else var/datum/gas_mixture/environment = loc.return_air() environment_temperature = environment.temperature - var/datum/gas_mixture/pipe_air = return_air() if(abs(environment_temperature-pipe_air.temperature) > minimum_temperature_difference) parent.temperature_interact(loc, volume, thermal_conductivity) else if(istype(loc, /turf/space/)) parent.radiate_heat_to_space(surface, 1) + if(buckled_mob) + var/hc = pipe_air.heat_capacity() + var/avg_temp = (pipe_air.temperature * hc + buckled_mob.bodytemperature * 3500) / (hc + 3500) + pipe_air.temperature = avg_temp + buckled_mob.bodytemperature = avg_temp + + var/heat_limit = 1000 + + var/mob/living/carbon/human/H = buckled_mob + if(istype(H) && H.species) + heat_limit = H.species.heat_level_3 + + if(pipe_air.temperature > heat_limit + 1) + buckled_mob.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, "chest", used_weapon = "Excessive Heat") + + //fancy radiation glowing + if(pipe_air.temperature && (icon_temperature > 500 || pipe_air.temperature > 500)) //start glowing at 500K + if(abs(pipe_air.temperature - icon_temperature) > 10) + icon_temperature = pipe_air.temperature + + var/h_r = heat2color_r(icon_temperature) + var/h_g = heat2color_g(icon_temperature) + var/h_b = heat2color_b(icon_temperature) + + if(icon_temperature < 2000) //scale up overlay until 2000K + var/scale = (icon_temperature - 500) / 1500 + h_r = 64 + (h_r - 64)*scale + h_g = 64 + (h_g - 64)*scale + h_b = 64 + (h_b - 64)*scale + + animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) + + + obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction icon = 'icons/atmos/junction.dmi' diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index cfac858e25..87b63f7120 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -194,7 +194,7 @@ proc/tg_list2text(list/list, glue=",") . += copytext(text, last_found, found) last_found = found + delim_len while(found) - + /proc/text2numlist(text, delimiter="\n") var/list/num_list = list() for(var/x in text2list(text, delimiter)) @@ -339,3 +339,31 @@ proc/tg_list2text(list/list, glue=",") if("Orange") return 'icons/mob/screen1_Orange.dmi' if("Midnight") return 'icons/mob/screen1_Midnight.dmi' else return 'icons/mob/screen1_White.dmi' + +//adapted from http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/ +/proc/heat2color(temp) + return rgb(heat2color_r(temp), heat2color_g(temp), heat2color_b(temp)) + +/proc/heat2color_r(temp) + temp /= 100 + if(temp <= 66) + . = 255 + else + . = max(0, min(255, 329.698727446 * (temp - 60) ** -0.1332047592)) + +/proc/heat2color_g(temp) + temp /= 100 + if(temp <= 66) + . = max(0, min(255, 99.4708025861 * log(temp) - 161.1195681661)) + else + . = max(0, min(255, 288.1221695283 * ((temp - 60) ** -0.0755148492))) + +/proc/heat2color_b(temp) + temp /= 100 + if(temp >= 66) + . = 255 + else + if(temp <= 16) + . = 0 + else + . = max(0, min(255, 138.5177312231 * log(temp - 10) - 305.0447927307)) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 8bdfa8a59d..edbb204be2 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -56,7 +56,7 @@ var/cold_level_3 = 120 // Cold damage level 3 below this point. var/heat_level_1 = 360 // Heat damage level 1 above this point. var/heat_level_2 = 400 // Heat damage level 2 above this point. - var/heat_level_3 = 1000 // Heat damage level 2 above this point. + var/heat_level_3 = 1000 // Heat damage level 3 above this point. var/synth_temp_gain = 0 // IS_SYNTHETIC species will gain this much temperature every second var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning. diff --git a/icons/atmos/heat.dmi b/icons/atmos/heat.dmi index 6d1ed47e7ef869a5947c3f9a26f0d36a4ca1615f..1014c2015b0530e63190c50fd363fdf51ae96873 100644 GIT binary patch literal 4827 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 literal 4949 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 diff --git a/icons/atmos/junction.dmi b/icons/atmos/junction.dmi index 70286bde155d30de04911477296cdde32faa7b1d..892f5823f2e512291e3bb0a5c4a49afb33370d74 100644 GIT binary patch delta 2791 zcmVfFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5; z&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+Gp{5uxkQPJGbOXA7^I7f zGp#5wHxzZ`()~$G>u%3*sUOB4C?ji-VvXZmaMN18ElNyhR!pve0&5H7z_qvJRXzjbV|nKF&PX7L}fpsvZm8%EJJqLlg)zd26*h^ z6`*w|<#bu^Dk#}swilG@bibc|Xex^Ep0rxOYQ zd{+V>*?-)to)txX27aI?lL-K5w*b5>T?*!m0szTM02DKcx;l~$JOCp;KoA7644wXt z6Fz`R`Q!1pkQudQ0a#f@khTE)wV1sgm8k@}&@oU+rrGptM3a_JHkAGK4gQ_+Ux9x+ZwaIiO5GXgs0pNR* zC4a_`$K&{uwBB^0Xq7Agh3zX79}~wZ>;te`O|@|}8i5aivg?}$J54pUf8F~ORsd>d z2ZI6WbUL}qO~v-5NEV+E(r~;2G#sx04aX}$!;w+|pO;@hq!hsC<<}2?31~Q80X*(e z)qha1i#U}LWCK>Y_)xFNa(OLP!(Rdf;O~UWE>{_^01d}0fCP1ngLnmyppJ16uK*3l zD?r1^odyzs06b8bvpa&TAx730*ER>T?ZeiZ+!x#>wo&?4_l(^bmQw2%(hLnK7o`E0L)v0^)SR_ zGQocsVRbw6fqK>_5cUChSS5IQxf6Ds?EYM#uJs9&?gq9n@8;Ke@F{hyPvCC{OTsHb zQ6Hq}Gyc3anoK6~jD+9z<;$0Ix3^UkAn}feOq`$yzCOV`D)k9eeSn$4U%&K>sednE zS_yo8f_ciQPe37r`GjFef*>Ga7?LmyXVz(#3}2r>M|+ZPSBqMJ#4{h#h#Z@bCd6{cZFKl2cQFL@3zo!WeE^DTU#ivzpa}Z_bjPfaCSj^R0DwZigO>UL zB0hkr_t(3GiTVJPqJ61aAAdmD2S{q9j`!DhyItio#@4%ob<3yyuVMwXRS1!tKbm?3 zIgh&42LQfX7S;Y#sSiMriUUw=%>wFJAAq9TZmsnJY`ni-6ki{pczcq@S2_+*`upoq zy?MB8A0(|!Dv`kW$F|;IFVi+(A0Qi<`T+DJ&BeJQ0F-kJ|-Z~nfD=fAzdqhBxnuCIqO z11>_o{QU@zw%T~UA7MTGqfzAF^-Ooa`(NmvVx~ipW@S}Pk&fjTSLF!M-)ZU{h?F- z!-o&CxVVU~U%$rNefjbQ=jZ3Re*HSGUcDNBPq%yZ>J^H}w>}G4US1}9dwZnaZqH5O z@&>;NoS&a#G#cUEyLU$RUug@V$lNvh#*G^|Jv~*q-pB0h?9?*GU|j*Ilfw_r&dyHi zZ+3Tg3pql(Q-7wY7^%)+meZGpt>drkG;nu!H**k1qfwj-_Yud1W&=Om`UxL#%;p&o za7w^ifZg5Q)V5^}e!t(3w_*S1IX*s4-A5RPasCE-{G$72zq4)uf*>Gedc!QLmjhAx zJew7iFO@-JBKUE5cu1%>eDB^p92^`dd*f?sYxwZtgMYF&PUT;_b`4jqT*0?*-$0|w z3kwT4J3GVD(h{cA3*VFw5^wkU^JnOiU*_>I$~+I?a@uuK&d$ydMNun?BHX@xyK)X; z6h*CP&z{B0Z{NNZa)yO0fZ?p*x$A8fd}OR?Bm~9^Iis_$fX{h0&_o(EJD|F~aTWMB zz<6x@UjY8b z$bVKG0GULU@p!E440gNS!ig$*@)ubPz`tLf!dd{`&%*z?`}555_VzaI0K#^_$;rvm z-Me?sMEA>g!1l^Ej{b23{Fwc_H2Lf{bxKr`iUXJ^yg;Xc6kTUP0!9)=Y|FoVbGtIu z?*4;?TsgdRizaoLE&al^~RGB zNmSuapsYe4NylG>Te~EyQ}WKhyaAyyTuam_OTK*t_$!F_#_h?so)ftD<6h$TP4mWW zVci1sdOcDHZ#)PBCqvrSEdT(Vo}L1@3=7}7aAYnsTM2OCyvW?APr66XXUsl$@L(WU zJ}$DAgcM^m8cE$7NXy_&`(O9*)Bh`B0YtVl@erpBdGdJ+ATtO$6>{MHp9FAiYJ t8y2PR@~tbt;o)Jf1u*3ei&AI#{|6J_KXpg284Caa002ovPDHLkV1m5$J|O@A delta 2840 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 Date: Tue, 13 Jan 2015 13:44:35 +1300 Subject: [PATCH 108/282] Fixed e-guns in incorrect left/right hands Also sorted the files alphabetically --- icons/mob/items_lefthand.dmi | Bin 154854 -> 155827 bytes icons/mob/items_righthand.dmi | Bin 156284 -> 159011 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 53cf56309f7f3ff364c0bdd72dd792b5b970bd66..9d7c3845d9c6b0635b69b49a5ed44aef0d7a7662 100644 GIT binary patch literal 155827 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�!Ft^qWNf(;M_QE3V& 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 z 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≠gd=@p_J>8DXrxT;)^9E>J^K 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

    Gav#PG}&ektyOE|kuyU~LK3LB-@ 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 diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index cae6ddf04286cc56c6c80414143bf014b975f753..6155e0994c870148b53f1960ca9a3e0d69ec0a21 100644 GIT binary patch literal 159011 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

    +jy-3mZPxGkp!GxRwI`< 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 z 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

    _MlDqM~iNJPvy?n?Bzcb$6MIiC+hwhRpo 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 literal 156284 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�!_v5bd`c-`V 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 a5i8uW;w;--Q?7-;VPR%vT72Zv-G2e-nu;_4 From 5d0d5d0aba1e4002d7703901514f9592f1ae8e79 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 16:34:15 +1300 Subject: [PATCH 109/282] Fixes robot modules not regenerating - Also added a type check --- code/modules/mob/living/silicon/robot/robot_modules.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index e8fa3727ce..06b9c81ad6 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -34,8 +34,11 @@ if(!stacktypes || !stacktypes.len) return for(var/T in stacktypes) - var/O = locate(T) in src.modules - var/obj/item/stack/S = O + var/obj/item/stack/S + for(var/obj/O in src.modules) + if(O.type == T) + S = O + continue if(!S) src.modules -= null @@ -43,6 +46,9 @@ src.modules |= S S.amount = 1 + if(!istype(S)) + continue + if(S && S.amount < stacktypes[T]) S.amount++ From cac7f64fdcb33e476c0ec99dcb66747cd58abbb6 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 22:16:20 +1300 Subject: [PATCH 110/282] Robot module fix Thanks mwerezak --- code/modules/mob/living/silicon/robot/robot_modules.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 06b9c81ad6..7cbc5bef5e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -38,7 +38,7 @@ for(var/obj/O in src.modules) if(O.type == T) S = O - continue + break if(!S) src.modules -= null From 985d410657d7b20ec83f0f0e47a39e20e014a0a8 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 13 Jan 2015 23:19:58 +1300 Subject: [PATCH 111/282] Air tank interface fix - Allows tanks to be toggled on and off as internals from their UI. - If internals are off, all tanks capable of being used for internals will display "tank is connected to a mask". - If internals are on, only the tank that is actively supplying air is listed as "connected" and "open". All others will display as "not connected". - Tanks inside rigs will correctly display their status in their UI (if you open it before putting it in the rig, but cannot be toggled on through the interface. Toggling them on with the internals button works. --- .../game/objects/items/weapons/tanks/tanks.dm | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index f6485f0a16..d7a05a7173 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -117,10 +117,16 @@ ui_interact(user) /obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/mob/living/carbon/location = null + if(istype(loc, /obj/item/weapon/rig)) // check for tanks in rigs + if(istype(loc.loc, /mob/living/carbon)) + location = loc.loc + else if(istype(loc, /mob/living/carbon)) + location = loc + var/using_internal - if(istype(loc,/mob/living/carbon)) - var/mob/living/carbon/location = loc + if(istype(location)) if(location.internal==src) using_internal = 1 @@ -133,9 +139,20 @@ data["valveOpen"] = using_internal ? 1 : 0 data["maskConnected"] = 0 - if(istype(loc,/mob/living/carbon)) - var/mob/living/carbon/location = loc - if(location.internal == src) + + if(istype(location)) + var/mask_check = 0 + + if(location.internal == src) // if tank is current internal + mask_check = 1 + else if(src in location) // or if tank is in the mobs possession + if(!location.internal) // and they do not have any active internals + mask_check = 1 + else if(istype(src.loc, /obj/item/weapon/rig) && src.loc in location) // or the rig is in the mobs possession + if(!location.internal) // and they do not have any active internals + mask_check = 1 + + if(mask_check) if(location.wear_mask && (location.wear_mask.flags & AIRTIGHT)) data["maskConnected"] = 1 else if(istype(location, /mob/living/carbon/human)) From 7a2ebef87aab993585a6bdbd66dc5e3d6a9915ca Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 04:54:45 -0800 Subject: [PATCH 112/282] Tries to fix mapmerge error --- maps/exodus-1.dmm | 16 +++---- maps/exodus-3.dmm | 2 +- maps/exodus-4.dmm | 24 +++++----- maps/exodus-5.dmm | 112 ++++++++++++++++++++++++---------------------- 4 files changed, 80 insertions(+), 74 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index a8e83d5c20..ae34a17a6b 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -645,7 +645,7 @@ "amu" = (/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "amv" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/security) "amw" = (/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/maintenance/substation/security) -"amx" = (/turf/simulated/floor/plating,/area/space) +"amx" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/space) "amy" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/primary/fore) "amz" = (/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/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/hallway/primary/fore) "amA" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/camera{c_tag = "Brig Toxin Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/brig) @@ -763,7 +763,7 @@ "aoI" = (/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/dormitory) "aoJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/dormitory) "aoK" = (/turf/simulated/floor/plating,/area/maintenance/dormitory) -"aoL" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) +"aoL" = (/turf/simulated/floor/plating/airless,/area/maintenance/dormitory) "aoM" = (/obj/machinery/door/blast/regular{id = "Cell 2"; name = "Cell Door"},/turf/simulated/floor,/area/security/prison) "aoN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/security/prison) "aoO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison) @@ -923,7 +923,7 @@ "arM" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/maintenance/dormitory) "arN" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/maintenance/dormitory) "arO" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "dorm_inner"; locked = 1; name = "Dormitory Internal Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory) -"arP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "arrivals_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/space) +"arP" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/maintenance/dormitory) "arQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/evahallway) "arR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/brig) "arS" = (/obj/machinery/door/airlock/glass_security{name = "Solitary Confinement 1"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) @@ -7312,15 +7312,15 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeakfakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMakNakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaamxaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafamxaafaafamxaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafamxaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoKaoLaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarkaqBagDaobarlagWarmarnalKaogaroaoiaokarparqarrarsartaonarualWarvarwarxalLarzarAamUamzamyarEarFarGarHamjanGanGarIanGanGanGanGanGanGarJarKarLarMarMapFarNaoHaoHarOaoHaoHaaaaaaakrakrakraaaaaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamxarPamxaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOasParAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafatgathathatiathathatjaafaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatQatRatRatRatRatRatQatPaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZauuaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-3.dmm b/maps/exodus-3.dmm index e88029d54a..ad3f736587 100644 --- a/maps/exodus-3.dmm +++ b/maps/exodus-3.dmm @@ -101,7 +101,7 @@ "bW" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bX" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "bY" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/space) +"bZ" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/space) "ca" = (/turf/simulated/floor/plating/airless,/area/space) "cb" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) "cc" = (/obj/machinery/camera{c_tag = "North Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area/space) diff --git a/maps/exodus-4.dmm b/maps/exodus-4.dmm index 39e1ff0072..d0a2adf82a 100644 --- a/maps/exodus-4.dmm +++ b/maps/exodus-4.dmm @@ -33,11 +33,11 @@ "aG" = (/turf/space,/area/solar/constructionsite) "aH" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/solar/constructionsite) "aI" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aL" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aL" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) -"aN" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"aN" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "aO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "aP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation/solars) "aQ" = (/turf/simulated/wall,/area/djstation) @@ -58,7 +58,7 @@ "bf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation/solars) "bg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation/solars) "bh" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/djstation) -"bi" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"bi" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "bj" = (/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/djstation/solars) "bk" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation) "bl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) @@ -86,7 +86,7 @@ "bH" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/djstation) "bI" = (/obj/machinery/door/blast/regular{id = "constructiondriver2"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) "bJ" = (/turf/simulated/floor/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/constructionsite/ai) -"bK" = (/obj/structure/cable,/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"bK" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/solar{id = "construction_solar"; name = "Construction Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "bL" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "bM" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 2e+006},/turf/simulated/floor/plating,/area/djstation) "bN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/djstation) @@ -403,16 +403,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabaaabaaabaaabacaeapapapapauauaoaoaoauauapapapapaeacabaaabaaabaaabanauauapaeacaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabaaabaaabababapaqapauauauauauaoaoaoauauauauauapaqapabababaaabaaabanaoauapaeacaFaEaFaEaFaEaFaEaFaFaEaEaEaFaFaFabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIaIaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanababababababapapauauauaoaoaoaoaoaoaoaoaoaoauauauauapapababababababanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIaJaKaLaMaNaIabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacacacacapapauauauaoaoaoaoaoaoaoaoaoaoaoaoaoaoauauapapacacacacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaIaJaOaJaPaNaIababaaaaaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeaeaqauauaoaoaoaoaoapapapaRapapapaoaoaoaoauauauaqaeaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaIaJaOaJaPaNaIabababaaaSaTaUaVaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacaeaeapapauauaoaoaoapapapaWaXaYaXaWapapapaoaoaoauauapapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababaIaJaOaJaPaNaIababababaZbabbaVaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeapauauauaoaoapapababaWaXaYaXaWababapapaoaoaoauauapaeaeacabanauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIaJaKaNaMaLaIabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacacacacapapauauauaoaoaoaoaoaoaoaoaoaoaoaoaoaoauauapapacacacacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaIaJaOaJaPaLaIababaaaaaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeaeaqauauaoaoaoaoaoapapapaRapapapaoaoaoaoauauauaqaeaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaIaJaOaJaPaLaIabababaaaSaTaUaVaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababacaeapaoaoanabacaeaeapapauauaoaoaoapapapaWaXaYaXaWapapapaoaoaoauauapapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababaIaJaOaJaPaLaIababababaZbabbaVaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabaaabacaeapaoaoanabacaeaeapauauauaoaoapapababaWaXaYaXaWababapapaoaoaoauauapaeaeacabanauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaIaIaIaIbcbdbebcbfbgbcaIaIaIaIaQaQbhaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaababalabalalababalababalacaeapaoaoanabacaeaeapauaoaoaoapapabababaWaXaYaXaWabababapapauaoauauapaeaeacabanaoauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibibjbkblbmbnbobjbibibibiaQbpbqbrbsaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababalababalalalalalalalalalalalacaeapaoaoapacacaeapapauaoaoaoapabababaWaWaWbtaWaWaWabababapauauaoauapapaeacacapauaoapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKbjbkblbmbnbobjbKbKbKbKaQbpbqbrbsaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababalababalalalalalalalalalalalacaeapaoaoapacacaeapapauaoaoaoapabababaWaWaWbtaWaWaWabababapauauaoauapapaeacacapauaoapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbubvbvbvbwbxaVbybzbAbwbBbBbBbCaQbpbDbEbFbGbHcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabalalalalalalalalalalalalalalalalalalacaeapaoaoapaeaeaeapauauaoaoapapababaWaWbJbJaXbJbJaWaWababapapauaoauauapaeaeaeapauauapaeacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKbcbLaVbMaVbNbcbKbKbKbKaQbObqaVbPaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababababavavavavavabalabalabalabalabalacacacacacacacacacacacaeapaoaoapaqapapapauauauauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauauapacacavavavababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibibcbLaVbMaVbNbcbibibibiaQbObqaVbPaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabavabababababavavavavavabalabalabalabalabalacacacacacacacacacacacaeapaoaoapaqapapapauauauauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauauapacacavavavababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbQbRbRbRbSbTbUbVaVbWbSbXbXbXaKaQbYbDbEbEbZbHcraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalabalalalalalalalalalalalalalaeaeaeaeaeaeaeaeaeaeaeaeapaoaoauauauauauauaoauauapaXaXaXaWbJbJaXaYaXbJbJaWaXaXaXapauauaoauauauauaoauauaoapaeaealalalalalalalalalalalalaaaaabaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbKbKbKbKcbcccdcecfcgcbbKbKbKbKaQchbqaVciaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababalalalalalababalalabalabalabalabalabalcjaecjaeaeaeaeaeaeaeaeaeapauauauauauauauaoauauauckaYaYaYclaXaXaXaYaXaXaXcmaYaYaYcnaoauaoaoaoaoaoaoauauauapaeaealalalalalalalalalabalabalabalalalabalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaIbibibibicbcccdcecfcgcbbibibibiaQchbqaVciaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababalalalalalababalalabalabalabalabalabalcjaecjaeaeaeaeaeaeaeaeaeapauauauauauauauaoauauauckaYaYaYclaXaXaXaYaXaXaXcmaYaYaYcnaoauaoaoaoaoaoaoauauauapaeaealalalalalalalalalabalabalabalalalabalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaQaQaQaQaQaQaQaQcoaQaQaQaQaQaQaQaQcpbDbEbEcqbHbIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababalalalalalalalabalabalalalalalaeaeaecjaeaeaeaeaeaeaeaeapaoaoauaoaoaoaoaoaoaoaoapaXaXaXaWbJbJaXaYaXbJbJaWcscscsapauauaoauauauauauauaoaoapaeaealalalalalalalalalalalalalalalalabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabctcucvcwcwcxctcyczcAcBcCcDcEcFbEcEcDbEcGaVcHaQaQaQaQaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavavavabababababavavavavavavavavavavavacacacacacacacacacacacacapaoaoapcIapapapcJaucJauapaWaWaWaWaXbJaXaXaXbJaXaWaWaWaWapauauaoauapapapaqapauaoapacacavavavavavababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcKcucLcucucLcKcMcMcNcMcMaQaQaQaQaQaQcOcPbEcQcRcScTcUaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababaccjcVcWcWcVaeaeaecVcXcXcXcXcVcVababaWaWbJbJaXbJbJaWaWababcVcVcXcXcXcXcVaeaeaecVcWcWcXaeacababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 9fb4fa0d41..bb8c4fc319 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -21,6 +21,7 @@ "au" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored) "av" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "aw" = (/obj/structure/transit_tube,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) +"ax" = (/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/airless,/area/mine/abandoned) "ay" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway) "az" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) "aA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -142,7 +143,7 @@ "cM" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) "cN" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/research_outpost/atmos) "cO" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/atmos) -"cP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned) +"cP" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "cQ" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned) "cR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "cS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) @@ -165,7 +166,7 @@ "dj" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small,/turf/simulated/floor,/area/research_outpost/atmos) "dk" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 9},/area/shuttle/alien/mine) "dl" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/shuttle/alien/mine) -"dm" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 10},/area/shuttle/alien/mine) +"dm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "dn" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "do" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "dp" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area/space) @@ -225,7 +226,7 @@ "er" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "es" = (/turf/simulated/mineral,/area/mine/explored) "et" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 5},/area/shuttle/alien/mine) -"eu" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) +"eu" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 10},/area/shuttle/alien/mine) "ev" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "ew" = (/turf/simulated/wall,/area/mine/abandoned) "ex" = (/turf/space,/area/shuttle/research/outpost) @@ -251,7 +252,7 @@ "eR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) "eS" = (/turf/simulated/wall/r_wall,/area/research_outpost/power) "eT" = (/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/research_outpost/power) -"eU" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned) +"eU" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "eV" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "eW" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "eX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -281,7 +282,7 @@ "fv" = (/obj/machinery/light/small{dir = 8},/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "fw" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "fx" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space) -"fy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) +"fy" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) "fz" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "fA" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "fB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -498,9 +499,9 @@ "jE" = (/turf/simulated/floor/airless,/area/mine/abandoned) "jF" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned) "jG" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"jH" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned) -"jI" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned) -"jJ" = (/obj/structure/table/rack,/turf/simulated/floor,/area/mine/abandoned) +"jH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"jI" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) +"jJ" = (/obj/structure/table/rack,/turf/simulated/floor/airless,/area/mine/abandoned) "jK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "D-NE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) "jL" = (/obj/structure/transit_tube{icon_state = "S-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/entry) "jM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/research_outpost/entry) @@ -612,15 +613,15 @@ "lO" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting) "lP" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) "lQ" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"lR" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"lS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"lT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) -"lU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"lV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"lW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"lX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) +"lR" = (/obj/item/weapon/table_parts,/turf/simulated/floor/airless,/area/mine/abandoned) +"lS" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) +"lT" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) +"lU" = (/obj/structure/transit_tube,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) +"lV" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) +"lW" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) +"lX" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "lY" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned) -"lZ" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) +"lZ" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless,/area/mine/abandoned) "ma" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mb" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mc" = (/obj/structure/transit_tube{icon_state = "E-NW"},/obj/structure/lattice,/turf/space,/area/space) @@ -662,7 +663,7 @@ "mM" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "mN" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "mO" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned) -"mP" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) +"mP" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless,/area/mine/abandoned) "mQ" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "mR" = (/turf/simulated/wall,/area/mine/explored) "mS" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored) @@ -698,13 +699,13 @@ "nw" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area/space) "nx" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area/space) "ny" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"nz" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) +"nz" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "nA" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "nB" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) "nC" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "nD" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "nE" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"nF" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"nF" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "nG" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space) "nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/research_outpost/gearstore) "nI" = (/obj/machinery/door/airlock/glass_mining{name = "Equipment storage"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/research_outpost/gearstore) @@ -732,14 +733,14 @@ "oe" = (/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/research_outpost/longtermstorage) "of" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "og" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"oh" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) +"oh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "oi" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned) "oj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) "ok" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"ol" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) +"ol" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) "om" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "on" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"oo" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"oo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "op" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/research_outpost/gearstore) "oq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/gearstore) "or" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/door/window{dir = 4; name = "Air Tank Access"; req_access_txt = "0"; req_one_access_txt = "47;10;24"},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor,/area/research_outpost/gearstore) @@ -764,8 +765,8 @@ "oK" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "oL" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) "oM" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"oN" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"oO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned) +"oN" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless,/area/mine/abandoned) +"oO" = (/obj/machinery/door/airlock,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) "oP" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "oQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) "oR" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/research_outpost/gearstore) @@ -790,8 +791,8 @@ "pk" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored) "pl" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "pm" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"pn" = (/obj/effect/decal/remains/human,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) -"po" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned) +"pn" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) +"po" = (/obj/machinery/door/airlock,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "pp" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "pq" = (/obj/structure/table/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) "pr" = (/obj/structure/closet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -830,8 +831,8 @@ "pY" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area/mine/explored) "pZ" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area/mine/explored) "qa" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored) -"qb" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"qc" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"qb" = (/obj/structure/table/rack,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) +"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "qd" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "qe" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/mine/explored) "qf" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) @@ -875,22 +876,22 @@ "qR" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/research_outpost/gearstore) "qS" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) "qT" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"qU" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"qU" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) "qV" = (/obj/structure/transit_tube{icon_state = "E-SW"},/turf/simulated/wall/r_wall,/area/mine/explored) "qW" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "qX" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) -"qY" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) -"qZ" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/unexplored) -"ra" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) +"qY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"qZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) +"ra" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "rb" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/abandoned) -"rc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned) +"rc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "rd" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/mine/explored) "re" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) "rf" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null; req_one_access = list(13,65); req_one_access_txt = null},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "rg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "rh" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "ri" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) -"rj" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) +"rj" = (/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "rk" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/mine/explored) "rl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "rm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) @@ -898,7 +899,7 @@ "ro" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored) "rp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "rq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"rr" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) +"rr" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/obj/structure/transit_tube_pod,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "rs" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "rt" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) "ru" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) @@ -1113,6 +1114,7 @@ "vv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/mine/living_quarters) "vw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/mine/living_quarters) "vx" = (/obj/machinery/camera{c_tag = "Storage Room"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/living_quarters) +"vy" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) "vz" = (/turf/simulated/wall,/area/mine/production) "vA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) "vB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) @@ -1374,6 +1376,10 @@ "Ax" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Ay" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) "Az" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) +"AA" = (/obj/structure/transit_tube,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored) +"AB" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored) +"AC" = (/obj/structure/transit_tube/station,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored) +"AD" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1424,33 +1430,33 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaRababababababababaSaTaUaVaWaXaYaZbabbbcbdbebcbfbgbcbhbdaMaeaebibjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababbkbkababbkbkbkbkabbkbkbkbkbkbkbkababababababababaaaaaaaaaaaaaaaaaaaRabababababaSaSaSaSblbmaUbnbobpbpbpbqbcbrbsbtbubvbwbxbyaMaeaebzbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababbkababababababbkbkababababbkbkbkbkabbkbkbkbkbkbkbkbkbkbkbkbkbkbkabaaaaaaaaaaaaaaaaaaaRababababaSaSbBbCaSbDbDbDbDbEbFbGbGbHbcbcbcbcbIbJbKbKbKbKbKbKbLbMbNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabObPbOaaaaaaaaaaababababababababababababababababababababababbkabababbkbkabbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkaaaaaaaaaaaaaaaaaRababababaSbQbRbSbTbUbVbWbXbYbZcacbccbccdcebccfcgbKchcicjckclcmcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpcqcpaeaaaaaaababababababababababababbkbkbkbkbkbkabababababababbkbkbkbkbkabababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaRababababaScrcsctaScucvcwcxcyczcAcbcBbccCcDcEcFcGcHcIcJcKcLcMcNcOcoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxbPbOaaaaaaaaaaababababababababababababababababababababababbkabababbkbkabbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkaaaaaaaaaaaaaaaaaRababababaSbQbRbSbTbUbVbWbXbYbZcacbccbccdcebccfcgbKchcicjckclcmcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmcqcpaeaaaaaaababababababababababababbkbkbkbkbkbkabababababababbkbkbkbkbkabababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaRababababaScrcsctaScucvcwcxcyczcAcbcBbccCcDcEcFcGcHcIcJcKcLcMcNcOcoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPcQcRcSaeaaaaabababababababbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaafcTaaabababaScrcUcVaScWcwcXcYcZdadbdadcdadadaaMdddebKdfdgcKdhdidjcncoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkdldldmdndocpaeaaaaababababbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaedpdqaBaBaBdrdsaaabababaScrdtduaSdvdwdxdydzdAdBdCdDdEdFdGaMdHdIbKdJdKdLdMdNbKdOdPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkdldleudndocpaeaaaaababababbkbkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaedpdqaBaBaBdrdsaaabababaScrdtduaSdvdwdxdydzdAdBdCdDdEdFdGaMdHdIbKdJdKdLdMdNbKdOdPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadQdRdSdTdUdVdWaeaebkbkababbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaedYdsaeaeaeaeaedZaSaSaSaSaSaSeaaSbDaMaMebecdaedeeefegeheiaMejekelemeneoepeqeleresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetdldleuevdoewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaaaaaRexexexexexexexbceyezeAeBeCeDeEeFeGeHeIeJdaeKeLeMeNeOePdaeQeReSeSeSeTeSeSeSeresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetdldlfyevdoewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXdXdXaaaaaRexexexexexexexbceyezeAeBeCeDeEeFeGeHeIeJdaeKeLeMeNeOePdaeQeReSeSeSeTeSeSeSeresaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeeUeVeWewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdXaaaaaRexexexexexexexeXeYeZfaeZeZfbfceZfdfefffgfhfifjfkflfmfnfofpfqeSfrfsfufteSfvfwesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxfyfzfAewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaRexexexexexexexfBfCfDfEfFfGfHfIfJfKaMfLfMaMfNfOfPfQfRfSdafTfUfVfWfXfYfZgagbgcesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaefxjHfzfAewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaRexexexexexexexfBfCfDfEfFfGfHfIfJfKaMfLfMaMfNfOfPfQfRfSdafTfUfVfWfXfYfZgagbgcesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaegdgegfewggghewewewewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaRexexexexexexexgifCfDfEfFgjgkfIfJglaMgmgnaMgodadadadagpdagqgreSgsgtgugvgwergxgygyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegzgAgBgCgDgEbOdVgFewgGgHewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaRexexexexexexexbcgIgJgKfFgLgMfIgNgOaMgPgQgRgSgTgUgVaMgWgXgYgZeShahbhchdheeresesesaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaehfhggAhhhihjhkhlgFhmgHhngGewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahohphqhrhshphqhthuhvhwhxhyhyaMaMaMaMaMhzhAhBhCbghDhEaMhFhGhHhIaMhJhKhLhMhNhOhPaMhQdqaBaBaBaBaBaBaChRaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahShfhThfgBgBgghUhiewfAhVewgHhWewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahXhYhZiaibichZidieifhZigihiiijikilimaMinhAioipiqirisaMitiuiviwaMeSixeSaMaMiyiziAiBiCiDiDiEiDiDiDiFbjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeiGiHgBiIiJgBeWiKhjiLiMiNewewewewewewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababaaaaaaaaaaiOiPiQiQiQiQiRiSiTiUiViWiXiYijiZjajbjcjdjejfjgeZeZjhjieZeZjjjkjljmjnjojpjqeZeZjrjsjtjuiDjvjwjxjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaejzjAjBgBiJjChhjDhijEewjFjGewjHgFjIjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababababaaaaaaaajKjLhZhZjMhZjNjOhZjPhZjQjRjSijjajTjUjVjWjXjYjZkakbkckdkekfkckdkdkgkhkikjkkklkmknkokpkqkrksktkukviDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewjHfAgFjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewjHeWlmjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQdVhjlRewlSlTlUewiLewlVlWlXewdVlYcqlZeWfzcqewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWdVhhiLlYkwmMkwmNdVdVmOgFdVeWeWewcqmPeWdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnynzeWeWiLeWlmggeWnAmNlmkCnBeWnCfAewkwcqlYdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEnFnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnyohhhgDewoiewojokewhjewojokewhilYewmOolcqjFewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonoonGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewoNgFhjjFfAhikzhiiNhhewojoOoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewgFjFpniKdohhgFewhifAewpopppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewjFdViNgFhifAiNewoiewewjHcqpppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqaqbqcqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewjHcqjIcqpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewjHjIjIjIjJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTqUqVaiaiaiaiqWaiaiaiaiaiqXqYqZraogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaejzjAjBgBiJjChhjDhijEewjFjGewkBkCdVjJewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababababababababaaaaaaaajKjLhZhZjMhZjNjOhZjPhZjQjRjSijjajTjUjVjWjXjYjZkakbkckdkekfkckdkdkgkhkikjkkklkmknkokpkqkrksktkukviDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewkBkwkCjIewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewkBeWfAqbewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQhijBqUewjzqcjAewiLewqZraqYewdVlYjEoNeWfzhiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewkzeWdolWhifAiNewoiewewkBhipppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqalUlVqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewvydVhidVpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewkBhijEhijJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTADqVaiaiaiaiqWaiaiaiaiaiqXAAACABogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkewewewewewewewewewewewewewewoQrbrcewewadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygygygygygygygygygygyqwqCrdrerererererereqwqCgygygygygygypBrfpCrgrhrigygygygyonrjrkababbkbkbkbkbkbkbkbkrlrmrnroadqKadadqKabababbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewppppjIewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgygygygygygygygygygyaaaaaaaaaaaaaaaaesesesesesesesesgygygygygygypBrppCgygygygyrqrrpzbkabbkbkbkbkbkbkbkkDqKadrsadqKadadadabababababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewpppphiewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgygygygygygygygygygyaaaaaaaaaaaaaaaaesesesesesesesesgygygygygygypBrppCgygygygyrqrrpzbkabbkbkbkbkbkbkbkkDqKadrsadqKadadadabababababbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadewrtrurtewadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygygygygygygygygygyaaaaaaaaaaaaaaaaesesesababababesesesgygygygygyrvgygydXgygypzpzpzbkbkbkbkbkbkbkbkbkbkbkbkkDbkadqubkabbkbkababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadewrwrboQewadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesespVryrxgygygygygyesesesaaaaaaaaaaaaaaaaaaababababababababesesesgygygyrvgygydXdXdXdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkbkbkababababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLrArAqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadrBrCrDadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesmResgygymQmQesababaaaaaaaaaaaaaaaaaabkbkbkbkbkabababababesesgygyrvgygydXdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabbkbkbkbkbkababababbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 759373ac0a31d5c22c2cf227c4c350e2feb0af2d Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 09:52:14 -0800 Subject: [PATCH 113/282] Fixes runtime with hand labelers --- code/modules/paperwork/handlabeler.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 940a797add..3722d586e4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -6,9 +6,13 @@ var/label = null var/labels_left = 30 var/mode = 0 //off or on. + +/obj/item/weapon/hand_labeler/attack() + return /obj/item/weapon/hand_labeler/afterattack(atom/A, mob/user as mob, proximity) - if(!proximity) return + if(!proximity) + return if(!mode) //if it's off, give up. return if(A == loc) // if placing the labeller into something (e.g. backpack) @@ -24,10 +28,10 @@ user << "Label too big." return if(ishuman(A)) - user << "You can't label humans." + user << "The label refuses to stick to [A.name]." return if(issilicon(A)) - user << "You can't label cyborgs." + user << "The label refuses to stick to [A.name]." return if(istype(A, /obj/item/weapon/reagent_containers/glass)) user << "The label can't stick to the [A.name]. (Try using a pen)" From 1bd1687c8190f3e6703e6f2c2d1dfc7a88c0d4fc Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Tue, 13 Jan 2015 13:37:07 -0800 Subject: [PATCH 114/282] Fixes runtime error: pick() from empty list --- code/_onclick/item_attack.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 365865543f..a81c6f30fa 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -46,7 +46,11 @@ playsound(loc, hitsound, 50, 1, -1) return hit else - user.visible_message("[M] has been [pick(attack_verb)] with [src] by [user]!") + if(attack_verb.len) + user.visible_message("[M] has been [pick(attack_verb)] with [src] by [user]!") + else + user.visible_message("[M] has been attacked with [src] by [user]!") + if (hitsound) playsound(loc, hitsound, 50, 1, -1) switch(damtype) From 1b3246c1962d7b47d3e5258248fecb21bc9d4656 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:22:55 -0700 Subject: [PATCH 115/282] Adds a constant for the surface area of a HE pipe exposed to sunlight. --- code/setup.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/setup.dm b/code/setup.dm index 723766ea78..68842e7e08 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -11,8 +11,9 @@ //radiation constants #define STEFAN_BOLTZMANN_CONSTANT 0.0000000567 //W/(m^2*K^4) #define COSMIC_RADIATION_TEMPERATURE 3.15 //K -#define AVERAGE_SOLAR_RADIATION 200 //W/m^2. Kind of arbitrary. Really this should depend on the sun position much like solars. +#define AVERAGE_SOLAR_RADIATION 200 //W/m^2. Kind of arbitrary. Really this should depend on the sun position much like solars. From the numbers on Erebus, this'd be an orbit of 23.3 lightseconds. #define RADIATOR_OPTIMUM_PRESSURE 110 //kPa at 20 C +#define RADIATOR_EXPOSED_SURFACE_AREA 0.03 //The pipe looks to be thin vertically and wide horizontally, so we'll assume that it's three centimeters thick and only explosed to the sun edge-on. #define CELL_VOLUME 2500 //liters in a cell #define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC From 1ab66130ffe40eb1c617d9a90ce846473e443530 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:28:42 -0700 Subject: [PATCH 116/282] Changed heat exchange pipe properties. No more suns above and below station shining on every square centimeter of it. --- code/ATMOSPHERICS/datum_pipeline.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index aa4473babd..d2978e887a 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -205,9 +205,13 @@ datum/pipeline var/gas_density = air.total_moles/air.volume thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*T20C) ), 1) + // We only get heat from the star on the exposed surface area. + var/heat_gain = AVERAGE_SOLAR_RADIATION * RADIATOR_EXPOSED_SURFACE_AREA * thermal_conductivity + //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C - var/heat_gain = surface*(AVERAGE_SOLAR_RADIATION - STEFAN_BOLTZMANN_CONSTANT*thermal_conductivity*(air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4) + // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. + heat_gain += surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) if(network) - network.update = 1 \ No newline at end of file + network.update = 1 From 82b5bd0f5223f9425bbbeb814d05ba55822aebb9 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:32:03 -0700 Subject: [PATCH 117/282] Sign errors are almost as bad as off-by-one. --- code/ATMOSPHERICS/datum_pipeline.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index d2978e887a..d72b8b2dbf 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -210,7 +210,7 @@ datum/pipeline //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. - heat_gain += surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 + heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) if(network) From 5104e40be3b2256940c13d030eca5919bfe51de8 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Jan 2015 15:41:45 -0700 Subject: [PATCH 118/282] Adding calculated temperature for HE pipes. --- code/ATMOSPHERICS/datum_pipeline.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index d72b8b2dbf..f663ccb34e 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -210,6 +210,7 @@ datum/pipeline //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. + // It currently should stabilise at 85K or -183C. heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) From 1382df5dad01b1f9d8c47b6f2c6de5c667e22deb Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 14 Jan 2015 08:24:33 +0100 Subject: [PATCH 119/282] Fixes #7802. items/examine() now properly calls and returns the result of ..(). --- code/game/atoms.dm | 5 ++++- code/game/objects/items.dm | 7 +------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 30f04da4b1..be45d49d97 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -195,7 +195,10 @@ its easier to just keep the beam vertical. f_name = "some " else f_name = "a " - f_name += "blood-stained [name][infix]!" + if(blood_color != "#030303") + f_name += "blood-stained [name][infix]!" + else + f_name += "oil-stained [name][infix]." user << "\icon[src] That's [f_name] [suffix]" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ddc983a7ba..09850e3963 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -115,12 +115,7 @@ size = "bulky" if(5.0) size = "huge" - else - //if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking" - usr << "This is a [blood_DNA ? blood_color != "#030303" ? "bloody " : "oil-stained " : ""]\icon[src][src.name]. It is a [size] item." - if(src.desc) - usr << src.desc - return + return ..(user, distance, "", "It is a [size] item.") /obj/item/attack_hand(mob/user as mob) if (!user) return From 66ae9f4aac719fd1a9c0d3d575793a0bd594e110 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 14 Jan 2015 20:45:20 +1300 Subject: [PATCH 120/282] SMES UI fix - Changed SMES NanoUI Online/Offline switch to reflect the current state it is set to - UI now also displays it's output status: - Outputting = SMES is switched online and outputting normally - Not Outputting = SMES is switched to offline - Stored energy too low = SMES is set to online but can't output because it doesn't have enough charge --- code/modules/power/smes.dm | 9 ++++++++- nano/templates/smes.tmpl | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 11bcef5881..ec5225b54b 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -301,6 +301,13 @@ data["outputMax"] = output_level_max data["outputLoad"] = round(output_used) + if(outputting) + data["outputting"] = 2 // smes is outputting + else if(!outputting && output_attempt && charge < output_level) + data["outputting"] = 1 // smes is online but not outputting because it's charge level is too low + else + data["outputting"] = 0 // smes is not outputting + // update the ui if it exists, returns null if no ui is passed/found ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -326,7 +333,7 @@ update_icon() else if( href_list["online"] ) - outputting(!outputting) + outputting(!output_attempt) update_icon() else if( href_list["input"] ) switch( href_list["input"] ) diff --git a/nano/templates/smes.tmpl b/nano/templates/smes.tmpl index 8b72cefedd..799ac3911d 100644 --- a/nano/templates/smes.tmpl +++ b/nano/templates/smes.tmpl @@ -50,6 +50,14 @@

{{:helper.link('Online', 'power', {'online' : 1}, data.outputOnline ? 'selected' : null)}}{{:helper.link('Offline', 'close', {'online' : 1}, data.outputOnline ? null : 'selected')}} +   + {{if data.outputting == 2}} + [Outputting] + {{else data.outputting == 1}} + [Stored energy too low] + {{else}} + [Not Outputting] + {{/if}}
From f479ba9212b1460480e85bcd3fe3bb087a5f2f14 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 14 Jan 2015 22:03:29 +1300 Subject: [PATCH 121/282] SMES UI tweak Switching this to mirror output switching as in the last commit --- code/modules/power/smes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index ec5225b54b..546b9ef465 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -329,7 +329,7 @@ return 1 if( href_list["cmode"] ) - inputting(!inputting) + inputting(!input_attempt) update_icon() else if( href_list["online"] ) From b8146ce26d6f92191008aa2b1b599bfaff7a52f7 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 14 Jan 2015 15:58:09 +0000 Subject: [PATCH 122/282] Fixes laptop crew monitor program not showing assignment --- code/WorkInProgress/computer3/computers/crew.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/WorkInProgress/computer3/computers/crew.dm index 170bd92607..836500a344 100644 --- a/code/WorkInProgress/computer3/computers/crew.dm +++ b/code/WorkInProgress/computer3/computers/crew.dm @@ -35,7 +35,7 @@ var/life_status = "[H.stat > 1 ? "Deceased" : "Living"]" var/damage_report = "([dam1]/[dam2]/[dam3]/[dam4])" - log += "[H.get_id_name()]" + log += "[H.get_authentification_name()] ([H.get_assignment()])" switch(C.sensor_mode) if(1) From c0a896282c2b2fffe93440bc89163ee2f71805f6 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 21:25:28 -0500 Subject: [PATCH 123/282] Adds visible emote shortcut to complement the audible emote shortcut. --- code/modules/mob/living/carbon/human/say.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 3f89f5b230..60d18aee6e 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -25,6 +25,8 @@ if(copytext(message,1,2) == "*") return emote(copytext(message,2)) + else if(copytext(message,1,2) == "^") + return custom_emote(1, copytext(message,2)) if(name != GetVoice()) alt_name = "(as [get_id_name("Unknown")])" From f711e3b24c52617dd9ed0713084d28e6cd7e2de0 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 15:35:45 +1300 Subject: [PATCH 124/282] Removed unnecessary check --- code/modules/power/smes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 546b9ef465..18aa6b4885 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -303,7 +303,7 @@ if(outputting) data["outputting"] = 2 // smes is outputting - else if(!outputting && output_attempt && charge < output_level) + else if(!outputting && output_attempt) data["outputting"] = 1 // smes is online but not outputting because it's charge level is too low else data["outputting"] = 0 // smes is not outputting From 812b9d3348e1a0ed80c7b7b4ae90e7ee09eb00e8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 22:12:44 -0500 Subject: [PATCH 125/282] Fixes body_parts_covered not updating when rolling jumpsuits --- code/modules/clothing/clothing.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 38b60890c0..83a0e1864d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -399,8 +399,6 @@ BLIND // can't see anything */ var/obj/item/clothing/tie/hastie = null var/displays_id = 1 - var/rolled_down = 0 - var/basecolor sprite_sheets = list("Vox" = 'icons/mob/species/vox/uniform.dmi') /obj/item/clothing/under/update_clothing_icon() @@ -526,11 +524,14 @@ BLIND // can't see anything if(!istype(usr, /mob/living)) return if(usr.stat) return - if(copytext(item_color,-2) != "_d") - basecolor = item_color - if(basecolor + "_d_s" in icon_states('icons/mob/uniform.dmi')) - body_parts_covered = "[basecolor]" ? LEGS|LOWER_TORSO : UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - item_color = item_color == "[basecolor]" ? "[basecolor]_d" : "[basecolor]" + if(initial(item_color) + "_d_s" in icon_states('icons/mob/uniform.dmi')) + if (item_color == initial(item_color)) + body_parts_covered &= LOWER_TORSO|LEGS|FEET + item_color = "[initial(item_color)]_d" + else + body_parts_covered = initial(body_parts_covered) + item_color = initial(item_color) + update_clothing_icon() else usr << "You cannot roll down the uniform!" From dc23588a81dd39304d76b9e01cd781e3afb4c2c1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 23:03:21 -0500 Subject: [PATCH 126/282] Less calls to copytext() --- code/modules/mob/living/carbon/human/say.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 60d18aee6e..cf49b82364 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -23,10 +23,9 @@ var/message_mode = parse_message_mode(message, "headset") - if(copytext(message,1,2) == "*") - return emote(copytext(message,2)) - else if(copytext(message,1,2) == "^") - return custom_emote(1, copytext(message,2)) + switch(copytext(message,1,2)) + if("*") return emote(copytext(message,2)) + if("^") return custom_emote(1, copytext(message,2)) if(name != GetVoice()) alt_name = "(as [get_id_name("Unknown")])" From b2a7e6d1771b776f8b529cc92d98530f376a2b64 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 12:40:01 -0500 Subject: [PATCH 127/282] Fixes broken airlocks producing intact electronics --- code/game/machinery/doors/airlock.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index bf9232cc20..307f9cf711 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -876,6 +876,7 @@ About the new airlock wires panel: src.welded = 1 else src.welded = null + playsound(src, 'sound/items/Welder.ogg', 100, 1) src.update_icon() return else @@ -924,7 +925,7 @@ About the new airlock wires panel: da.created_name = src.name da.update_state() - if(operating == -1) + if(operating == -1 || (stat & BROKEN)) new /obj/item/weapon/circuitboard/broken(src.loc) operating = 0 else From 4489b272cf97167763fa506871029491db3c1462 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 13:16:15 -0500 Subject: [PATCH 128/282] Updates firelock construction Firelock construction now requires one cable piece --- code/game/machinery/doors/firedoor.dm | 1 + .../game/machinery/doors/firedoor_assembly.dm | 24 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 264fecbc2b..afff015e41 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -219,6 +219,7 @@ var/obj/structure/firedoor_assembly/FA = new/obj/structure/firedoor_assembly(src.loc) FA.anchored = 1 FA.density = 1 + FA.wired = 1 FA.update_icon() del(src) return diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index 017e758ef3..1372997f83 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -6,6 +6,7 @@ obj/structure/firedoor_assembly anchored = 0 opacity = 0 density = 0 + var/wired = 0 obj/structure/firedoor_assembly/update_icon() if(anchored) @@ -14,7 +15,28 @@ obj/structure/firedoor_assembly/update_icon() icon_state = "door_construction" obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) - if(istype(C, /obj/item/weapon/airalarm_electronics)) + if(istype(C, /obj/item/stack/cable_coil) && !wired && anchored) + var/obj/item/stack/cable_coil/cable = C + if (cable.get_amount() < 1) + user << "You need one length of coil to wire \the [src]." + return + user.visible_message("[user] wires \the [src].", "You start to wire \the [src].") + if(do_after(user, 40) && !wired && anchored) + if (cable.use(1)) + wired = 1 + user << "You wire \the [src]." + + else if(istype(C, /obj/item/weapon/wirecutters) && wired ) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) + user.visible_message("[user] cuts the wires from \the [src].", "You start to cut the wires from \the [src].") + + if(do_after(user, 40)) + if(!src) return + user << "You cut the wires!" + new/obj/item/stack/cable_coil(src.loc, 1) + wired = 0 + + else if(istype(C, /obj/item/weapon/airalarm_electronics) && wired) if(anchored) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) user.visible_message("[user] has inserted a circuit into \the [src]!", From c99df46d70a9cb201952e639d0c1ebcb01f1acf1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 14 Jan 2015 14:08:42 -0500 Subject: [PATCH 129/282] Firelock fixes Fixes firelocks producing intact electronics when broken. Allows firelocks to be damaged by melee weapons and repaired. Swaps anchored and unanchored assembly icons, so that the assembly starts to look progressively more like the final product as it is constructed. --- code/game/machinery/doors/firedoor.dm | 17 ++++++++++++----- icons/obj/doors/DoorHazard.dmi | Bin 5243 -> 5242 bytes 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index afff015e41..55b392feff 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -186,13 +186,14 @@ add_fingerprint(user) if(operating) return//Already doing something. - if(istype(C, /obj/item/weapon/weldingtool)) + if(istype(C, /obj/item/weapon/weldingtool) && !repairing) var/obj/item/weapon/weldingtool/W = C if(W.remove_fuel(0, user)) blocked = !blocked user.visible_message("\The [user] [blocked ? "welds" : "unwelds"] \the [src] with \a [W].",\ "You [blocked ? "weld" : "unweld"] \the [src] with \the [W].",\ "You hear something being welded.") + playsound(src, 'sound/items/Welder.ogg', 100, 1) update_icon() return @@ -203,7 +204,7 @@ update_icon() return - if(blocked && istype(C, /obj/item/weapon/crowbar)) + if(blocked && istype(C, /obj/item/weapon/crowbar) && !repairing) if(!hatch_open) user << "You must open the maintenance hatch first!" else @@ -215,7 +216,11 @@ user.visible_message("[user] has removed the electronics from \the [src].", "You have removed the electronics from [src].") - new/obj/item/weapon/airalarm_electronics(src.loc) + if (stat & BROKEN) + new /obj/item/weapon/circuitboard/broken(src.loc) + else + new/obj/item/weapon/airalarm_electronics(src.loc) + var/obj/structure/firedoor_assembly/FA = new/obj/structure/firedoor_assembly(src.loc) FA.anchored = 1 FA.density = 1 @@ -225,10 +230,10 @@ return if(blocked) - user << "\The [src] is welded solid!" + user << "\The [src] is welded shut!" return - if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/melee/energy/blade) || istype(C,/obj/item/weapon/twohanded/fireaxe)) + if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/twohanded/fireaxe)) if(operating) return @@ -263,6 +268,8 @@ spawn(0) close() return + + return ..() // CHECK PRESSURE /obj/machinery/door/firedoor/process() diff --git a/icons/obj/doors/DoorHazard.dmi b/icons/obj/doors/DoorHazard.dmi index 037c1475f2bd66d83f71cb903bd1f58a8a54d91f..35f4c474bf3adf9376ec819f4a7f7e3649262ba3 100644 GIT binary patch delta 271 zcmV+q0r39&DEcUnB!BpNR9JLGWpiV4X>fFDZ*Bkpc$}?~!HU8#5QfjmQw(}7%eLy? za#@7P`u&AVP=#P%OM`q0k3TBol?Mj$1Y?fHco}vU{pV#-7Jo$@jiWR^veCd4GpCbb zPtP=a#$YGxr^6mj;>xxcg*!RqyD4iT8%WO)JaEo+ExvbDE9&H^@V34(nYF V^|q0}lL7EVD+4%gXR{^&RTEX#hUEYN delta 272 zcmV+r0q_3$DElaoB!BsOR9JLGWpiV4X>fFDZ*Bkpc$}?~!D_=W42IA4Q;7B&#*((X z`7%;U4(%%xV{5gUX9Zhb>D%uRXg20_DGXn1_&!O$yoA^7t~)@x@8l<@>?wkR_0zKy z7jM~tf>k4hLw|BSJThxWP_VE>>1YCFvnOi5uJNfQidkGlt((o6*q$6CVwQZ= Date: Thu, 15 Jan 2015 18:27:52 +1300 Subject: [PATCH 130/282] AI/borg med HUD fix - Fixes bug causing AI's and borgs with medical sensor augmentation set to not see med huds - Status icon displayed if suit sensors set to binary or higher - Health bar displayed if suit sensors set to vitals or higher - Wearable med huds will always display all info, including mounted borg huds --- code/defines/procs/hud.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/hud.dm b/code/defines/procs/hud.dm index 04afb6c63e..c9bcaeea1b 100644 --- a/code/defines/procs/hud.dm +++ b/code/defines/procs/hud.dm @@ -12,12 +12,12 @@ proc/process_med_hud(var/mob/M, var/local_scanner, var/mob/Alt) if(P.Mob.see_invisible < patient.invisibility) continue - if(!(local_scanner || hassensorlevel(P, SUIT_SENSOR_VITAL))) + if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_BINARY))) continue - P.Client.images += patient.hud_list[HEALTH_HUD] - if(local_scanner) - P.Client.images += patient.hud_list[STATUS_HUD] + P.Client.images += patient.hud_list[STATUS_HUD] + if(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL)) + P.Client.images += patient.hud_list[HEALTH_HUD] //Security HUDs. Pass a value for the second argument to enable implant viewing or other special features. proc/process_sec_hud(var/mob/M, var/advanced_mode, var/mob/Alt) From e5ab434d1d51f53491b8a22cd8e7dacd95211da9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 21:18:58 +1300 Subject: [PATCH 131/282] Reverted health status hud icon from AI overlay --- code/defines/procs/hud.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/hud.dm b/code/defines/procs/hud.dm index c9bcaeea1b..be678b8397 100644 --- a/code/defines/procs/hud.dm +++ b/code/defines/procs/hud.dm @@ -12,12 +12,12 @@ proc/process_med_hud(var/mob/M, var/local_scanner, var/mob/Alt) if(P.Mob.see_invisible < patient.invisibility) continue - if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_BINARY))) + if(!(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL))) continue - P.Client.images += patient.hud_list[STATUS_HUD] - if(local_scanner || hassensorlevel(patient, SUIT_SENSOR_VITAL)) - P.Client.images += patient.hud_list[HEALTH_HUD] + P.Client.images += patient.hud_list[HEALTH_HUD] + if(local_scanner) + P.Client.images += patient.hud_list[STATUS_HUD] //Security HUDs. Pass a value for the second argument to enable implant viewing or other special features. proc/process_sec_hud(var/mob/M, var/advanced_mode, var/mob/Alt) From 5fc035bffc43f9123bb53ebf8f51f7b6161911c7 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 15 Jan 2015 21:21:13 +1300 Subject: [PATCH 132/282] Ghost labeller fix No you cant stick labels on ghosts --- code/modules/paperwork/handlabeler.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 3722d586e4..fe519e01d4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -33,6 +33,9 @@ if(issilicon(A)) user << "The label refuses to stick to [A.name]." return + if(isobserver(A)) + user << "[src] passes through [A.name]." + return if(istype(A, /obj/item/weapon/reagent_containers/glass)) user << "The label can't stick to the [A.name]. (Try using a pen)" return From 3254190d44fc251a1f43296f9329e99ac8071508 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 09:54:38 +0100 Subject: [PATCH 133/282] Fixes #7705. Incinerator pumps now begin off by default, affecting both the medbay and toxins variant. Replaces a few pumps with the /obj/machinery/atmospherics/binary/pump/on type instead of overriding on and icon_state. --- maps/exodus-1.dmm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index ae34a17a6b..4478171d36 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -5174,7 +5174,7 @@ "bVz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/rnd/mixing) "bVA" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/rnd/research) "bVB" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/rnd/mixing) -"bVC" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing) +"bVC" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/engine,/area/rnd/mixing) "bVD" = (/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bVE" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bVF" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/rnd/mixing) @@ -5325,7 +5325,7 @@ "bYu" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYv" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/rnd/research) "bYw" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) -"bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/engine,/area/rnd/mixing) +"bYx" = (/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/engine,/area/rnd/mixing) "bYy" = (/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"},/area/rnd/mixing) "bYz" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"},/area/rnd/mixing) "bYA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/rnd/mixing) @@ -6123,8 +6123,8 @@ "cnM" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/aft) "cnN" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/hallway/primary/aft) "cnO" = (/turf/simulated/wall/r_wall,/area/engine/workshop) -"cnP" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "map_on"; use_power = 1},/turf/simulated/floor,/area/atmos) -"cnQ" = (/obj/machinery/atmospherics/binary/pump{icon_state = "map_on"; use_power = 1},/turf/simulated/floor,/area/atmos) +"cnP" = (/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor,/area/atmos) +"cnQ" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor,/area/atmos) "cnR" = (/turf/simulated/wall/r_wall,/area/engine/storage_hard) "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -6790,6 +6790,7 @@ "cAD" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cAE" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cAF" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) +"cAG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/maintenance/incinerator) "cAH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/atmos) "cAI" = (/turf/simulated/wall/r_wall,/area/engine/hallway) "cAJ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Hallway"; req_one_access_txt = "10;24"},/turf/simulated/floor,/area/engine/hallway) @@ -6831,6 +6832,7 @@ "cBt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/purple{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/atmos) "cBu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) +"cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cBz" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) "cBA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) "cBB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) @@ -6894,8 +6896,6 @@ "cCR" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/engineering) "cCS" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/engineering) "cCT" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"cCU" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 10; pixel_y = -22},/obj/structure/sign/fire{pixel_x = -32; pixel_y = 0},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cCV" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump/on{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) "cCW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating/airless,/area/space) "cCX" = (/turf/simulated/floor/plating/airless,/area/maintenance/medbay) "cCY" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area/maintenance/medbay) @@ -7405,7 +7405,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaacptcpucymcpucpucpucyocpucpucpucyocpucpucpucpucpucrRcpucywcpucyncvpcpucpucylcykcuhcyjcoCctdcoCcoCcpucyiczBcxCcyGcoQcxDcoQcnOckYczEczFczGczHcoXcnOczIczJczJczKczLczMczNczOcvNcxNczPczQcxNczRczSczTcvNczUczVcrGaaaaaaaaaaaaaaaaaacqvczWcuMczXcuVczYczZcAactFcAbcAccsPcyXczWcAdcAecqvaaaaaaaaaaaackEcdOcAfcAgcAgcAhcAicAjcAkcAlcAmcAncAocApcAqcokcAraaaaaacrPaafcwjcwjcwjcwjcwjaaackxaafcwjcwjcwjcwjcwjaaacrPaaacyhaaaaaacyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhaaaaaacyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaacyxcpucymcpucqKcqMcyucqMcuacqMcyucqMcuacqMcqMcqMcyqcytcyqcyscyrcuhcyBcyCcACcADcAEcAFcoCclacnzcoCcoCcoCcoCcoCcAIcAJcAKcAJcnOcnOcnOcnOcnOcnOcnOcnOcALczJczJcAMcANcAObPxcAPcvNcAQcARcAScATcAUcAVcAWcvNcAXcAYcrGaaaaaaaaaaaaaaaaaacqvcuQcAZcAectFcBacBbcBcctFcBdcBecBfcBgcBhcBicBjcqvaafaafaaaaaaaaaaaabquaaacdOcBlcBmcBncBocBpcBmcBqcBrcBpcBmcBscdOaaaaaabZSaaaaafaaaaafaaaaafaaackxaaaaafaaaaafaafaafaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaaaaaaaaaaaaaamaaaaaaaaacyDcpucymcpucywcwscymcpucywcwscymcpucywcwscpucpucyvcpucywcwscyEczfczhczecBBcBCcBDcBEcoCcyFcBGcvqcBIcBJcBKcBLcBMcBKcBNcBKcBOcBPcBQcBRcBScBScBTcBUcBVcBWcBWcBXcBYcAObPxcBZcvNcvNcCacCbcCccCbcCacCdcvNcrGcCecrGaaaaaaaaaaaaaaaaaacqvctFcCfcuVctFcCgcChcCictFcCjcCkcqycgvcCmcCncCocrHaaaaaaaaaaaaaaaaaacgwaafcdOcCqcluclUcomclsclpclqcomcloclVclWcdOaaaaaacrPaaactXctXctXctXctXaafckxaafctXctXctXctXctXaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzcvrcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacCUcAVcCVcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaafaafaamaafaafaafcyDczwczAczyczgczsczqczpczkcznczmczlczoczscpuczwczvczuczrczncztcoCcoCcoCcCzcCzcCzcCzcCzcvrcCzcCBcCCcCDcCEcCFcCEcCEcCGcCEcCEcCHcCEcCDcCIcCJcCKcCLciCcCNcCOcCPcCQcAObPwcCRcCScCTcCacAGcAVcBwcCacCWaafcCXcCYcCXaaaaaaaaaaaaaaaaaacqvcCZctDcuQcDacDbcuQcDccDdcDeaafaaachxchFchEclXaaaaaaaaaaacaaaaaaaaaaaaaaacdOcDhcplcplcomcDicplcplcomcDicplcplcdOaafaafcrPaafckVckSckSckSckSckyckxckwckvckvckvckvckUaafcrPaaacyhcyhcyhcyhaaacyhcyhcyhcyhcyhcyhcyhcyhcyhaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcpFaaaaaaaaaaamaaaaaaaaacAzcAvcAwcAxcAycABcAAcAHcAycABcAAcAHcAycABcBucBucBvcAHcAycABcBtcoCaaacDvcDwcDxcDycDzcDAcAucDCcDDcDDcDEcDFcDGcDHcDIcDJcDHcDIcDGcDKcDLcDMcDKcCBcCBcAOcDNcDOcDPcDQcAObNUcDRcDScDTcCacCbcDUcCbcCacCWaafaaaaafaaaaaaaaaaaaaaaaaaaaacqvcCZcDVcDWcDXcDXcDWcsPcDYcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcDZcplcplcomcEacplcplcomcEacplcplcdOaaaaaacrPaafcwjcwjcwjcwjcwjaaackxaaacwjcwjcwjcwjcwjaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcClcqLcqLcqLcpEcpIcpIcpIcqLcpIcpPcpIcpGcpIcpPcpIcpGcpIcpPcpIcpGcpIcqLcpIcpRcpIcpGcpIcqNaafaaacEicEjcEkcElcEmcEncAucEocDDcEpcEqcErcEscEtcEucEvcEwcExcEscEycEzcEAcDKaaaaafcAOcEBcECcEDaafaaabNUbPxbPxbSkcCaclZcEFclYcCacCWaafaafaaaaaaaaaaaaaaaaaaaaaaaacqvcEHcuXcEIcEJcEJcEIcuQcEKcqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdOcplcplcplcomcELcplcplcomcELcplcplcdOaacaaacrPaaaaaaaafaafaafaaaaaacmTaafaaaaaaaafaafaaaaaacrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafaafaaaaaaaaqaaaaaaaaaaafcgRcCpcmtcmvcgRcCpcmtcmvcgRcCpcmtcmxcgRaaacgRcmycmtcmxcgRaaaaafaaacEicEQcERcEScEQcCAcDBcEUcDDcEVcEWcEXcEscEYcEZcFacFbcFccEscFdcFecFfcDKaaaaaacAOcFgcFhcFiaaaaaabNUbPxbPxbNUcCacmUcmUcmUcCacFkcmWaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcFmcFncuQcuQcuQcuQcuQcFocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackEcdOcdOcdOcdOcdOcdOcdOcdOcmYcmYcmYckEaaaaaacrPcrPcrPcrPcrPaaaaaaaaacmZaaaaaaaaacrPcrPcrPbZScrPaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 5c6c65e728f20ff04fc89a6dd49c8b55eaec9d55 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 10:25:49 +0100 Subject: [PATCH 134/282] Can no longer see the AI eye by right or alt-clicking turfs. --- code/modules/mob/living/silicon/ai/freelook/eye.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 17293f2b67..590ff71ea5 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -12,6 +12,7 @@ status_flags = GODMODE // You can't damage it. mouse_opacity = 0 see_in_dark = 7 + invisibility = INVISIBILITY_MAXIMUM // Movement code. Returns 0 to stop air movement from moving it. /mob/aiEye/Move() From 8ec096581cf9a386cf76db65bb4119be5df57017 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 5 Dec 2014 11:57:03 +1030 Subject: [PATCH 135/282] Fix for blood drip overlaying + secret feature --- .../effects/decals/Cleanable/humans.dm | 20 +++++++---- code/modules/admin/admin.dm | 1 + code/modules/admin/topic.dm | 10 ++++++ code/modules/organs/blood.dm | 35 +++++++------------ 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 20dc45099c..ed996e3f1e 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -114,13 +114,19 @@ var/global/list/image/splatter_cache=list() amount = 2 /obj/effect/decal/cleanable/blood/drip - name = "drips of blood" - desc = "It's red." - gender = PLURAL - icon = 'icons/effects/drip.dmi' - icon_state = "1" - random_icon_states = list("1","2","3","4","5") - amount = 0 + name = "drips of blood" + desc = "It's red." + gender = PLURAL + icon = 'icons/effects/drip.dmi' + icon_state = "1" + random_icon_states = list("1","2","3","4","5") + amount = 0 + var/list/drips = list() + +/obj/effect/decal/cleanable/blood/drip/New() + ..() + spawn(1) + drips |= icon_state /obj/effect/decal/cleanable/blood/writing icon_state = "tracks" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 9c3acb9c78..f090d8665d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -653,6 +653,7 @@ var/global/floorIsLava = 0
Ghost Mode
Make all players retarded
Make all items look like guns
+ Paintball Mode
Japanese Animes Mode
Egalitarian Station Mode
Launch a shuttle
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index bb1416dac0..7c2a12e1d5 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2399,6 +2399,16 @@ W.item_color = "schoolgirl" message_admins("[key_name_admin(usr)] activated Japanese Animes mode") world << sound('sound/AI/animes.ogg') + if("paintball") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","PB") + for(var/species in all_species) + var/datum/species/S = all_species[species] + S.blood_color = "rainbow" + for(var/obj/effect/decal/cleanable/blood/B in world) + B.basecolor = "rainbow" + B.update_icon() + message_admins("[key_name_admin(usr)] activated Paintball mode") if("eagles")//SCRAW feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","EgL") diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 8d4144a550..067ef6a42e 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -290,29 +290,24 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) source.data["blood_type"] = donor.dna.b_type // Are we dripping or splattering? - if(!large) - - // Only a certain number of drips can be on a given turf. - var/list/drips = list() - var/list/drip_icons = list("1","2","3","4","5") - - for(var/obj/effect/decal/cleanable/blood/drip/drop in T) - drips += drop - drip_icons.Remove(drop.icon_state) - - // If we have too many drips, remove them and spawn a proper blood splatter. - if(drips.len >= 5) - //TODO: copy all virus data from drips to new splatter? - for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) - del drop - else - decal_type = /obj/effect/decal/cleanable/blood/drip + var/list/drips = list() + // Only a certain number of drips (or one large splatter) can be on a given turf. + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + drips |= drop.drips + del(drop) + if(!large && drips.len < 3) + decal_type = /obj/effect/decal/cleanable/blood/drip // Find a blood decal or create a new one. B = locate(decal_type) in T if(!B) B = new decal_type(T) + var/obj/effect/decal/cleanable/blood/drip/drop = B + if(istype(drop) && drips && drips.len && !large) + drop.overlays |= drips + drop.drips |= drips + // If there's no data to copy, call it quits here. if(!source) return B @@ -330,11 +325,7 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) else B.blood_DNA[source.data["blood_DNA"]] = "O+" - // Update virus information. //Looks like this is out of date. - //for(var/datum/disease/D in source.data["viruses"]) - // var/datum/disease/new_virus = D.Copy(1) - // source.viruses += new_virus - // new_virus.holder = B + // Update virus information. if(source.data["virus2"]) B.virus2 = virus_copylist(source.data["virus2"]) From a2e23b88b2bf353663a308bdfd30eae2509f877a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 10:57:06 +0100 Subject: [PATCH 136/282] Limits AI access to machinery on admin levels. Adds check in canUseTopic to ensure the AI cannot access machinery on admin levels unless physically present. --- code/game/machinery/machinery.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 1a3cce2cf9..4d192c5dd9 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -230,6 +230,10 @@ Class Procs: /mob/living/silicon/ai/canUseTopic(atom/movable/M) if(stat) return + // Prevents the AI from using Topic on admin levels (by for example viewing through the court/thunderdome cameras) + // unless it's on the same level as the object it's interacting with. + if(!(z == M.z || M.z in config.player_levels)) + return //stop AIs from leaving windows open and using then after they lose vision //apc_override is needed here because AIs use their own APC when powerless if(cameranet && !cameranet.checkTurfVis(get_turf(M)) && !apc_override) From 1c772e99143d063a13584313a91c6a5af36a1760 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 16:45:45 +0300 Subject: [PATCH 137/282] Fixes #7821 --- code/game/gamemodes/setupgame.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 1 + code/modules/virus2/effect.dm | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index d2b54fe5ba..09d83c01b3 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -91,7 +91,7 @@ //REMOTEVIEWBLOCK = getAssignedBlock("REMOTEVIEW", numsToAssign, DNA_HARDER_BOUNDS) //REGENERATEBLOCK = getAssignedBlock("REGENERATE", numsToAssign, DNA_HARDER_BOUNDS) //INCREASERUNBLOCK = getAssignedBlock("INCREASERUN", numsToAssign, DNA_HARDER_BOUNDS) - //REMOTETALKBLOCK = getAssignedBlock("REMOTETALK", numsToAssign, DNA_HARDER_BOUNDS) + REMOTETALKBLOCK = getAssignedBlock("REMOTETALK", numsToAssign, DNA_HARDER_BOUNDS) //MORPHBLOCK = getAssignedBlock("MORPH", numsToAssign, DNA_HARDER_BOUNDS) //COLDBLOCK = getAssignedBlock("COLD", numsToAssign) //HALLUCINATIONBLOCK = getAssignedBlock("HALLUCINATION", numsToAssign) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 59e402548a..f4025be06d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -941,6 +941,7 @@ else target.show_message("\blue You hear a voice that seems to echo around the room: [say]") usr.show_message("\blue You project your mind into [target.real_name]: [say]") + log_say("[key_name(usr)] sent a telepathic message to [key_name(target)]: [say]") for(var/mob/dead/observer/G in world) G.show_message("Telepathic message from [src] to [target]: [say]") diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 3ebeefeba8..048085b730 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -191,10 +191,10 @@ /datum/disease2/effect/telepathic name = "Telepathy Syndrome" stage = 3 + happensonce = 1 activate(var/mob/living/carbon/mob,var/multiplier) - mob.dna.check_integrity() mob.dna.SetSEState(REMOTETALKBLOCK,1) - domutcheck(mob, null) + domutcheck(mob, null, MUTCHK_FORCED) /datum/disease2/effect/mind name = "Lazy Mind Syndrome" From 2a9955c68bc3dceffc331233165e61700bcb0ab1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 15 Jan 2015 15:01:38 +0100 Subject: [PATCH 138/282] Fixes #7547. The event manager now respects the "allow random event" config setting. --- code/modules/events/event_container.dm | 2 +- code/modules/events/event_manager.dm | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 5ac880185f..758d50ebdd 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -25,7 +25,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT if(!next_event_time) set_event_delay() - if(delayed) + if(delayed || !config.allow_random_events) next_event_time += (world.time - last_world_time) else if(world.time > next_event_time) start_event() diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 4be0e83e97..c531b139cc 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -79,6 +79,7 @@ /datum/event_manager/proc/GetInteractWindow() var/html = "Refresh" + html += "Pause All - [config.allow_random_events ? "Pause" : "Resume"]" if(selected_event_container) var/event_time = max(0, selected_event_container.next_event_time - world.time) @@ -211,6 +212,9 @@ var/datum/event_container/EC = locate(href_list["pause"]) EC.delayed = !EC.delayed admin_log_and_message_admins("has [EC.delayed ? "paused" : "resumed"] countdown for [severity_to_string[EC.severity]] events.") + else if(href_list["pause_all"]) + config.allow_random_events = text2num(href_list["pause_all"]) + admin_log_and_message_admins("has [config.allow_random_events ? "resumed" : "paused"] countdown for all events.") else if(href_list["interval"]) var/delay = input("Enter delay modifier. A value less than one means events fire more often, higher than one less often.", "Set Interval Modifier") as num|null if(delay && delay > 0) From 0401cb20845b992c7c7165c95a8adb22ffd32b01 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 17:09:50 +0300 Subject: [PATCH 139/282] Fixes #7820 --- code/game/verbs/suicide.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 82a81e5af7..ab3c8dcc80 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -59,7 +59,8 @@ //Do 175 damage divided by the number of damage types applied. if(damagetype & BRUTELOSS) - adjustBruteLoss(175/damage_mod) + adjustBruteLoss(30/damage_mod) //hack to prevent gibbing + adjustOxyLoss(145/damage_mod) if(damagetype & FIRELOSS) adjustFireLoss(175/damage_mod) From 47e5e51db37d6a567211e5e308201b4279552f35 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 17:51:45 +0300 Subject: [PATCH 140/282] Fix for the fix. --- code/modules/virus2/effect.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 048085b730..aa0a06c9df 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -191,7 +191,6 @@ /datum/disease2/effect/telepathic name = "Telepathy Syndrome" stage = 3 - happensonce = 1 activate(var/mob/living/carbon/mob,var/multiplier) mob.dna.SetSEState(REMOTETALKBLOCK,1) domutcheck(mob, null, MUTCHK_FORCED) From 6f8618ded85d6cd08cc432e727c8eb73586d3acd Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 18:04:10 +0300 Subject: [PATCH 141/282] Fixes surgery steps never failing --- code/modules/surgery/surgery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index c5e883e79a..339f1a6070 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -98,7 +98,7 @@ proc/do_surgery(mob/living/carbon/M, mob/living/user, obj/item/tool) //We had proper tools! (or RNG smiled.) and user did not move or change hands. if(prob(S.tool_quality(tool)) && do_mob(user, M, rand(S.min_duration, S.max_duration))) S.end_step(user, M, user.zone_sel.selecting, tool) //finish successfully - else if (tool in user.contents && user.Adjacent(M)) //or + else if ((tool in user.contents) && user.Adjacent(M)) //or S.fail_step(user, M, user.zone_sel.selecting, tool) //malpractice~ else // This failing silently was a pain. user << "\red You must remain close to your patient to conduct surgery." From 0a7185c20a4fc597036ea7ae586586941ae58b2d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 18:59:39 +0300 Subject: [PATCH 142/282] Fixes #7787 Made clean surgical amputation not cause huge wounds. Also moved code around a bit to prevent situations where missing limbs would get wounds (ie hands giving wounds to arms during recursive droplimb). --- code/modules/organs/organ_external.dm | 12 ++++++------ code/modules/surgery/generic.dm | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index c0c2397518..6ef2e59b90 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -562,7 +562,7 @@ Note that amputating the affected organ does in fact remove the infection from t O.setAmputatedTree() //Handles dismemberment -/datum/organ/external/proc/droplimb(var/override = 0,var/no_explode = 0) +/datum/organ/external/proc/droplimb(var/override = 0,var/no_explode = 0,var/amputation=0) if(destspawn) return if(override) status |= ORGAN_DESTROYED @@ -579,9 +579,13 @@ Note that amputating the affected organ does in fact remove the infection from t germ_level = 0 + // If any organs are attached to this, destroy them + for(var/datum/organ/external/O in children) + O.droplimb(1, no_explode, amputation) + //Replace all wounds on that arm with one wound on parent organ. wounds.Cut() - if (parent) + if (parent && !amputation) var/datum/wound/W if(max_damage < 50) W = new/datum/wound/lost_limb/small(max_damage) @@ -591,10 +595,6 @@ Note that amputating the affected organ does in fact remove the infection from t parent.update_damages() update_damages() - // If any organs are attached to this, destroy them - for(var/datum/organ/external/O in children) - O.droplimb(1) - var/obj/organ //Dropped limb object switch(body_part) if(HEAD) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 238657c28d..2642b87cb7 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -305,7 +305,7 @@ var/datum/organ/external/affected = target.get_organ(target_zone) user.visible_message("\blue [user] cuts off [target]'s [affected.display_name] with \the [tool].", \ "\blue You cut off [target]'s [affected.display_name] with \the [tool].") - affected.droplimb(1,0) + affected.droplimb(1,1,1) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) From 95e4f53258e7696fc43ff692956555f8305d9a03 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 15 Jan 2015 23:47:07 +0300 Subject: [PATCH 143/282] Ported TG's code for burny mobs, by ergoslavi. --- code/game/machinery/cryo.dm | 1 + .../objects/items/weapons/cigs_lighters.dm | 7 ++++ .../objects/items/weapons/extinguisher.dm | 7 +++- code/game/objects/items/weapons/tools.dm | 5 ++- code/game/objects/structures/watercloset.dm | 5 +++ .../mob/living/carbon/human/examine.dm | 5 ++- code/modules/mob/living/carbon/human/life.dm | 25 +++++++++++++ .../mob/living/carbon/human/update_icons.dm | 12 +++++- code/modules/mob/living/carbon/monkey/life.dm | 9 +++++ .../mob/living/carbon/monkey/update_icons.dm | 11 +++++- code/modules/mob/living/living.dm | 15 +++++++- code/modules/mob/living/living_defense.dm | 35 ++++++++++++++++++ code/modules/mob/living/living_defines.dm | 5 ++- code/modules/reagents/Chemistry-Reagents.dm | 25 ++++++++++++- icons/mob/OnFire.dmi | Bin 0 -> 1845 bytes 15 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 icons/mob/OnFire.dmi diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 32543822b9..7d10bd9a6f 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -288,6 +288,7 @@ M.client.eye = src M.stop_pulling() M.loc = src + M.ExtinguishMob() if(M.health > -100 && (M.health < 0 || M.sleeping)) M << "\blue You feel a cold liquid surround you. Your skin starts to freeze up." occupant = M diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 4d09a26bcf..cc05de93a7 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -31,6 +31,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM attack_verb = list("burnt", "singed") /obj/item/weapon/flame/match/process() + if(isliving(loc)) + var/mob/living/M = loc + M.IgniteMob() var/turf/location = get_turf(src) smoketime-- if(smoketime < 1) @@ -162,6 +165,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/cigarette/process() + if(isliving(loc)) + var/mob/living/M = loc + M.IgniteMob() var/turf/location = get_turf(src) smoketime-- if(smoketime < 1) @@ -444,6 +450,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/weapon/flame/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return + M.IgniteMob() if(istype(M.wear_mask, /obj/item/clothing/mask/cigarette) && user.zone_sel.selecting == "mouth" && lit) var/obj/item/clothing/mask/cigarette/cig = M.wear_mask diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index f6758e53e6..3ba9e2971c 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -13,7 +13,7 @@ force = 10.0 matter = list("metal" = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") - + var/spray_particles = 6 var/spray_amount = 2 //units of liquid per particle var/max_water = 120 @@ -124,7 +124,7 @@ R.my_atom = W if(!W || !src) return src.reagents.trans_to(W, spray_amount) - + for(var/b=0, b<5, b++) step_towards(W,my_target) if(!W || !W.reagents) return @@ -135,6 +135,9 @@ if(!W.reagents) break W.reagents.reaction(atm) + if(isliving(atm)) //For extinguishing mobs on fire + var/mob/living/M = atm + M.ExtinguishMob() if(W.loc == my_target) break sleep(2) W.delete() diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 62793f0b2c..f2a504bb50 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -259,6 +259,9 @@ if (src.welding) remove_fuel(1) var/turf/location = get_turf(user) + if(isliving(O)) + var/mob/living/L = O + L.IgniteMob() if (istype(location, /turf)) location.hotspot_expose(700, 50, 1) return @@ -531,4 +534,4 @@ if(!resolved && tool && target) tool.afterattack(target,user,1) if(tool) - tool.loc = src*/ + tool.loc = src*/ diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 33235ae124..e77f1e602c 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -211,6 +211,11 @@ /obj/machinery/shower/proc/wash(atom/movable/O as obj|mob) if(!on) return + if(isliving(O)) + var/mob/living/L = O + L.ExtinguishMob() + L.fire_stacks = -20 //Douse ourselves with water to avoid fire more easily + if(iscarbon(O)) var/mob/living/carbon/M = O if(M.r_hand) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 777c17fdbc..e93bdf0c79 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -219,7 +219,10 @@ usr << "[t_He] has no pulse[src.client ? "" : " and [t_his] soul has departed"]..." else usr << "[t_He] has a pulse!" - + if(fire_stacks) + msg += "[t_He] [t_is] covered in some liquid.\n" + if(fire_stacks) + msg += "[t_He] [t_is] on fire!.\n" msg += "" if(nutrition < 100) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0f13a6dbfd..44908eed00 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -112,6 +112,9 @@ //Handle temperature/pressure differences between body and environment handle_environment(environment) //Optimized a good bit. + //Check if we're on fire + handle_fire() + //Status updates, death etc. handle_regular_status_updates() //Optimized a bit update_canmove() @@ -784,6 +787,8 @@ if (abs(body_temperature_difference) < 0.5) return //fuck this precision + if (on_fire) + return //too busy for pesky convection if(bodytemperature < species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects. if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up. @@ -1774,5 +1779,25 @@ speech_problem_flag = 1 return stuttering +/mob/living/carbon/human/handle_fire() + if(..()) + return + var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures + if(wear_suit) + if(wear_suit.max_heat_protection_temperature >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) + thermal_protection += (wear_suit.max_heat_protection_temperature*0.7) + if(head) + if(head.max_heat_protection_temperature >= FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE) + thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD) + thermal_protection = round(thermal_protection) + if(thermal_protection >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) + return + if(thermal_protection >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) + bodytemperature += 11 + return + else + bodytemperature += BODYTEMP_HEATING_MAX + return + #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index cc053f219d..6d609026e5 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -127,7 +127,8 @@ Please contact me on #coderbus IRC. ~Carn x #define L_HAND_LAYER 20 #define R_HAND_LAYER 21 #define TARGETED_LAYER 22 //BS12: Layer for the target overlay from weapon targeting system -#define TOTAL_LAYERS 22 +#define FIRE_LAYER 23 //If you're on fire +#define TOTAL_LAYERS 23 ////////////////////////////////// /mob/living/carbon/human @@ -508,6 +509,7 @@ proc/get_damage_icon_part(damage_state, body_part) update_inv_handcuffed(0) update_inv_legcuffed(0) update_inv_pockets(0) + update_fire(0) UpdateDamageIcon() update_icons() //Hud Stuff @@ -911,6 +913,13 @@ proc/get_damage_icon_part(damage_state, body_part) if(update_icons) update_icons() +/mob/living/carbon/human/update_fire(var/update_icons=1) + overlays_standing[FIRE_LAYER] = null + if(on_fire) + overlays_standing[FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"="Standing", "layer"=-FIRE_LAYER) + + if(update_icons) update_icons() + // Used mostly for creating head items /mob/living/carbon/human/proc/generate_head_icon() //gender no longer matters for the mouth, although there should probably be seperate base head icons. @@ -969,4 +978,5 @@ proc/get_damage_icon_part(damage_state, body_part) #undef L_HAND_LAYER #undef R_HAND_LAYER #undef TARGETED_LAYER +#undef FIRE_LAYER #undef TOTAL_LAYERS diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 20b80c9c89..016f57f18f 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -57,6 +57,9 @@ if(environment) // More error checking -- TLE handle_environment(environment) + //Check if we're on fire + handle_fire() + //Status updates, death etc. handle_regular_status_updates() update_canmove() @@ -629,3 +632,9 @@ proc/handle_changeling() if(mind && mind.changeling) mind.changeling.regenerate() + +/mob/living/carbon/monkey/handle_fire() + if(..()) + return + adjustFireLoss(6) + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index 284f9e288f..ec69d454f6 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -5,7 +5,8 @@ #define M_L_HAND_LAYER 4 #define M_R_HAND_LAYER 5 #define TARGETED_LAYER 6 -#define M_TOTAL_LAYERS 6 +#define M_FIRE_LAYER 6 +#define M_TOTAL_LAYERS 7 ///////////////////////////////// /mob/living/carbon/monkey @@ -19,6 +20,7 @@ update_inv_r_hand(0) update_inv_l_hand(0) update_inv_handcuffed(0) + update_fire(0) update_icons() //Hud Stuff update_hud() @@ -109,6 +111,12 @@ overlays_standing[TARGETED_LAYER] = null if(update_icons) update_icons() +/mob/living/carbon/monkey/update_fire(var/update_icons=1) + if(on_fire) + overlays_standing[M_FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"="Standing", "layer"= -M_FIRE_LAYER) + else + overlays_standing[M_FIRE_LAYER] = null + if(update_icons) update_icons() //Monkey Overlays Indexes//////// #undef M_MASK_LAYER #undef M_BACK_LAYER @@ -116,5 +124,6 @@ #undef M_L_HAND_LAYER #undef M_R_HAND_LAYER #undef TARGETED_LAYER +#undef M_FIRE_LAYER #undef M_TOTAL_LAYERS diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b9f898ab5d..18a93203d1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -281,6 +281,8 @@ C.legcuffed = initial(C.legcuffed) hud_updateflag |= 1 << HEALTH_HUD hud_updateflag |= 1 << STATUS_HUD + ExtinguishMob() + fire_stacks = 0 /mob/living/proc/rejuvenate() @@ -628,9 +630,20 @@ BD.attack_hand(usr) C.open() - //breaking out of handcuffs + //drop && roll or breaking out of handcuffs else if(iscarbon(L)) var/mob/living/carbon/CM = L + if(CM.on_fire && CM.canmove) + CM.fire_stacks -= 5 + CM.Weaken(3) + CM.visible_message("[CM] rolls on the floor, trying to put themselves out!", \ + "You stop, drop, and roll!") + sleep(30) + if(fire_stacks <= 0) + CM.visible_message("[CM] has successfully extinguished themselves!", \ + "You extinguish yourself.") + ExtinguishMob() + return if(CM.handcuffed && CM.canmove && (CM.last_special <= world.time)) CM.next_move = world.time + 100 CM.last_special = world.time + 100 diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 1afd5b5325..e7a542f49f 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -191,3 +191,38 @@ src.visible_message("[user] has [attack_message] [src]!") spawn(1) updatehealth() return 1 + +/mob/living/proc/IgniteMob() + if(fire_stacks > 0 && !on_fire) + on_fire = 1 + src.AddLuminosity(3) + update_fire() + +/mob/living/proc/ExtinguishMob() + if(on_fire) + on_fire = 0 + fire_stacks = 0 + src.AddLuminosity(-3) + update_fire() + +/mob/living/proc/update_fire() + return + +/mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person + fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = -20, max = 20) + +/mob/living/proc/handle_fire() + if(fire_stacks < 0) + fire_stacks = max(0, fire_stacks++) //If we've doused ourselves in water to avoid fire, dry off slowly + if(!on_fire) + return 1 + var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment + if(G.gas["oxygen"] < 1) + ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire + return + var/turf/location = get_turf(src) + location.hotspot_expose(700, 50, 1) + +/mob/living/fire_act() + adjust_fire_stacks(0.5) + IgniteMob() \ No newline at end of file diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3c1c8a935c..82cf38067c 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -37,4 +37,7 @@ var/tod = null // Time of death var/update_slimes = 1 - var/silent = null //Can't talk. Value goes down every life proc. \ No newline at end of file + var/silent = null //Can't talk. Value goes down every life proc. + + var/on_fire = 0 //The "Are we on fire?" var + var/fire_stacks = 0 //Tracks how many stacks of fire we have on, max is usually 20 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6fd9de29f7..e295c5e3af 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -258,10 +258,15 @@ datum if(!cube.wrapped) cube.Expand() - reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) if (istype(M, /mob/living/carbon/slime)) var/mob/living/carbon/slime/S = M S.apply_water() + if(method == TOUCH && isliving(M)) + M.adjust_fire_stacks(-(volume / 10)) + if(M.fire_stacks <= 0) + M.ExtinguishMob() + return water/holywater name = "Holy Water" @@ -933,6 +938,12 @@ datum M.adjustToxLoss(1) ..() return + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with welding fuel to make them easy to ignite! + if(!istype(M, /mob/living)) + return + if(method == TOUCH) + M.adjust_fire_stacks(volume / 10) + return space_cleaner name = "Space cleaner" @@ -1615,6 +1626,12 @@ datum src = null T.assume_gas("volatile_fuel", volume, T20C) return + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel! + if(!istype(M, /mob/living)) + return + if(method == TOUCH) + M.adjust_fire_stacks(volume / 5) + return toxin/lexorin name = "Lexorin" @@ -3287,6 +3304,12 @@ datum usr << "It wasn't enough..." return + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with ethanol isn't quite as good as fuel. + if(!istype(M, /mob/living)) + return + if(method == TOUCH) + M.adjust_fire_stacks(volume / 15) + return ethanol/beer name = "Beer" id = "beer" diff --git a/icons/mob/OnFire.dmi b/icons/mob/OnFire.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8bf6e2c7749edd55c903e98d06314dad2297ee16 GIT binary patch literal 1845 zcmV-52g>+~P)V=-0C=2J zR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5 zDYzstFC{ZCU5Se`C9|j)q>qa;ttc@!6~s0Lil*iyRsxxZI#7tv>zPeEaeK7*tiU6`?OikQf~RXb?yz%>bT~L} z@1o+TvehB-J5hT9@3QYRc8kw%klz@D=jM$rdWY}WM6>6-oCK%%OCw}mZq%0*X!#Sr z?jsq!;*)4GtrM4`LGb)0It9-a%|{0Mvp{3!VCY+t*OuBH|w0pOX#Pm@n8Cj!64)|Mu@Lj$Wr>nGbP zozd$yr`v}2P%qwVgEa98?9)%!yk;Rqu=jdiO><5-RNdu86CWRve@MQx4{5OjLYIoy z3TStHbsXk7hIYYM_FjHIsD~PO@A2zV$iI<;@!ssLz3&iCZlg?c?sF8(%VYdtjZp4s z_U#YV0l9iVz$tZ#;Ke*|fe_?2jMQtY`4V~yAa@OovO8ff=BENVLRAGvh(YYy0Z*`oxb z1G^1c)z!Z6L~Cko(o0n<-@{1{ir0jc-jjMTZBgV>sQBQr7h7>>={@1V(2LyM@{Rc1 z9}h47!1WvjLoY_gm>N)ekqtS?45b$%K2_f3vwAVd|LVjG)%9X#5*E+VEWFXATFm!O zYE1qrP_pST*b9KNm+-`HeG)+hT7Mx%b<9mg{TCr=$lz0(Z=2kxcbQ)gA6_l)1L zfbR^w7t8LEA2aoT1Wuk}S8!e+-;4^o3X?34L47{9{bdDix)Xa2eTuYmu4FW>#YL++ z!B@Ig%d-Z)4!TFo-ZskNhw6iPE#-Tg9w0kca^`r2UGI4$Ux_zkgxbXpQf=`)M7|~H z-anE)z&8Y4X4}^YS#MMr`H{3TpVfPB@c%H*%dg9!PmFg9vfa&`zFmG6hw(%5YG*5# zQawV+&yDb*d(78@iQn>1x*vmVGPsY(@BOdLL$&lCH(T*Res9GWcl})*A4I!CM(p znc1svS6EARd~&c>doI7MjjfPx23Ed~PYz1Y5!ZW9{W&1>6te*lpg}O~P-Y*MI)Sdq!pU zQoiX5N*0KR)@v;qy|FOd{T%{&fTk;PwHfRawgQyCxz3z>iML|zk#^oNc!9v z_B$vDNS+R8&i4g+uQ;C+VJ zh3fgF7@w@3Pm1x$>iMJwzji(;+HYKq)AGv-yYHZWKB?kY&L>qPs+~`&USeN@ON{Vw Date: Fri, 16 Jan 2015 11:43:45 +1300 Subject: [PATCH 144/282] Fixed placing mounted modules in closets - Fixes placing mounted modules in closets and crates - Removed a couple of colons --- code/game/objects/structures/crates_lockers/closets.dm | 5 ++++- .../crates_lockers/closets/secure/secure_closets.dm | 7 +++++-- code/game/objects/structures/crates_lockers/crates.dm | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index a929ff7201..4aaae90a9a 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -191,7 +191,8 @@ /obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob) if(src.opened) if(istype(W, /obj/item/weapon/grab)) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet + var/obj/item/weapon/grab/G = W + src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet if(istype(W,/obj/item/tk_grab)) return 0 if(istype(W, /obj/item/weapon/weldingtool)) @@ -206,6 +207,8 @@ return if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return usr.drop_item() if(W) W.loc = src.loc diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 09810842d4..a3b9f39928 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -66,12 +66,15 @@ /obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob) if(src.opened) if(istype(W, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = W if(src.large) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet + src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet else - user << "The locker is too small to stuff [W:affecting] into!" + user << "The locker is too small to stuff [G.affecting] into!" if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return user.drop_item() if(W) W.loc = src.loc diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 3f6f321129..4c233f24ef 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -70,6 +70,8 @@ if(opened) if(isrobot(user)) return + if(W.loc != user) // This should stop mounted modules ending up outside the module. + return user.drop_item() if(W) W.loc = src.loc From fdf98860539b40a15e5fc6b6dab4db046968eea4 Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Thu, 15 Jan 2015 14:48:04 -0800 Subject: [PATCH 145/282] Fixes Cannot execute null.on removed() --- code/modules/mob/living/carbon/human/inventory.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 545fa41c03..0a504ca148 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -640,9 +640,10 @@ It can still be worn/put on as normal. W.hold.close(usr) usr.put_in_hands(tie) suit.hastie = null*/ - suit.hastie.on_removed(usr) - suit.hastie = null - target.update_inv_w_uniform() + if(suit && suit.hastie) + suit.hastie.on_removed(usr) + suit.hastie = null + target.update_inv_w_uniform() if("id") slot_to_process = slot_wear_id if (target.wear_id) From 7435f7574e85362b4bd340928ce27822bb253d57 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 16 Jan 2015 12:04:59 +1300 Subject: [PATCH 146/282] Closet file reorganisation - Moved walllocker.dm to code/game/objects/structures/crate_lockers/closets - Moved other unused closet files to the code/unused folder --- baystation12.dme | 2 +- .../{ => structures/crates_lockers}/closets/walllocker.dm | 0 code/{game/objects => unused}/closets/ert.dm | 0 code/{game/objects => unused}/closets/secure/civilian.dm | 0 code/{game/objects => unused}/closets/secure/research.dm | 0 5 files changed, 1 insertion(+), 1 deletion(-) rename code/game/objects/{ => structures/crates_lockers}/closets/walllocker.dm (100%) rename code/{game/objects => unused}/closets/ert.dm (100%) rename code/{game/objects => unused}/closets/secure/civilian.dm (100%) rename code/{game/objects => unused}/closets/secure/research.dm (100%) mode change 100755 => 100644 diff --git a/baystation12.dme b/baystation12.dme index f0a68647ed..669fe0408a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -463,7 +463,6 @@ #include "code\game\objects\objs.dm" #include "code\game\objects\structures.dm" #include "code\game\objects\weapons.dm" -#include "code\game\objects\closets\walllocker.dm" #include "code\game\objects\effects\aliens.dm" #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\chemsmoke.dm" @@ -683,6 +682,7 @@ #include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" #include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" #include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\walllocker.dm" #include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" #include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" diff --git a/code/game/objects/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm similarity index 100% rename from code/game/objects/closets/walllocker.dm rename to code/game/objects/structures/crates_lockers/closets/walllocker.dm diff --git a/code/game/objects/closets/ert.dm b/code/unused/closets/ert.dm similarity index 100% rename from code/game/objects/closets/ert.dm rename to code/unused/closets/ert.dm diff --git a/code/game/objects/closets/secure/civilian.dm b/code/unused/closets/secure/civilian.dm similarity index 100% rename from code/game/objects/closets/secure/civilian.dm rename to code/unused/closets/secure/civilian.dm diff --git a/code/game/objects/closets/secure/research.dm b/code/unused/closets/secure/research.dm old mode 100755 new mode 100644 similarity index 100% rename from code/game/objects/closets/secure/research.dm rename to code/unused/closets/secure/research.dm From fb945fa9ecc637cebbcf6c61282db46b627108e1 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Fri, 16 Jan 2015 13:50:13 +1300 Subject: [PATCH 147/282] Fixes telekinetic tape placement on airlocks --- code/WorkInProgress/Ported/policetape.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/WorkInProgress/Ported/policetape.dm index f331f8401b..4f28e52410 100644 --- a/code/WorkInProgress/Ported/policetape.dm +++ b/code/WorkInProgress/Ported/policetape.dm @@ -98,8 +98,8 @@ //is_blocked_turf(var/turf/T) usr << "\blue You finish placing the [src]." //Git Test -/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob) - if (istype(A, /obj/machinery/door/airlock)) +/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity) + if (proximity && istype(A, /obj/machinery/door/airlock)) var/turf/T = get_turf(A) var/obj/item/tape/P = new tape_type(T.x,T.y,T.z) P.loc = locate(T.x,T.y,T.z) From 12d056106ec0154e94815a187e240190b7bf8c02 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 15 Jan 2015 17:57:52 -0700 Subject: [PATCH 148/282] Adjusts informative comments. --- code/ATMOSPHERICS/datum_pipeline.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index f663ccb34e..fd933bf94d 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -206,9 +206,10 @@ datum/pipeline thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*T20C) ), 1) // We only get heat from the star on the exposed surface area. + // If the HE pipes gain more energy from AVERAGE_SOLAR_RADIATION than they can radiate, then they have a net heat increase. var/heat_gain = AVERAGE_SOLAR_RADIATION * RADIATOR_EXPOSED_SURFACE_AREA * thermal_conductivity - //if the h/e pipes radiate less than the AVERAGE_SOLAR_RADIATION, then they will heat up, otherwise they will cool down. It turns out the critical temperature is -26 C + // Previously, the temperature would enter equilibrium at 26C or 294K. // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. // It currently should stabilise at 85K or -183C. heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 From 221f9ebe863dd384c2375f2223395ae9c00a1199 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 11:30:24 +0300 Subject: [PATCH 149/282] Fixed a few derps, added spinning --- .../mob/living/carbon/human/examine.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 3 --- .../mob/living/carbon/human/update_icons.dm | 4 ++-- code/modules/mob/living/living.dm | 21 ++++++++++++++++++- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index e93bdf0c79..1ecd1479a6 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -221,7 +221,7 @@ usr << "[t_He] has a pulse!" if(fire_stacks) msg += "[t_He] [t_is] covered in some liquid.\n" - if(fire_stacks) + if(on_fire) msg += "[t_He] [t_is] on fire!.\n" msg += "" diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 44908eed00..cee6fe6e4e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1790,11 +1790,8 @@ if(head.max_heat_protection_temperature >= FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE) thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD) thermal_protection = round(thermal_protection) - if(thermal_protection >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) - return if(thermal_protection >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) bodytemperature += 11 - return else bodytemperature += BODYTEMP_HEATING_MAX return diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 6d609026e5..19736bad3f 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -126,8 +126,8 @@ Please contact me on #coderbus IRC. ~Carn x #define LEGCUFF_LAYER 19 #define L_HAND_LAYER 20 #define R_HAND_LAYER 21 -#define TARGETED_LAYER 22 //BS12: Layer for the target overlay from weapon targeting system -#define FIRE_LAYER 23 //If you're on fire +#define FIRE_LAYER 22 //If you're on fire +#define TARGETED_LAYER 23 //BS12: Layer for the target overlay from weapon targeting system #define TOTAL_LAYERS 23 ////////////////////////////////// diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 18a93203d1..8aa07aafc4 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -636,6 +636,7 @@ if(CM.on_fire && CM.canmove) CM.fire_stacks -= 5 CM.Weaken(3) + CM.spin(32,2) CM.visible_message("[CM] rolls on the floor, trying to put themselves out!", \ "You stop, drop, and roll!") sleep(30) @@ -854,4 +855,22 @@ return 1 /mob/living/proc/slip(var/slipped_on,stun_duration=8) - return 0 \ No newline at end of file + return 0 + +/mob/living/carbon/proc/spin(spintime, speed) + spawn() + var/D = dir + while(spintime >= speed) + sleep(speed) + switch(D) + if(NORTH) + D = EAST + if(SOUTH) + D = WEST + if(EAST) + D = SOUTH + if(WEST) + D = NORTH + set_dir(D) + spintime -= speed + return \ No newline at end of file From ac20d0b23be24064d65281c3819e067c782419e1 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:19:53 +0300 Subject: [PATCH 150/282] Fixes #7827 --- code/modules/admin/admin_verbs.dm | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index b45346f792..7d56789ec3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -283,7 +283,7 @@ var/list/admin_verbs_mentor = list( if(holder.rights & R_SERVER) verbs += admin_verbs_server if(holder.rights & R_DEBUG) verbs += admin_verbs_debug - if(config.debugparanoid && !check_rights(R_ADMIN)) + if(config.debugparanoid && !check_rights(R_ADMIN)) verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. if(holder.rights & R_POSSESS) verbs += admin_verbs_possess if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions @@ -309,24 +309,7 @@ var/list/admin_verbs_mentor = list( admin_verbs_rejuv, admin_verbs_sounds, admin_verbs_spawn, - /*Debug verbs added by "show debug verbs"*/ - /client/proc/Cell, - /client/proc/do_not_use_these, - /client/proc/camera_view, - /client/proc/sec_camera_report, - /client/proc/intercom_view, - /client/proc/atmosscan, - /client/proc/powerdebug, - /client/proc/count_objects_on_z_level, - /client/proc/count_objects_all, - /client/proc/cmd_assume_direct_control, - /client/proc/jump_to_dead_group, - /client/proc/startSinglo, - /client/proc/ticklag, - /client/proc/cmd_admin_grantfullaccess, - /client/proc/kaboom, - /client/proc/splash, - /client/proc/cmd_admin_areatest + debug_verbs ) /client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs From b405fcd71f13705e753a6e9f39649a683309f494 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:26:05 +0300 Subject: [PATCH 151/282] Fixes #7775 --- code/modules/mob/living/silicon/ai/death.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 456940bc25..196a23ff7b 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -53,4 +53,4 @@ if (istype(loc, /obj/item/device/aicard)) loc.icon_state = "aicard-404" - return ..(gibbed) + return ..(gibbed,"gives one shrill beep before falling lifeless.") From facfc0df5698241218169585dfb4583b7518be80 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 12:51:46 +0300 Subject: [PATCH 152/282] Fixes #7560 --- code/modules/mob/living/carbon/human/life.dm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index ee752a475d..f386e05e35 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1489,21 +1489,19 @@ client.screen |= G.overlay if(G.vision_flags) sight |= G.vision_flags - if(!druggy) + if(!druggy && !seer) see_invisible = SEE_INVISIBLE_MINIMUM - if(istype(G,/obj/item/clothing/glasses/night)) + if(istype(G,/obj/item/clothing/glasses/night) && !seer) see_invisible = SEE_INVISIBLE_MINIMUM /* HUD shit goes here, as long as it doesn't modify sight flags */ // The purpose of this is to stop xray and w/e from preventing you from using huds -- Love, Doohl + var/obj/item/clothing/glasses/hud/O = G if(istype(G, /obj/item/clothing/glasses/sunglasses/sechud)) - var/obj/item/clothing/glasses/sunglasses/sechud/O = G - if(O.hud) O.hud.process_hud(src) - if(!druggy) see_invisible = SEE_INVISIBLE_LIVING - else if(istype(G, /obj/item/clothing/glasses/hud)) - var/obj/item/clothing/glasses/hud/O = G + var/obj/item/clothing/glasses/sunglasses/sechud/S = G + O = S.hud + if(istype(O)) O.process_hud(src) - if(!druggy) - see_invisible = SEE_INVISIBLE_LIVING + if(!druggy && !seer) see_invisible = SEE_INVISIBLE_LIVING proc/handle_random_events() // Puke if toxloss is too high From 02581042d75eb57df001c4f44443bb45d67f770c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 16 Jan 2015 11:23:08 +0100 Subject: [PATCH 153/282] Fixes #7644. Makes it possible for admins to properly rename AIs, either by right-clicking the relevant AI or by using the verb in the Admin panel. --- code/modules/admin/admin_verbs.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6548454789..da0ce78a90 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -46,6 +46,7 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_admin_create_centcom_report, /client/proc/check_words, /*displays cult-words*/ /client/proc/check_ai_laws, /*shows AI and borg laws*/ + /client/proc/rename_ai, /*properly renames the AI*/ /client/proc/check_antagonists, /client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/ /client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/ @@ -282,7 +283,7 @@ var/list/admin_verbs_mentor = list( if(holder.rights & R_SERVER) verbs += admin_verbs_server if(holder.rights & R_DEBUG) verbs += admin_verbs_debug - if(config.debugparanoid && !check_rights(R_ADMIN)) + if(config.debugparanoid && !check_rights(R_ADMIN)) verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. if(holder.rights & R_POSSESS) verbs += admin_verbs_possess if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions @@ -708,6 +709,17 @@ var/list/admin_verbs_mentor = list( if(holder) src.holder.output_ai_laws() +/client/proc/rename_ai(mob/living/silicon/ai/AI in world) + set name = "Rename AI" + set category = "Admin" + + if(holder) + var/new_name = trim_strip_input(src, "Enter new AI name. Leave blank or as is to cancel.", "Enter new AI Name", AI.name) + if(new_name && new_name != AI.name) + admin_log_and_message_admins("has renamed the AI '[AI.name]' to '[new_name]'") + AI.SetName(new_name) + feedback_add_details("admin_verb","RAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + //---- bs12 verbs ---- From d42482c7cc7cf2e030c59fd7f42faa8b8c67a27e Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 16 Jan 2015 14:18:51 +0300 Subject: [PATCH 154/282] Fixes #7259 Removes forks used for ribcage opening/closing since it overlapped with internal organ surgery and for some reason even priorities didn't help with that. --- code/game/objects/items/weapons/kitchen.dm | 2 ++ code/modules/surgery/encased.dm | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 5d72495520..7532c1d9cb 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -61,6 +61,8 @@ playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1) overlays.Cut() return + else + ..() /obj/item/weapon/kitchen/utensil/fork name = "fork" diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index dcd6cc4b31..72cff7ab3d 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -67,8 +67,7 @@ /datum/surgery_step/open_encased/retract allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/crowbar = 75 ) min_duration = 30 @@ -124,8 +123,7 @@ /datum/surgery_step/open_encased/close allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/crowbar = 75 ) min_duration = 20 From 37962065ae85d6e46a1cfb7ebfafbc818763abd7 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 16 Jan 2015 23:02:55 +0300 Subject: [PATCH 155/282] Adds oxygen and nitrogen to air alarm scrubber list --- code/ATMOSPHERICS/components/unary/vent_scrubber.dm | 12 ++++++++++++ code/game/machinery/alarm.dm | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 7b74ed8b73..068f7efdb3 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -99,6 +99,8 @@ "power" = use_power, "scrubbing" = scrubbing, "panic" = panic, + "filter_o2" = ("oxygen" in scrubbing_gas), + "filter_n2" = ("nitrogen" in scrubbing_gas), "filter_co2" = ("carbon_dioxide" in scrubbing_gas), "filter_phoron" = ("phoron" in scrubbing_gas), "filter_n2o" = ("sleeping_agent" in scrubbing_gas), @@ -192,6 +194,16 @@ var/list/toggle = list() + if(!isnull(signal.data["o2_scrub"]) && text2num(signal.data["o2_scrub"]) != ("oxygen" in scrubbing_gas)) + toggle += "oxygen" + else if(signal.data["toggle_o2_scrub"]) + toggle += "oxygen" + + if(!isnull(signal.data["n2_scrub"]) && text2num(signal.data["n2_scrub"]) != ("nitrogen" in scrubbing_gas)) + toggle += "nitrogen" + else if(signal.data["toggle_n2_scrub"]) + toggle += "nitrogen" + if(!isnull(signal.data["co2_scrub"]) && text2num(signal.data["co2_scrub"]) != ("carbon_dioxide" in scrubbing_gas)) toggle += "carbon_dioxide" else if(signal.data["toggle_co2_scrub"]) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3819c2d9d5..0d195691ba 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -696,6 +696,10 @@ siphoning if(data["scrubbing"]) sensor_data += {" Filtering: +Oxygen +[data["filter_o2"]?"on":"off"]; +Nitrogen +[data["filter_n2"]?"on":"off"]; Carbon Dioxide [data["filter_co2"]?"on":"off"]; Toxins @@ -817,6 +821,8 @@ table tr:first-child th:first-child { border: none;} "adjust_external_pressure", "set_external_pressure", "checks", + "o2_scrub", + "n2_scrub", "co2_scrub", "tox_scrub", "n2o_scrub", From 4be653efecf38e78f041066379d4e44deb34e30d Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Fri, 16 Jan 2015 23:58:15 +0000 Subject: [PATCH 156/282] fix wall burning runtime, balance rwalls rwalls are half as strong again because they took way too long to burn down Signed-off-by: Mloc-Argent --- code/__HELPERS/maths.dm | 2 ++ code/game/turfs/simulated/walls.dm | 2 +- code/game/turfs/simulated/walls_reinforced.dm | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index a0f4f9cb32..d9bbc18ece 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -1,3 +1,5 @@ +#define RAND_F(L, H) (rand()*(H-L) + L) + // Credits to Nickr5 for the useful procs I've taken from his library resource. var/const/E = 2.71828183 diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 5561d9cfbd..5ec4bc1e61 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -117,7 +117,7 @@ /turf/simulated/wall/adjacent_fire_act(turf/simulated/floor/adj_turf, datum/gas_mixture/adj_air, adj_temp, adj_volume) if(adj_temp > max_temperature) - take_damage(log(rand(0.9, 1.1) * (adj_temp - max_temperature))) + take_damage(log(RAND_F(0.9, 1.1) * (adj_temp - max_temperature))) return ..() diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index e06f9ba980..9367df31c7 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -5,7 +5,7 @@ opacity = 1 density = 1 - damage_cap = 1000 + damage_cap = 500 max_temperature = 6000 armor = 0.1 // Only 10% damage from gunfire, it's made from strong alloys and stuff. @@ -291,7 +291,7 @@ var/obj/item/light_fixture_frame/small/AH = W AH.try_build(src) return - + //Finally, CHECKING FOR FALSE WALLS if it isn't damaged else if(!d_state) return attack_hand(user) From 87a51e27e4402baea976c6d871455c8d71c5f307 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Fri, 16 Jan 2015 23:59:39 +0000 Subject: [PATCH 157/282] optimize relay_information useless del() call, new call deferred Signed-off-by: Mloc-Argent --- code/controllers/communications.dm | 2 +- .../machinery/telecomms/telecomunications.dm | 44 ++++--------------- 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index a0d9067038..b4b0eb4393 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -307,7 +307,7 @@ var/global/datum/controller/radio/radio_controller //1 = radio transmission //2 = subspace transmission - var/data = list() + var/list/data = list() var/encryption var/frequency = 0 diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 4d01598311..fe638408fc 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -64,36 +64,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() if(long_range_link == 0 && machine.long_range_link == 0) continue // If we're sending a copy, be sure to create the copy for EACH machine and paste the data - var/datum/signal/copy = new + var/datum/signal/copy if(copysig) - + copy = new copy.transmission_method = 2 copy.frequency = signal.frequency - // Copy the main data contents! Workaround for some nasty bug where the actual array memory is copied and not its contents. - copy.data = list( - - "mob" = signal.data["mob"], - "mobtype" = signal.data["mobtype"], - "realname" = signal.data["realname"], - "name" = signal.data["name"], - "job" = signal.data["job"], - "key" = signal.data["key"], - "vmessage" = signal.data["vmessage"], - "vname" = signal.data["vname"], - "vmask" = signal.data["vmask"], - "compression" = signal.data["compression"], - "message" = signal.data["message"], - "connection" = signal.data["connection"], - "radio" = signal.data["radio"], - "slow" = signal.data["slow"], - "traffic" = signal.data["traffic"], - "type" = signal.data["type"], - "server" = signal.data["server"], - "reject" = signal.data["reject"], - "level" = signal.data["level"], - "verb" = signal.data["verb"], - "language" = signal.data["language"] - ) + copy.data = signal.data.Copy() // Keep the "original" signal constant if(!signal.data["original"]) @@ -101,10 +77,6 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() else copy.data["original"] = signal.data["original"] - else - del(copy) - - send_count++ if(machine.is_freq_listening(signal)) machine.traffic++ @@ -232,13 +204,13 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() else if(on) produce_heat() delay = initial(delay) - - + + /obj/machinery/telecomms/proc/produce_heat() if (!produces_heat) return - + if (!use_power) return @@ -252,11 +224,11 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/datum/gas_mixture/removed = env.remove(transfer_moles) if(removed) - + var/heat_produced = idle_power_usage //obviously can't produce more heat than the machine draws from it's power source if (traffic <= 0) heat_produced *= 0.30 //if idle, produce less heat. - + removed.add_thermal_energy(heat_produced) env.merge(removed) From e5e149abd9a38fcb1708580a4b98ae936389de4b Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 16 Jan 2015 23:29:48 -0700 Subject: [PATCH 158/282] Fixes a null-usr edge case. --- code/defines/procs/admin.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm index 44d79a3893..abf4c97dd3 100644 --- a/code/defines/procs/admin.dm +++ b/code/defines/procs/admin.dm @@ -1,7 +1,7 @@ proc/log_and_message_admins(var/message as text) - log_admin("[usr]([usr.ckey]) " + message) - message_admins("[usr]([usr.ckey]) " + message) + log_admin(usr ? "[usr]([usr.ckey]) [message]" : "EVENT [message]") + message_admins(usr ? "[usr]([usr.ckey]) [message]" : "EVENT [message]") proc/admin_log_and_message_admins(var/message as text) - log_admin("[key_name(usr)] " + message) - message_admins("[key_name_admin(usr)] " + message, 1) \ No newline at end of file + log_admin(usr ? "[key_name(usr)] [message]" : "EVENT [message]") + message_admins(usr ? "[key_name(usr)] [message]" : "EVENT [message]", 1) From 39390a73240df5623534e45186497fb249e08d7d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 17 Jan 2015 02:13:17 -0500 Subject: [PATCH 159/282] Fixes airlock removing electronics check Also stops emagged status from preventing certain door actions. --- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/doors/door.dm | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 307f9cf711..73c0e66b8e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -905,7 +905,7 @@ About the new airlock wires panel: beingcrowbarred = 1 //derp, Agouri else beingcrowbarred = 0 - if( beingcrowbarred && src.p_open && (operating == -1 || (src.locked && welded && !src.arePowerSystemsOn() && BROKEN) || (density && welded && operating != 1 && !src.arePowerSystemsOn() && !src.locked)) ) + if( beingcrowbarred && src.p_open && (operating < 0 || (!operating && welded && !src.arePowerSystemsOn() && density && (!src.locked || (stat & BROKEN)))) ) playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) 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)) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6668f79c76..8e354a73b3 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -188,7 +188,7 @@ /obj/machinery/door/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/device/detective_scanner)) return - if(src.operating || isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them. + if(src.operating > 0 || isrobot(user)) return //borgs can't attack doors open because it conflicts with their AI-like interaction with them. src.add_fingerprint(user) if(!Adjacent(user)) user = null @@ -250,13 +250,6 @@ repairing = null return - if(src.density && (operable() && istype(I, /obj/item/weapon/card/emag))) - flick("door_spark", src) - sleep(6) - open() - operating = -1 - return 1 - //psa to whoever coded this, there are plenty of objects that need to call attack() on doors without bludgeoning them. if(src.density && istype(I, /obj/item/weapon) && user.a_intent == "hurt" && !istype(I, /obj/item/weapon/card)) var/obj/item/weapon/W = I @@ -269,6 +262,15 @@ take_damage(W.force) return + if(src.operating) return + + if(src.density && (operable() && istype(I, /obj/item/weapon/card/emag))) + flick("door_spark", src) + sleep(6) + open() + operating = -1 + return 1 + if(src.allowed(user) && operable()) if(src.density) open() From 15c7ed92e476adc6d85a1676f7eee4eb8aa6b694 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 17 Jan 2015 03:01:22 -0500 Subject: [PATCH 160/282] Unarmed message tweaks --- .../carbon/human/species/species_attack.dm | 20 ++++++---- .../mob/living/carbon/human/unarmed_attack.dm | 40 ++++++++++++------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index fe5eac0f07..bb922b905b 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -35,23 +35,29 @@ if("head", "mouth", "eyes") // ----- HEAD ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] scratched [target] across \his cheek!") - if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")] [pick("", "", "", "with spread [pick(attack_noun)]")]!") - if(5) user.visible_message("[pick("[user] [pick(attack_verb)] [target] across \his face!", "[user] rakes \his [pick(attack_noun)] across [target]'s face!")]") - if("chest", "l_arm", "r_arm", "l_hand", "r_hand", "groin", "l_leg", "r_leg", "l_foot", "r_foot") + if(1 to 2) + user.visible_message("[user] scratched [target] across \his cheek!") + if(3 to 4) + user.visible_message("[user] [pick(attack_verb)] [target]'s [pick("head", "neck")]!") //'with spread claws' sounds a little bit odd, just enough that conciseness is better here I think + if(5) + user.visible_message(pick( + "[user] rakes \his [pick(attack_noun)] across [target]'s face!", + "[user] tears \his [pick(attack_noun)] into [target]'s face!", + )) + else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] scratched [target]'s [affecting.display_name]!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.display_name]!") - if(5) user.visible_message("[user] tears \his [pick(attack_noun)] deep into [target]'s [affecting.display_name]!") + if(5) user.visible_message("[user] tears \his [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.display_name]!") /datum/unarmed_attack/claws/strong - attack_verb = list("slash") + attack_verb = list("slashed") damage = 10 shredding = 1 /datum/unarmed_attack/bite/strong - attack_verb = list("maul") + attack_verb = list("mauled") damage = 15 shredding = 1 diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm index ba738e81ef..c98e3788c0 100644 --- a/code/modules/mob/living/carbon/human/unarmed_attack.dm +++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm @@ -35,17 +35,18 @@ switch(zone) // strong punches can have effects depending on where they hit if("head", "mouth", "eyes") // Induce blurriness - target.visible_message("[target] looks dazed.", "You see stars.") + target.visible_message("[target] looks momentarily disoriented.", "You see stars.") target.apply_effect(attack_damage*2, EYE_BLUR, armour) if("l_arm", "l_hand") if (target.l_hand) // Disarm left hand - target.visible_message("[src] [pick("dropped", "let go off")] \the [target.l_hand][pick("", " with a scream")]!") + //Urist McAssistant dropped the macguffin with a scream just sounds odd. Plus it doesn't work with NO_PAIN + target.visible_message("\The [target.l_hand] was knocked right out of [src]'s grasp!") target.drop_l_hand() if("r_arm", "r_hand") if (target.r_hand) // Disarm right hand - target.visible_message("[src] [pick("dropped", "let go off")] \the [target.r_hand][pick("", " with a scream")]!") + target.visible_message("\The [target.r_hand] was knocked right out of [src]'s grasp!") target.drop_r_hand() if("chest") if(!target.lying) @@ -113,21 +114,30 @@ if("head", "mouth", "eyes") // ----- HEAD ----- // switch(attack_damage) - if(1 to 2) user.visible_message("[user] slapped [target] across \his cheek!") - if(3 to 4) user.visible_message("[user] struck [target] in the head[pick("", " with a closed fist")]!") - if(5) user.visible_message("[user] gave [target] a resounding slap to the face!") - if("chest", "l_arm", "r_arm", "l_hand", "r_hand", "groin", "l_leg", "r_let", "l_foot", "r_foot") + if(1 to 2) + user.visible_message("[user] slapped [target] across \his cheek!") + if(3 to 4) + user.visible_message(pick( + 80; "[user] [pick(attack_verb)] [target] in the head!", //striking someone with a 'closed fist' is called punching them. + 20; "[user] struck [target] in the head[pick("", " with a closed fist")]!" + )) + if(5) + user.visible_message(pick( + 10; "[user] gave [target] a resounding slap to the face!", + 90; "[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!" + )) + else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message("[user] slapped [target]'s [organ]!") if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") - if(5) user.visible_message("[user] slammed \his [pick(attack_noun)] into [target]'s [organ]!") + if(5) user.visible_message("[user] smashed \his [pick(attack_noun)] into [target]'s [organ]!") else - user.visible_message("[user] [pick("punched", "threw a punch", "struck", "slapped", "rammed their [pick(attack_noun)] into")] [target]'s [organ]!") + user.visible_message("[user] [pick("punched", "threw a punch", "struck", "slapped", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!") //why do we have a separate set of verbs for lying targets? /datum/unarmed_attack/kick - attack_verb = list("kicked", "kneed") - attack_noun = list("kick", "knee strike") + attack_verb = list("kicked", "kicked", "kicked", "kneed") + attack_noun = list("kick", "kick", "kick", "knee strike") attack_sound = "swing_hit" damage = 0 @@ -161,7 +171,7 @@ attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) - if(1 to 2) user.visible_message("[user] gave [target] a light [pick(attack_noun)] to the [organ]!") + if(1 to 2) user.visible_message("[user] threw [target] a glancing [pick(attack_noun)] to the [organ]!") //it's not that they're kicking lightly, it's that the kick didn't quite connect if(3 to 4) user.visible_message("[user] [pick(attack_verb)] [target] in \his [organ]!") if(5) user.visible_message("[user] landed a strong [pick(attack_noun)] against [target]'s [organ]!") @@ -204,6 +214,6 @@ attack_damage = Clamp(attack_damage, 1, 5) switch(attack_damage) - if(1 to 2) user.visible_message("[user] [pick("clomped on", "treaded on")] [target]'s [organ]!") - if(3 to 4) user.visible_message("[pick("[user] stomped down on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") - if(5) user.visible_message("[pick("[user] landed a devastating stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") \ No newline at end of file + if(1 to 2) user.visible_message("[user] [pick("stepped on", "treaded on")] [target]'s [organ]!") //stepped on conveys the same meaning and is more recognizable as an actual word than "clomped" + if(3 to 4) user.visible_message("[pick("[user] stomped on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!") + if(5) user.visible_message("[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed \his [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/ \ No newline at end of file From 5f496524d23d9bf1dbd193c6aa82d47bcb000e95 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sat, 17 Jan 2015 19:11:41 +0300 Subject: [PATCH 161/282] Changes how sprays work and re-adds silicate Sprays will spray directly at solid objects if they are clicked (walls, windows, etc). Makes removal of wall rot with plant-b-gone actually work. Re-adds silicate with the old recipe. It repairs windows and makes them more damage-resistant up to half damage taken. --- code/game/objects/structures/window.dm | 89 +++++++++++++------ code/game/turfs/simulated/walls.dm | 5 +- code/game/turfs/simulated/walls_reinforced.dm | 3 + code/modules/reagents/Chemistry-Reagents.dm | 30 +------ code/modules/reagents/Chemistry-Recipes.dm | 4 +- .../reagents/reagent_containers/spray.dm | 53 ++++++----- 6 files changed, 106 insertions(+), 78 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index cd55637b35..db4617d35a 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -15,25 +15,75 @@ var/basestate var/shardtype = /obj/item/weapon/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. -// var/silicate = 0 // number of units of silicate -// var/icon/silicateIcon = null // the silicated icon + var/silicate = 0 // number of units of silicate + var/icon/silicateIcon = null // the silicated icon + +/obj/structure/window/examine(mob/user) + . = ..(user) + + if(health == maxhealth) + user << "It looks fully intact." + else + var/perc = health / maxhealth + if(perc > 0.75) + user << "It has a few cracks." + else if(perc > 0.5) + user << "It looks slightly damaged." + else if(perc > 0.25) + user << "It looks moderately damaged." + else + user << "It looks heavily damaged." + if(silicate) + if (silicate < 30) + user << "It has a thin layer of silicate." + else if (silicate < 70) + user << "It is covered in silicate." + else + user << "There is a thick layer of silicate covering it." /obj/structure/window/proc/take_damage(var/damage = 0, var/sound_effect = 1) - var/initialhealth = src.health - src.health = max(0, src.health - damage) - if(src.health <= 0) - src.shatter() + var/initialhealth = health + + if(silicate) + world << "[silicate] silicate, damage is reduced from [damage] to [round(damage * (1 - silicate / 200))]" + damage = damage * (1 - silicate / 200) + + health = max(0, health - damage) + + if(health <= 0) + shatter() else if(sound_effect) playsound(loc, 'sound/effects/Glasshit.ogg', 100, 1) - if(src.health < src.maxhealth / 4 && initialhealth >= src.maxhealth / 4) + if(health < maxhealth / 4 && initialhealth >= maxhealth / 4) visible_message("[src] looks like it's about to shatter!" ) - else if(src.health < src.maxhealth / 2 && initialhealth >= src.maxhealth / 2) + else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2) visible_message("[src] looks seriously damaged!" ) - else if(src.health < src.maxhealth * 3/4 && initialhealth >= src.maxhealth * 3/4) + else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4) visible_message("Cracks begin to appear in [src]!" ) return +/obj/structure/window/proc/apply_silicate(var/amount) + if(health < maxhealth) // Mend the damage + health = min(health + amount * 3, maxhealth) + if(health == maxhealth) + visible_message("[src] looks fully repaired." ) + else // Reinforce + silicate = min(silicate + amount, 100) + updateSilicate() + +/obj/structure/window/proc/updateSilicate() + if(!silicate) + icon = initial(icon) + return + + var/icon/I = icon(initial(icon)) + var/r = (silicate / 100) + 1 + var/g = (silicate / 70) + 1 + var/b = (silicate / 50) + 1 + I.SetIntensity(r,g,b) + icon = I + /obj/structure/window/proc/shatter(var/display_message = 1) playsound(src, "shatter", 70, 1) if(display_message) @@ -251,7 +301,7 @@ update_nearby_tiles(need_rebuild=1) //Compel updates before set_dir(turn(dir, 90)) -// updateSilicate() + updateSilicate() update_nearby_tiles(need_rebuild=1) return @@ -267,27 +317,10 @@ update_nearby_tiles(need_rebuild=1) //Compel updates before set_dir(turn(dir, 270)) -// updateSilicate() + updateSilicate() update_nearby_tiles(need_rebuild=1) return - -/* -/obj/structure/window/proc/updateSilicate() - if(silicateIcon && silicate) - icon = initial(icon) - - var/icon/I = icon(icon,icon_state,dir) - - var/r = (silicate / 100) + 1 - var/g = (silicate / 70) + 1 - var/b = (silicate / 50) + 1 - I.SetIntensity(r,g,b) - icon = I - silicateIcon = I -*/ - - /obj/structure/window/New(Loc, start_dir=null, constructed=0) ..() diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 7158a866cf..783ed17ba2 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -273,7 +273,7 @@ user << rotting_touch_message if(rotting_destroy_touch) dismantle_wall() - return 1 + return 1 if(..()) return 1 @@ -475,6 +475,9 @@ else if(istype(W,/obj/item/weapon/rcd)) //I bitterly resent having to write this. ~Z return + + else if(istype(W, /obj/item/weapon/reagent_containers)) + return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall else return attack_hand(user) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index e06f9ba980..d4eae2aa63 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -292,6 +292,9 @@ AH.try_build(src) return + else if(istype(W, /obj/item/weapon/reagent_containers)) + return // They tend to have meaningful afterattack - let them apply it without destroying a rotting wall + //Finally, CHECKING FOR FALSE WALLS if it isn't damaged else if(!d_state) return attack_hand(user) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6fd9de29f7..1e7d7bdd56 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -427,7 +427,7 @@ datum holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM) return -/* silicate + silicate name = "Silicate" id = "silicate" description = "A compound that can be used to reinforce glass." @@ -437,31 +437,9 @@ datum reaction_obj(var/obj/O, var/volume) src = null if(istype(O,/obj/structure/window)) - if(O:silicate <= 200) - - O:silicate += volume - O:health += volume * 3 - - if(!O:silicateIcon) - var/icon/I = icon(O.icon,O.icon_state,O.dir) - - var/r = (volume / 100) + 1 - var/g = (volume / 70) + 1 - var/b = (volume / 50) + 1 - I.SetIntensity(r,g,b) - O.icon = I - O:silicateIcon = I - else - var/icon/I = O:silicateIcon - - var/r = (volume / 100) + 1 - var/g = (volume / 70) + 1 - var/b = (volume / 50) + 1 - I.SetIntensity(r,g,b) - O.icon = I - O:silicateIcon = I - - return*/ + var/obj/structure/window/W = O + W.apply_silicate(volume) + return oxygen name = "Oxygen" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index df9c8a219a..b9c657f97e 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -55,14 +55,14 @@ datum empulse(location, round(created_volume / 24), round(created_volume / 14), 1) holder.clear_reagents() return -/* + silicate name = "Silicate" id = "silicate" result = "silicate" required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1) result_amount = 3 -*/ + stoxin name = "Soporific" id = "stoxin" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1db8fa1aa4..d3a118207e 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -21,7 +21,7 @@ ..() src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT -/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob) +/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity) if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/closet) \ || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart)) return @@ -46,7 +46,7 @@ user << "\The [src] is empty!" return - Spray_at(A) + Spray_at(A, user, proximity) playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6) @@ -61,28 +61,39 @@ log_game("[key_name(user)] fired Space lube from \a [src].") return -/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj) - var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) - reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size) - D.icon += mix_color_from_reagents(D.reagents.reagent_list) +/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj, mob/user as mob, proximity) + if (A.density && proximity) + A.visible_message("[usr] sprays [A] with [src].") + var/obj/D = new/obj() + D.create_reagents(amount_per_transfer_from_this) + reagents.trans_to(D, amount_per_transfer_from_this) + D.icon += mix_color_from_reagents(D.reagents.reagent_list) + spawn(0) + D.reagents.reaction(A) + sleep(5) + del(D) + else + var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src)) + D.create_reagents(amount_per_transfer_from_this) + reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_size) + D.icon += mix_color_from_reagents(D.reagents.reagent_list) - var/turf/A_turf = get_turf(A)//BS12 + var/turf/A_turf = get_turf(A)//BS12 - spawn(0) - for(var/i=0, i Date: Sat, 17 Jan 2015 20:52:06 +0300 Subject: [PATCH 162/282] Added variety (uid) field to seed vendors --- code/modules/hydroponics/seed_storage.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 4abb4abe05..17cab40d8a 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -70,6 +70,7 @@ dat += "No seeds" else dat += "" + dat += "" if ("stats" in scanner) dat += "" if ("produce" in scanner) @@ -85,6 +86,7 @@ var/datum/seed/seed = S.seed_type dat += "" dat += "" + dat += "" if ("stats" in scanner) dat += "" if(seed.harvest_repeat) From c28d3f5b1af8ab586859fe7591d04ac20990573f Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Sat, 17 Jan 2015 14:29:06 -0600 Subject: [PATCH 163/282] Adds medical belts to sterile equipment crate. --- code/datums/supplypacks.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 70c418172d..938d74caa9 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -956,7 +956,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee contains = list(/obj/item/clothing/under/rank/medical/green, /obj/item/clothing/under/rank/medical/green, /obj/item/weapon/storage/box/masks, - /obj/item/weapon/storage/box/gloves) + /obj/item/weapon/storage/box/gloves, + /obj/item/weapon/storage/belt/medical, + /obj/item/weapon/storage/belt/medical, + /obj/item/weapon/storage/belt/medical) cost = 15 containertype = "/obj/structure/closet/crate" containername = "Sterile equipment crate" From 691c51f45baf24e43d51e22127647e61d1c6ba91 Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Sat, 17 Jan 2015 22:38:10 -0600 Subject: [PATCH 164/282] Adds surgical caps too. --- code/datums/supplypacks.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 938d74caa9..5f70d43083 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -955,6 +955,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee name = "Sterile equipment crate" contains = list(/obj/item/clothing/under/rank/medical/green, /obj/item/clothing/under/rank/medical/green, + /obj/item/clothing/head/surgery/green + /obj/item/clothing/head/surgery/green /obj/item/weapon/storage/box/masks, /obj/item/weapon/storage/box/gloves, /obj/item/weapon/storage/belt/medical, From 093c8db3b6516576659833da27244eb1bf074e77 Mon Sep 17 00:00:00 2001 From: SparklySheep Date: Sun, 18 Jan 2015 00:00:16 -0600 Subject: [PATCH 165/282] Fixes stupid mistake. --- code/datums/supplypacks.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 5f70d43083..216004c330 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -955,8 +955,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee name = "Sterile equipment crate" contains = list(/obj/item/clothing/under/rank/medical/green, /obj/item/clothing/under/rank/medical/green, - /obj/item/clothing/head/surgery/green - /obj/item/clothing/head/surgery/green + /obj/item/clothing/head/surgery/green, + /obj/item/clothing/head/surgery/green, /obj/item/weapon/storage/box/masks, /obj/item/weapon/storage/box/gloves, /obj/item/weapon/storage/belt/medical, From 97814522e17d9e6e1ca745779b7a696eadc5be69 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 18 Jan 2015 18:48:49 +0100 Subject: [PATCH 166/282] Fixes #7871. --- maps/exodus-1.dmm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 4478171d36..26e26f9af1 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -466,8 +466,8 @@ "aiX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aiY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/security/main) "aiZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) -"aja" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) -"ajb" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -32},/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) +"aja" = (/obj/machinery/camera{c_tag = "Brig East"; dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/computer/guestpass{pixel_y = -29},/turf/simulated/floor,/area/security/brig) +"ajb" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ajc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/crew_quarters/heads/hos) "ajd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/structure/flora/pottedplant,/obj/machinery/newscaster/security_unit{pixel_x = -30},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) "aje" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/crew_quarters/heads/hos) @@ -523,7 +523,7 @@ "akc" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "akd" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ake" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/brig) -"akf" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) +"akf" = (/obj/structure/table,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge,/obj/item/clothing/tie/holobadge/cord,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akg" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) "akh" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "aki" = (/obj/structure/disposalpipe/segment,/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) @@ -557,7 +557,7 @@ "akK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/brig) "akL" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "akM" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) -"akN" = (/obj/machinery/camera{c_tag = "Brig East"; dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) +"akN" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "akO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "akP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/brig) "akQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/security/brig) @@ -7307,10 +7307,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahlahmahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZajaajbajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajqajrajsajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeakfakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMakNakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From b139001d8c80f3bcce8f656b00d9f89b55b60acd Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 19 Jan 2015 08:43:15 +0100 Subject: [PATCH 167/282] Fixes #7875. Currently cryopods require a control computer to be in the same area as themselves to be found, thus there is now a computer in the brig. Also made the bedroom dorms symmetrical again. --- maps/exodus-1.dmm | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 26e26f9af1..efabf77e10 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1051,13 +1051,13 @@ "auk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/security/prison) "aul" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/security/prison) "aum" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/camera{c_tag = "Bedroom"; dir = 6; network = list("SS13","Prison")},/turf/simulated/floor,/area/security/prison) -"aun" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/prison) +"aun" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/cryopod{density = 0; layer = 3.3; pixel_y = 32},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 24},/turf/simulated/floor,/area/security/prison) "auo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/effect/decal/cleanable/generic,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "aup" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/random/tech_supply,/obj/item/clothing/head/flatcap,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "auq" = (/obj/machinery/atm{pixel_x = -25},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "aur" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) "aus" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aut" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"aut" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/prison) "auu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auv" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auw" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) @@ -1074,7 +1074,7 @@ "auH" = (/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) "auI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) "auJ" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/beach/water{tag = "icon-seadeep"; icon_state = "seadeep"},/area/crew_quarters/fitness) -"auK" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) +"auK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "auL" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness) "auM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "auN" = (/turf/simulated/wall,/area/hallway/secondary/entry/fore) @@ -1102,10 +1102,10 @@ "avj" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "avk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) "avl" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"avm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/dormitory) -"avn" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"avm" = (/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"avn" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/crew_quarters/sleep) "avo" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) -"avp" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"avp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/dormitory) "avq" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) "avr" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) "avs" = (/obj/effect/landmark{name = "JoinLateCryo"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo) @@ -1151,7 +1151,7 @@ "awg" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/security/prison) "awh" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor,/area/security/prison) "awi" = (/obj/machinery/light,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) -"awj" = (/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/security/prison) +"awj" = (/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "awk" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/security/prison) "awl" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/prison) "awm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) @@ -1238,7 +1238,7 @@ "axP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "axQ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) "axR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"axS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) +"axS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axU" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "axV" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) @@ -1289,7 +1289,7 @@ "ayO" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) "ayP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/primary/fore) "ayQ" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"ayR" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) +"ayR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) "ayS" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/camera{c_tag = "Dormitory Bedroom Fore"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/carpet{tag = "icon-carpet2-0"; icon_state = "carpet2-0"},/area/crew_quarters/sleep/bedrooms) "ayT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/crew_quarters/sleep) "ayU" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) @@ -1404,7 +1404,7 @@ "aAZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "aBa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/mime,/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 22; pixel_y = 10},/turf/simulated/floor/wood,/area/crew_quarters/sleep/bedrooms) "aBb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "Dormitory 2"; name = "Dorm"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/sleep) -"aBc" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters/sleep) +"aBc" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet1-0"; icon_state = "carpet1-0"},/area/crew_quarters/sleep/bedrooms) "aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/sleep) "aBe" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) "aBf" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/sleep) @@ -1847,7 +1847,7 @@ "aJA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) "aJB" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = "Hydroponics"; name = "Hydroponics"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "aJC" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/dormitory) -"aJD" = (/obj/machinery/camera{c_tag = "Dormitory Bedroom Aft"; dir = 1},/turf/simulated/floor/carpet{tag = "icon-carpet3-0"; icon_state = "carpet3-0"},/area/crew_quarters/sleep/bedrooms) +"aJD" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 28},/obj/item/weapon/packageWrap,/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/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "aJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJF" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/sleep/engi_wash) "aJG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) @@ -3570,9 +3570,7 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqK" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/packageWrap,/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/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) -"bqM" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -7323,16 +7321,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLamxaaLaaaaaaaaaaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqzarQaqBagDarRapcarSarTarUaefapharWaloaonaonarYarZasaasbaonascalWasdasealmasgasharAasiasjaskarEaoHaoHaoHaoHaoHaslasmasnasoasoaspaspasqasrassastastasuasvasvaswasxasyaszaqsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafasAasBasAaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasCarQapbagDapLapMagWasDasEalKapOasFaoiasGasGasHasIaonasJaonasKalWasLasMbgMasOasParAasQasRasSarEasTasUasUasVasWasVasXasYasZasZasZasZasZasZasZasZasZasmataatbatcaoKatdateatfaafatgathathatiathathatjaafaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatkatlatmaaaatnatoatpaaaaafatqatratqaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaalkaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaanXatsattagDagDagDagWagWagWagWalWalWalWalWalWatuaonaoratvaqEatwalWalWalWatxatxatxarAatyatzatAarEatBasZasZasZasZatCatDatEatFatGatHatIatJatKatLatMatNatOatPatPatPatPatPatPatPatPatQatRatRatRatRatRatQatPaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZauuaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEavmasZavnauKauvatCavpavqatFatGauzauAavravsavtatMatNavuavvauGauHauHauJavwavxavyavzatRatRatRatRatRavAatPatPatPaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavQavRavSavTavUavVavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawfawgaukawhawiawjawkawlarAawmaurawnarEatBasZawoavoawpatCawravqatFatFatFawsawtawuatFatFatNawvawwauGauHauHauJawxawyawzawAatRatRatRatRatRawBawCawDawEaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZawXawUawYaxaaxbawZaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxnaxpaxqaxraxsatRatRatRatRatRaxsaxtaxuaxvaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOaxSasZaxTaxjautatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayiavxayjaykatRatRatRatRatRaykaylaxuaxvaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZayRaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfazgazhaziazjatRatRatRatRatRazkazlazmaznaaaaaaaaaaaaaafaaaaafaaaazoazpazoaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZaAfaAecfSatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaApaApaApaApaAqavxavxaAraAsatRatRatRatRatRaAtatPatPatPaafaafaafaafaafaafaafaaaaAuaAvaAuaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbaBcaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBqaBratPaBsatRatRatRatRatRaBtatPaafaaaaaaaaaaaaaafaafaaaaafaBuaBvaBwaBxaByaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatSatTatUatTatSatVatWatVatSaafatqatXatYaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafatZauaanYaubaucanXaafaafalWaudaueaufaugauhauiaonapnaonasJaqEaujaukaulaumaunauoauparAauqaurausarEatBasZaAfaySauvatCauxauyatFatGauzauAauBauCauDatMatNauEauFauGauHauIauJauwauLatPauMatRatRatRatRatRatQatPaafaaaaaaaamaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNatTauOatTauNatVauPatVauNauQauRauSauTauUauUauVauQauQaafaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaaaaaaanXanXanXauWanXanXapbaucanXaaaaaaalWauXalWauYauZavaalWavbavcaonavdaveaveavfavgaveavhaviavjarAavkauravlarEatBasZawoavoawpatCawravqatFatGauzauAavravsavtatMatNavuavvauGauHauHauJavwavxavyavzatRatRatRatRatRavAatPatPatPaaaaamaaaapIapIapIapIapIaafalJaafapIapIapIapIapIaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNavBavCavDauNavEavFavGauNavHavIavJavKavLavMavNavOauQaaaaaaaaqaaaapJapJapJapJapJaafbeSaafapJapJapJapJapJaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaavQavRavSavTavUavVavWavXanXaaaaaaalWalWalWavYavZawaalWawbawcawdaweawfawgaukawhawiautawkawlarAawmaurawnarEatBasZawXawUawYaxaaxbawZatFatFatFawsawtawuatFatFatNawvawwauGauHauHauJawxawyawzawAatRatRatRatRatRawBawCawDawEaaaaamaaaaafaaaaafaafaaaaaabepaaaaaaaafaaaaaaaafaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauNawGawHawIauNawGawHawIauNawJavHavHavHavHavHavHavHasAaaaaaaaaIaaaaafaaaaafaafaaaaaabfxaaaaaaaafaaaaaaaafaaaaaIaafaaaaaaaafaafaaaaaaaafawPavRawQawRavUawSaucawTanXaafaaLcqTatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxatxarAawVaurawWarEatBasZauKaxjavmatCaxVavnaxdaxcaxfaxeaxhaxgaxhaxiaxkaxlaxmaxnaxoaxoaxnaxpaxqaxraxsatRatRatRatRatRaxsaxtaxuaxvaaaaamaamaaIaaaaaaaafaaaaaaabpaaaaafaafaafaafaaIaaIaaIaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaatSauNaxwaxxatSauNaxyaxxatSauNawMauNauNauNauNauNavHatqaaaaaaaaIaaIaaIaaaaaaaafaaaaxBaxCaxBaafaafaafaafaaIaaIaaIaafanXanXanXanXaxDaxEaxEaxFanXanXanXanXaxGaucaucanXaxHaxIanXanXaxJaxKaxLaxMaxMaxMaxMaxMaxMaxMaxMaxNaxMaxMaxMaxMaxMaxOaxPaxQaxRaxOavpasZaxSawjcfSatCaxVaxXaxXaxXaxZaxYayaaybaxXavqaydayeayfaygayhayhayhayiavxayjaykatRatRatRatRatRaykaylaxuaxvaaaaaaaaaaafaafaaaaafaaaaaabfyaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaynayoaypayoayqayoayrayoaysaytayvayvayvayvaywauNawNatqaaaaafaafaaaaaaaaaaaaaafaaaayyayzayAaafaaaaafaaaaaaaaaaaaaaaanXayBayCayDayCayCayCayCayEayCayCayFayGayDayHayIaxMaxMaxMaxMaxMaxMayJayKayLayLayLayLayMayLayLayNayLayMayLayLayLarAayOayPayQarEaAiasZcfSaycaxUatCayUayTayWayVayYayXayYayZayTazaazbazcazdazeazdazdazfazgazhaziazjatRatRatRatRatRazkazlazmaznaaaaaaaaaaaaaafaaaaafaaaazoazpazoaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqazrazsaztazuazvazwazxazyazwazzazAazwazwazBauNavHauRaafaafaaaaaaaaaaaaaaaaafazDazEazFazGazHaaaaafaaaaaaaaaaaaaaaanXazIanXazJazKazLazLazLazMazLazLazLazNazJazOazPazPazPazPazPazPazPazQazRayLazSazTazUazVazWazXazYazZaAaaAbazTaAcarAaAdayPayQarEaAiasZauuaAeauvatCaxWaxXaxXaxXaxXaAjaAkaAlaAmaAnaxkaAoaApaApaApaApaAqavxavxaAraAsatRatRatRatRatRaAtatPatPatPaafaafaafaafaafaafaafaaaaAuaAvaAuaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafauNaAwaAxaAwaAyazsazsaAzaAwaAxaAwaAAaABaACaADauNavHauQauQaAEauUauUauUauUauVauQaAFaAGaAHaAIaAFanXanXaxHaAJaxIanXanXanXazIaAKazJaaaaafaaaaafaaaaafaaaaafaaaazJazOazPaALaAMaANaAOaAPazPazQaucayLaAQaAQaARaASaATaAUaAVaATaAWaAXazTaAcarAaAdayPaDdarEaAiasZawXaAgaAhaBbayRaBdaBeaBfaBgaBhaBiaBjaBjaBkaBjatPaBlaBmaBnaBoaBpaBqaBratPaBsatRatRatRatRatRaBtatPaafaaaaaaaaaaaaaafaafaaaaafaBuaBvaBwaBxaByaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBzatSaBAawHaBBaBCaBDaBEaBFaBBawHaBGaBHaBIaBJaBKaBLavHavHavHavHavHavHavHavHaBOaBPaAFaBQaBRaBSaAFaBTaBUayCayCayCayCayCaBVaBWaBXazJaafaBYaBYaBYaBYaBYaBYaBYaafazJazOazPaBZaCaaCbaCcaBZazPazQaCdayLayLayLayLaCeaCfaCgaChaCfaCiaCjazTaCkarAaAdayPaClarEaJCasZaAZaAYaBaatCaxWavqatEaBjaBjaBjaBjaBjaCqaCraCsaBjatPatPatPatPaCtatPatPatPaBtatRatRatRatRatRaBtatPaaaaaaaaaaacaaaaafaaaaaaaaaaCvaCwaCxaCyaCvaafaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaCJaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaJDauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsaafaDtaDuaDuaDuaDuaDuaDvaafaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaDzaDAaDBaCvaafaaaaaaaDCaDCaDCaDCaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazqaAxaCzaCAaCAaCAaCAaCBaAxazqaaaaBIaCCaxzaBLaCEaCEaCEaCEaCEaCEaCEavHaCFaCGaAFaCHaCIaCJaAFaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBYaCNaCOaCPaCQaCRaBYaaaazJazOazPaBZaCSaCTaCUaBZazPazQanXayLaCVaCWaARaCXaCYaCZaDaaDbaDcayLayLayLarAaAdayPayQarEaAiasZaxTaBcauvatCaDgavqatEaDhaDiaDjaDkaBjaCqaDlaCsaBjaDmaDnaDoaDpaDqaGwaDsaafaDtaDuaDuaDuaDuaDuaDvaafaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaDzaDAaDBaCvaafaaaaaaaDCaDCaDCaDCaDCaDDaDEaDCaDCaDCaDCaDCaDCaDCaDFaDGaDGaDGaDHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaaaDIaDJaDKaDJaDJaDLaDMaDJaDJaDKaDNaDOaBIaDPaxAaBLaDRaDSaDTaDUaDVaDWaCEavHaDXauQaAFaAFaDYaDZaCMaEaaEbaEcaEdaEeaEfaEgaEhaEiaEjaCMaafaBYaEkaElaEmaEnaEoaBYaafazJazOazPaEpaEqaEraEsaEtazPazQaEuayLazSazTaEvaEwaCfaExaEyaATaEzaEAaEBaEBarAaAdayPayQarEaAiaCmaCmaCmaCmaCmaEHaEIatEaEJaEKaEKaELaEMaEKaENaEOaBjaEPaEQaERaESaETaCnaDsaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCvaEXaEYaEZaCvaFaaFbaDCaDCaFcaFdaFdaFdaFdaFdaFeaFfaFgaFgaFgaFgaFgaFgaFgaFhaFiaFjaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaDIaDNaDJaFkaFlaFlaFmaFnaFoaFpaFqaFlaFlaFraFsaFtaDPayuaBLaFvayxaBMazCaBMaBNaCDavHaFuaDQaFxaFwaFzaFyaFIaFJaFKaFLaFLaFLaFMaFLaFLaFNaFOaCMaaaaBYaFPaElaFQaEnaFRaBYaaaazJazOazPaFSaFTaFUaFTaFVazPazQaFWayLayLayLayLaFXaCfaCgazTaCfaFYaFZazTaGaarAaGbaGcaGdarEaAiaDeaDfaDraCoaDeaCpaGjaGkaGlaGmaBjaBjaBjaBjaBjaBjaGnaGoaGpaGqaDpaGraGsaDsaDsaDsaDsaDsaDsaDsaDsaDsaFaaFbaDsaDsaFaaGtaDsaDsaaaaaaaCvaCvaGxaGyaCvaGzaGAaGBaFdaGCaDCaDCaDCaDCaDCaGDaGEaGFaGFaGFaGFaGFaGFaGGaGGaGHaGGaGGaGGaGGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaFraGIaGJaGKaFlaGLaFlaGLaFlaGLaFlaGLaFlaGMaGNaGOaDPayuaBLaGPaFAaGRaGSaGTaGUaCEaFBaFDaFCaFCaFCbazaFEaFCaHcaFLaFLaFLaFLaFLaFLaFLaFNaHdaCMaafaBYaHeaHfaHgaHhaHiaBYaafazJazOazPaHjaHkaFUaHlaHmazPaHnaHoayLaHpazTaARaHqaATaHrazTaCfaFYaHsazTaHtarAaHuaHvaHwarEaGuaDyaEUaGvaDwaDxaEVaEWatEaHCaHDaBjaHEaBjaHFaBjaHGaBjaHHaGpaHIaDpaHJaHKaHLaHMaHMaHNaHOaHKaHKaHKaHKaHKaHPaHKaHKaHKaHQaHVaDsaDsaDsaDsaHRaHSaHTaHUaIaaIbaDCaDCaIcaDCaIdaIeaIfaIgaGFaIhaGFaIiaIjaIkaIlbinaInaIoaIpaIqaIraIsbjFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaa @@ -7357,7 +7355,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObkKbkLbkMbkNbkObgrbkPbkQbkRbkRbkSbkTbkUbkVbkWbkWbkXbkYbbZbbZbbZbeZbkZbbZbajbajbajbajblaaXeaXeblbblcbldbleblfblgblhblibljblkbdPbllbfmblmbgGblnbgGbloblpblqaSzbctaJeblrblsbltblublvblwblxblybdYbebblzblAblCblBblDblAblEbebbedbedblFblGblHblIbiCblJblKaJiblLblMblNaJiblOblOblOblOblOblOaZzaZzblPblQbZNcdMblQblPaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzblTaZzaZzaZzaZzaZzaZzaVIaZzbewbewblVblWblWblOblOblOblOblOblXblYblYblZblYbewblYblZbmablYbmbblObmcbmcbmcbmdaRZbmeaRZaRZaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhObhObdubdvbjmbjnbmfbgrbmgbjpbmhbmibjpbjpbjpaVAbmjbmkbmkbmlbbZbdDbmmbeZbmnbbZbmobmpbmqbmrbmsbmtbmtbmubmtbmtbmvbdPbmwbmxbfgbmybmzblfbmAbfmbmBbgGbgGbmCbmDbmEblqaSzbmFbmGbmGbmGbmGbmGbmGbmGbmHbmGbdYbebbmIbmJbmKbmLbmKbmMbmNbebbedbedbmObmPbmQbmRbiCbiGbmSaJibcKaRqaRpaJibmTbmUbmVbmWbmXbmYbmZbnabnbbncbndbnebncbnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnsbntbntbnubYfaVJblOblObZLblObZMbZMblObnzbnAbnBblObZtbZubZtblOblXblYbmbblObZnbZBbZnblObnGbnHbnIbnJbnKbnLbnMaaaaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaabhObhObhObhObhObhObhObhObhObhOaaabnNbnObnPbeQbnQbgrbnRbjpbnSbnTbnUbnVbjpbnWbnXbnYbnZbmlbbZbbZbbZbbZbbZbbZboabobbocbodboebdPbdPbdPbdPbdPbdPbdPbWqbdPbdPbdPbogbdPbohboibojbgGbgGbgGbokblpblqaSzbolbmGbombonboobcEbvGbotbosbotaafbebboubovbowboxboybozboAbebaafbedboBboCboDboEbiCbiGboFaJiboGboHaRpbXHboJboKboLboMboNbYwboPboQboRboRboSboTboUboUboVboWboXboYboZbpabpbbnnbpcbpdbpebpfbpgbphbpfbpibYfaVJbpjbpkbplbpmbpnbpobppbpqbprbpqbpsbptbpubpvblOaZzbpwbpxblObpybpzbpAbpBbpCbpDbnIbpEbpFbpGbnMaaaaaaaaaaacaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJbqKbqLbqMbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaabgnbgobgpbgqbdvbpHbpHbpHbpIbpHbpJaZVbpKbpLbgrbpMbpNbpObpPbpQbpRbpSaYSaXeaXeaXebpTbkWbpUbkWbkWbkWbkWbpVbpWbpWbpXbpYbdPbpZbqabqbbqcbqdbqebqfbqgbqhbqibqjbqkbmAbqlbojbgGbgGbqmbfmaMbblqbqnbqoaJubqqbqrbqrbxqborbopbxsbotaafbebbebbebbebceebebbebbebbebaafbedbqzboCbqAbqBbqCbqDbqEaJibqFaRqaRpaJibqGbqHbqIbqJaJDbqLboPbqNboUboUboUboUboUboUbqObqPbqQboYbqRbqSbqTbnnbqUbqVbqWbpfbpgbphbpfbqXbYfaVJbpjbqYbqZbqZbrabrbbrcbrdbrdbrdbrebrdbrfbrgbrhbribrjbrkbnIbrlbpCbrmbrnbrobrpbnIbrqbpFbrrbnMaaaaaaaaaaaaaaaaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaaaaaabrsbrtbrubrvbrwbrxbrxbrybrzbrAbgrcedbrCbpPbrDbjpbjpbjpbajbrEbrFbrGbrHbrGbrGbrGbrHbrGbajbajbdPbdPbdPbrIbdPbrJbrJbrJbrJbrJbrJbqfbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrWbrXbrYbrZaHBbsbbqvbsabsebscbotbosbotaafbsibsjbskbslbsmbsnbskbsobsiaafbedbspbsqbspbedbedbedbsraJibssaRqaRpbXHboJboKbstbsubsvbqLbswbqNbsxbsybszbsAbsBbsCbqObsDbnibsEbsFbsGbsHbnnbsIbqVbpebpfbpgbphbpfbpibYfaVJbpjbsJbsKbsLbsMbplbsNbsObsPbsQbsRbsSbsTbsUbrhbsVbsWbsXbnIbsYbsZbtabtbbtcbtdbnIbrqbpFbtebnMaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaaaaacaaaaaaaaaaaaaaaaaaaaabrsbtfbtgbthbtibtibtibtjbtibtibgrbtkbtlbtmbpPbjpaaaaaaaaaaafaafbtnbtnbtnbtnbtnbtnbtnaaaaaabtobtpbtqbtrbtsbrJbrJbrJbrJbrJbrJbttbtubtvbtwbtxbtybtzbtAbfmbfmbtBbfmbfmbtCbtDbtEbtFbmGbtHbmGbmGbmGbmGbmGbtIbmGaafbtJbtKbtLbtMbtNbtMbtLbtObtPaafbspbtQbtRbtSbtTbtUbspbtVaJlbtWbbmbtXaJibtYbmUbtZbuabubbucbudbuebufbugbuhbuibujbukbulbumbnibnnbunbuobupbnnbuqburbusbutbuubuubuvbuwbYfaXqbpjbuxbplbplbsMbuybuzbuAbuBbuCbuDbuEbuFbuGbrhbuHbuIbuJbnIbuKbuLbuMbtbbpCbuNbnIbpEbpFbuObnMaaaaaaaaaaaaaafbuPbuQbuRbuQbuRbuQbuSaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuTbeObuUbuUbuVbpHbuWbgnbgobuXbuWbgrbuYbuZbvabvbbjpaaaaaaaaaaaaaaabtnbtnbtnbtnbtnbtnbtnaaaaaabvcbvdbrJbvebvfbvfbvfbvfbvfbvgbvhbvfbvibvjbvkbvlbvmbvnbvobfmbvpbgGbvqbvrbvsbvtbvubvvbmGbmGbmGbvxbvybvzbvAbvBbvwaafbvDbvIbvHbvJbvKbvMbvNbvObvLaafbspbvPbvQbxnbedbvRbspbvSaJlbvTbcLbvUaJibvVbvWbvXbvYbvZbuccdTcdUbwcbwdbwebwebwfbwgcdWcdVbwjbwkbwlbwmbwkbwkbwkbwkbwnbwkbwkaXKaXKaXKaXKaVJbpjbsJbsKbsLbwobwpbwqbwrbwsbwsbwsbsSbwtbwubwvbwwbwxbwybnIbwzbwAbwBbwCbpCbwDbnIbwEbwFbnMbnMaaaaaaaaaaaaaafbwGbwHbwIbwJbwJbwKbwGaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 6f4f7200162b103069862fccde8057cc1177e102 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 19 Jan 2015 20:36:05 +0300 Subject: [PATCH 168/282] Removes empty crates and replaces minigame with mastermind --- code/modules/mining/abandonedcrates.dm | 72 +++++++++++++------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index f71b7f9d35..311454414a 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -6,15 +6,21 @@ icon_closed = "securecrate" var/code = null var/lastattempt = null - var/attempts = 3 + var/attempts = 10 + var/codelen = 4 locked = 1 - var/min = 1 - var/max = 10 /obj/structure/closet/crate/secure/loot/New() ..() - code = rand(min,max) - var/loot = rand(1,30) + var/list/digits = list("1", "2", "3", "4", "5", "6", "7", "8", "9", "0") + + code = "" + for(var/i = 0, i < codelen, i++) + var/dig = pick(digits) + code += dig + digits -= dig // Player can enter codes with matching digits, but there are never matching digits in the answer + + var/loot = rand(1, 13) switch(loot) if(1) new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) @@ -27,53 +33,40 @@ new/obj/item/clothing/suit/space(src) new/obj/item/clothing/head/helmet/space(src) if(3) - return - if(4) new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) - if(5 to 6) + if(4 to 5) for(var/i = 0, i < 10, i++) new/obj/item/weapon/ore/diamond(src) - if(7) - return - if(8) - return - if(9) + if(6) for(var/i = 0, i < 3, i++) new/obj/machinery/portable_atmospherics/hydroponics(src) - if(10) + if(7) for(var/i = 0, i < 3, i++) new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) - if(11 to 13) + if(8 to 10) new/obj/item/weapon/melee/classic_baton(src) - if(14) - return - if(15) + if(11) new/obj/item/clothing/under/chameleon(src) for(var/i = 0, i < 7, i++) new/obj/item/clothing/tie/horrible(src) - if(16) + if(12) new/obj/item/clothing/under/shorts(src) new/obj/item/clothing/under/shorts/red(src) new/obj/item/clothing/under/shorts/blue(src) - //Dummy crates start here. - if(17 to 29) - return - //Dummy crates end here. - if(30) + if(13) new/obj/item/weapon/melee/baton(src) /obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob) if(locked) user << "The crate is locked with a Deca-code lock." - var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num + var/input = input(usr, "Enter [codelen] digits.", "Deca-Code Lock", "") as text if(in_range(src, user)) - input = Clamp(input, 0, 10) if (input == code) user << "The crate unlocks!" locked = 0 overlays.Cut() overlays += greenlight - else if (input == null || input > max || input < min) + else if (input == null || length(input) != codelen) user << "You leave the crate alone." else user << "A red light flashes." @@ -96,19 +89,26 @@ if (istype(W, /obj/item/weapon/card/emag)) user << "The crate unlocks!" locked = 0 - if (istype(W, /obj/item/device/multitool)) + if (istype(W, /obj/item/device/multitool)) // Greetings Urist McProfessor, how about a nice game of cows and bulls? user << "DECA-CODE LOCK REPORT:" if (attempts == 1) user << "* Anti-Tamper Bomb will activate on next failed access attempt." else user << "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts." - if (lastattempt == null) - user << " has been made to open the crate thus far." - return - // hot and cold - if (code > lastattempt) - user << "* Last access attempt lower than expected code." - else - user << "* Last access attempt higher than expected code." + if (lastattempt != null) + var/list/guess = list() + var/bulls = 0 + var/cows = 0 + for(var/i = 1, i < codelen + 1, i++) + var/a = copytext(lastattempt, i, i+1) // Stuff the code into the list + guess += a + guess[a] = i + for(var/i in guess) // Go through list and count matches + var/a = findtext(code, i) + if(a == guess[i]) + ++bulls + else if(a) + ++cows + user << "Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions." else ..() else ..() From 492c5382e619804fdd022f95ca566374269eb843 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 20 Jan 2015 13:39:01 +1300 Subject: [PATCH 169/282] Fixes item anchoring on unload --- code/modules/vehicles/vehicle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index df2286f70e..072423d496 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -337,7 +337,7 @@ load.forceMove(dest) load.set_dir(get_dir(loc, dest)) - load.anchored = initial(load.anchored) + load.anchored = 0 //we can only load non-anchored items, so it makes sense to set this to false load.pixel_x = initial(load.pixel_x) load.pixel_y = initial(load.pixel_y) load.layer = initial(load.layer) From 8756bb99bd1690c982f1a05952e3d237001b1f26 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 7 Jan 2015 07:54:51 +1030 Subject: [PATCH 170/282] Adds species-specific comfort tweaks, skrell nutrition changes. --- .../mob/living/carbon/human/human_movement.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 7 +- .../living/carbon/human/species/species.dm | 35 ++++ .../carbon/human/species/station/station.dm | 25 +++ code/modules/mob/mob_grab.dm | 6 +- code/modules/reagents/Chemistry-Reagents.dm | 24 ++- .../reagent_containers/food/snacks.dm | 181 +++++++++--------- 7 files changed, 175 insertions(+), 105 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 546ec3ba83..d8b0a66c8c 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -47,7 +47,7 @@ tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 - + if(shock_stage >= 10) tally += 3 if(FAT in src.mutations) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index de66e6bef1..497ce9ad55 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -599,8 +599,9 @@ failed_last_breath = 0 adjustOxyLoss(-5) + // Hot air hurts :( - if( (breath.temperature < species.cold_level_1 || breath.temperature > species.heat_level_1) && !(COLD_RESISTANCE in mutations)) + if((breath.temperature < species.cold_level_1 || breath.temperature > species.heat_level_1) && !(COLD_RESISTANCE in mutations)) if(breath.temperature < species.cold_level_1) if(prob(20)) @@ -644,6 +645,10 @@ //world << "Breath: [breath.temperature], [src]: [bodytemperature], Adjusting: [temp_adj]" bodytemperature += temp_adj + else if(breath.temperature >= species.heat_discomfort_level) + species.get_environment_discomfort(src,"heat") + else if(breath.temperature <= species.cold_discomfort_level) + species.get_environment_discomfort(src,"cold") breath.update_values() return 1 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 8bdfa8a59d..5e37b53247 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -65,6 +65,20 @@ var/light_dam // If set, mob will be damaged in light over this value and heal in light below its negative. var/body_temperature = 310.15 // Non-IS_SYNTHETIC species will try to stabilize at this temperature. // (also affects temperature processing) + + var/heat_discomfort_level = 315 // Aesthetic messages about feeling warm. + var/cold_discomfort_level = 285 // Aesthetic messages about feeling chilly. + var/list/heat_discomfort_strings = list( + "You feel sweat drip down your neck.", + "You feel uncomfortably warm.", + "Your skin prickles in the heat." + ) + var/list/cold_discomfort_strings = list( + "You feel chilly.", + "You shiver suddely.", + "Your chilly flesh stands out in goosebumps." + ) + // HUD data vars. var/datum/hud_data/hud var/hud_type @@ -100,6 +114,27 @@ for(var/u_type in unarmed_types) unarmed_attacks += new u_type() +/datum/species/proc/get_environment_discomfort(var/mob/living/carbon/human/H, var/msg_type) + + if(!prob(5)) + return + + var/covered = 0 // Basic coverage can help. + for(var/obj/item/clothing/clothes in H) + if(H.l_hand == clothes|| H.r_hand == clothes) + continue + if((clothes.body_parts_covered & UPPER_TORSO) && (clothes.body_parts_covered & LOWER_TORSO)) + covered = 1 + break + + switch(msg_type) + if("cold") + if(!covered) + H << "[pick(cold_discomfort_strings)]" + if("heat") + if(covered) + H << "[pick(heat_discomfort_strings)]" + /datum/species/proc/get_random_name(var/gender) var/datum/language/species_language = all_languages[language] return species_language.get_random_name(gender) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index b7b66d2fd4..bc46cf9c45 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -45,6 +45,20 @@ reagent_tag = IS_UNATHI base_color = "#066000" + heat_discomfort_level = 295 + heat_discomfort_strings = list( + "You feel soothingly warm.", + "You feel the heat sink into your bones.", + "You feel warm enough to take a nap." + ) + + cold_discomfort_level = 292 + cold_discomfort_strings = list( + "You feel chilly.", + "You feel sluggish and cold.", + "Your scales bristle against the cold." + ) + /datum/species/tajaran name = "Tajara" name_plural = "Tajaran" @@ -54,6 +68,9 @@ tail = "tajtail" unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) darksight = 8 + slowdown = -1 + brute_mod = 1.2 + blurb = "The Tajaran race is a species of feline-like bipeds hailing from the planet of Ahdomai in the \ S'randarr system. They have been brought up into the space age by the Humans and Skrell, and have been \ influenced heavily by their long history of Slavemaster rule. They have a structured, clan-influenced way \ @@ -75,6 +92,14 @@ flesh_color = "#AFA59E" base_color = "#333333" + heat_discomfort_level = 292 + heat_discomfort_strings = list( + "Your fur prickles in the heat.", + "You feel uncomfortably warm.", + "Your overheated skin itches." + ) + cold_discomfort_level = 275 + /datum/species/skrell name = "Skrell" name_plural = "Skrell" diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index d6e6496f9d..ed11358838 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -193,16 +193,16 @@ return if(M == assailant && state >= GRAB_AGGRESSIVE) - var/can_eat + var/can_eat if((FAT in user.mutations) && ismonkey(affecting)) can_eat = 1 else var/mob/living/carbon/human/H = user - if(istype(H) && iscarbon(affecting) && H.species.gluttonous) + if(istype(H) && H.species.gluttonous) if(H.species.gluttonous == 2) can_eat = 2 - else if(!ishuman(affecting)) + else if(!ishuman(affecting) && !ismonkey(affecting) && (affecting.small || iscarbon(affecting))) can_eat = 1 if(can_eat) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6fd9de29f7..2caa542e12 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2040,22 +2040,20 @@ datum if(!M) M = holder.my_atom if(prob(50)) M.heal_organ_damage(1,0) M.nutrition += nutriment_factor // For hunger and fatness -/* - // If overeaten - vomit and fall down - // Makes you feel bad but removes reagents and some effect - // from your body - if (M.nutrition > 650) - M.nutrition = rand (250, 400) - M.weakened += rand(2, 10) - M.jitteriness += rand(0, 5) - M.dizziness = max (0, (M.dizziness - rand(0, 15))) - M.druggy = max (0, (M.druggy - rand(0, 15))) - M.adjustToxLoss(rand(-15, -5))) - M.updatehealth() -*/ ..() return + nutriment/protein // Bad for Skrell! + name = "animal protein" + id = "protein" + color = "#440000" + + on_mob_life(var/mob/living/M, var/alien) + if(alien && alien == IS_SKRELL) + M.adjustToxLoss(0.5) + M.nutrition -= nutriment_factor + ..() + lipozine name = "Lipozine" // The anti-nutriment. id = "lipozine" diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 7aaad7a678..292f998318 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -469,7 +469,7 @@ New() ..() - reagents.add_reagent("nutriment", 1) + reagents.add_reagent("protein", 2) throw_impact(atom/hit_atom) ..() @@ -533,7 +533,7 @@ New() ..() - reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 3) reagents.add_reagent("sodiumchloride", 1) reagents.add_reagent("blackpepper", 1) bitesize = 1 @@ -546,7 +546,7 @@ New() ..() - reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 2) /obj/item/weapon/reagent_containers/food/snacks/flour name = "flour" @@ -566,7 +566,7 @@ New() ..() - reagents.add_reagent("nutriment", rand(3,5)) + reagents.add_reagent("protein", rand(3,5)) reagents.add_reagent("toxin", rand(1,3)) src.bitesize = 3 @@ -612,7 +612,7 @@ New() ..() - reagents.add_reagent("nutriment", 3) + reagents.add_reagent("protein", 3) reagents.add_reagent("carpotoxin", 3) src.bitesize = 6 @@ -624,7 +624,7 @@ New() ..() - reagents.add_reagent("nutriment", 4) + reagents.add_reagent("protein", 4) reagents.add_reagent("carpotoxin", 3) bitesize = 3 @@ -659,7 +659,7 @@ New() ..() - reagents.add_reagent("nutriment", 12) + reagents.add_reagent("protein", 12) reagents.add_reagent("hyperzine", 5) src.bitesize = 3 @@ -671,7 +671,7 @@ New() ..() - reagents.add_reagent("nutriment", 3) + reagents.add_reagent("protein", 3) src.bitesize = 6 /obj/item/weapon/reagent_containers/food/snacks/meatball @@ -682,7 +682,7 @@ New() ..() - reagents.add_reagent("nutriment", 3) + reagents.add_reagent("protein", 3) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sausage @@ -693,7 +693,7 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/donkpocket @@ -704,7 +704,8 @@ New() ..() - reagents.add_reagent("nutriment", 4) + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 2) var/warm = 0 proc/cooltime() //Not working, derp? @@ -723,7 +724,7 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) reagents.add_reagent("alkysine", 6) bitesize = 2 @@ -750,7 +751,7 @@ icon_state = "hburger" New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheeseburger @@ -759,6 +760,7 @@ icon_state = "cheeseburger" New() ..() + reagents.add_reagent("protein", 2) reagents.add_reagent("nutriment", 2) /obj/item/weapon/reagent_containers/food/snacks/monkeyburger @@ -769,7 +771,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fishburger @@ -780,7 +783,7 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) reagents.add_reagent("carpotoxin", 3) bitesize = 3 @@ -828,7 +831,7 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 8) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/clownburger @@ -839,11 +842,6 @@ New() ..() -/* - var/datum/disease/F = new /datum/disease/pierrot_throat(0) - var/list/data = list("viruses"= list(F)) - reagents.add_reagent("blood", 4, data) -*/ reagents.add_reagent("nutriment", 6) bitesize = 2 @@ -868,7 +866,7 @@ //var/herp = 0 New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 8) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/muffin @@ -945,7 +943,7 @@ New() ..() - reagents.add_reagent("nutriment", 10) + reagents.add_reagent("protein", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/soylenviridians @@ -970,7 +968,7 @@ New() ..() - reagents.add_reagent("nutriment", 10) + reagents.add_reagent("protein", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofupie @@ -1025,7 +1023,7 @@ New() ..() - reagents.add_reagent("nutriment", 10) + reagents.add_reagent("protein", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/wingfangchu @@ -1037,7 +1035,7 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) bitesize = 2 @@ -1050,7 +1048,7 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 8) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/monkeykabob @@ -1062,7 +1060,7 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 8) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tofukabob @@ -1079,14 +1077,15 @@ /obj/item/weapon/reagent_containers/food/snacks/cubancarp name = "Cuban Carp" - desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" + desc = "A sandwich that burns your tongue and then leaves it numb!" icon_state = "cubancarp" trash = /obj/item/trash/plate filling_color = "#E9ADFF" New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) reagents.add_reagent("carpotoxin", 3) reagents.add_reagent("capsaicin", 3) bitesize = 3 @@ -1120,7 +1119,7 @@ New() ..() - reagents.add_reagent("nutriment", 4) + reagents.add_reagent("protein", 4) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/no_raisin @@ -1178,7 +1177,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("protein", 3) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fries @@ -1225,7 +1225,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 2) + reagents.add_reagent("nutriment", 4) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/fortunecookie @@ -1260,7 +1261,7 @@ New() ..() - reagents.add_reagent("nutriment", 4) + reagents.add_reagent("protein", 4) reagents.add_reagent("sodiumchloride", 1) reagents.add_reagent("blackpepper", 1) bitesize = 3 @@ -1314,7 +1315,7 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 8) reagents.add_reagent("water", 5) bitesize = 5 @@ -1332,13 +1333,13 @@ /obj/item/weapon/reagent_containers/food/snacks/bloodsoup name = "Tomato soup" - desc = "Smells like copper" + desc = "Smells like copper." icon_state = "tomatosoup" filling_color = "#FF0000" New() ..() - reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 2) reagents.add_reagent("blood", 10) reagents.add_reagent("water", 5) bitesize = 5 @@ -1454,7 +1455,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) reagents.add_reagent("capsaicin", 3) reagents.add_reagent("tomatojuice", 2) bitesize = 5 @@ -1469,7 +1471,8 @@ trash = /obj/item/trash/snack_bowl New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) reagents.add_reagent("frostoil", 3) reagents.add_reagent("tomatojuice", 2) bitesize = 5 @@ -1503,7 +1506,7 @@ New() ..() - reagents.add_reagent("nutriment",10) + reagents.add_reagent("protein", 10) afterattack(obj/O as obj, mob/user as mob, proximity) if(!proximity) return @@ -1568,24 +1571,18 @@ desc = "Still wrapped in some paper." icon_state = "monkeycubewrap" wrapped = 1 - - /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube name = "farwa cube" monkey_type = /mob/living/carbon/monkey/tajara /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube name = "farwa cube" monkey_type =/mob/living/carbon/monkey/tajara - - /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube name = "stok cube" monkey_type = /mob/living/carbon/monkey/unathi /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube name = "stok cube" monkey_type =/mob/living/carbon/monkey/unathi - - /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube name = "neaera cube" monkey_type = /mob/living/carbon/monkey/skrell @@ -1613,7 +1610,8 @@ New() ..() - reagents.add_reagent("nutriment", 14) + reagents.add_reagent("protein", 10) + reagents.add_reagent("nutriment", 4) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/enchiladas @@ -1625,7 +1623,8 @@ New() ..() - reagents.add_reagent("nutriment",8) + reagents.add_reagent("protein", 6) + reagents.add_reagent("nutriment",2) reagents.add_reagent("capsaicin", 6) bitesize = 4 @@ -1638,7 +1637,7 @@ New() ..() - reagents.add_reagent("nutriment", 10) + reagents.add_reagent("protein", 10) reagents.add_reagent("banana", 5) reagents.add_reagent("blackpepper", 1) reagents.add_reagent("sodiumchloride", 1) @@ -1665,7 +1664,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) reagents.add_reagent("carpotoxin", 3) bitesize = 3 @@ -1678,7 +1678,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich @@ -1690,7 +1691,8 @@ New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 3) reagents.add_reagent("carbon", 2) bitesize = 2 @@ -1703,7 +1705,8 @@ New() ..() - reagents.add_reagent("nutriment", 7) + reagents.add_reagent("protein", 4) + reagents.add_reagent("nutriment", 3) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/tomatosoup @@ -1740,7 +1743,8 @@ New() ..() - reagents.add_reagent("nutriment", 10) + reagents.add_reagent("protein", 4) + reagents.add_reagent("nutriment", 6) reagents.add_reagent("tomatojuice", 5) reagents.add_reagent("imidazoline", 5) reagents.add_reagent("water", 5) @@ -1836,7 +1840,7 @@ /obj/item/weapon/reagent_containers/food/snacks/ricepudding name = "Rice Pudding" - desc = "Where's the Jam!" + desc = "Where's the jam?" icon_state = "rpudding" trash = /obj/item/trash/snack_bowl filling_color = "#FFFBDB" @@ -1868,7 +1872,8 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 4) + reagents.add_reagent("nutriment", 4) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/spesslaw @@ -1879,7 +1884,8 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 4) + reagents.add_reagent("nutriment", 4) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/poppypretzel @@ -1914,7 +1920,8 @@ New() ..() - reagents.add_reagent("nutriment", 50) + reagents.add_reagent("protein", 25) + reagents.add_reagent("nutriment", 25) bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/candiedapple @@ -2043,7 +2050,7 @@ New() ..() - reagents.add_reagent("nutriment", 5) + reagents.add_reagent("protein", 5) bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/beetsoup @@ -2055,19 +2062,7 @@ New() ..() - switch(rand(1,6)) - if(1) - name = "borsch" - if(2) - name = "bortsch" - if(3) - name = "borstch" - if(4) - name = "borsh" - if(5) - name = "borshch" - if(6) - name = "borscht" + name = pick(list("borsch","bortsch","borstch","borsh","borshch","borscht")) reagents.add_reagent("nutriment", 8) bitesize = 2 @@ -2092,7 +2087,8 @@ New() ..() - reagents.add_reagent("nutriment", 8) + reagents.add_reagent("protein", 2) + reagents.add_reagent("nutriment", 6) bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/appletart @@ -2125,7 +2121,8 @@ filling_color = "#FF7575" New() ..() - reagents.add_reagent("nutriment", 30) + reagents.add_reagent("protein", 20) + reagents.add_reagent("nutriment", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice @@ -2145,7 +2142,8 @@ filling_color = "#8AFF75" New() ..() - reagents.add_reagent("nutriment", 30) + reagents.add_reagent("protein", 20) + reagents.add_reagent("nutriment", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice @@ -2228,7 +2226,8 @@ filling_color = "#E6AEDB" New() ..() - reagents.add_reagent("nutriment", 25) + reagents.add_reagent("protein", 25) + reagents.add_reagent("nutriment", 5) reagents.add_reagent("alkysine", 10) bitesize = 2 @@ -2249,7 +2248,8 @@ filling_color = "#FAF7AF" New() ..() - reagents.add_reagent("nutriment", 25) + reagents.add_reagent("protein", 15) + reagents.add_reagent("nutriment", 10) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice @@ -2364,7 +2364,7 @@ filling_color = "#FFF700" New() ..() - reagents.add_reagent("nutriment", 20) + reagents.add_reagent("protein", 20) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/cheesewedge @@ -2389,7 +2389,7 @@ /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice name = "Birthday Cake slice" - desc = "A slice of your birthday" + desc = "A slice of your birthday." icon_state = "birthdaycakeslice" trash = /obj/item/trash/plate filling_color = "#FFD6D6" @@ -2426,7 +2426,8 @@ filling_color = "#FFF896" New() ..() - reagents.add_reagent("nutriment", 20) + reagents.add_reagent("protein", 15) + reagents.add_reagent("nutriment", 5) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice @@ -2511,7 +2512,8 @@ slices_num = 6 New() ..() - reagents.add_reagent("nutriment", 40) + reagents.add_reagent("nutriment", 35) + reagents.add_reagent("protein", 5) reagents.add_reagent("tomatojuice", 6) bitesize = 2 @@ -2530,7 +2532,7 @@ slices_num = 6 New() ..() - reagents.add_reagent("nutriment", 50) + reagents.add_reagent("protein", 50) reagents.add_reagent("tomatojuice", 6) bitesize = 2 @@ -2550,6 +2552,7 @@ New() ..() reagents.add_reagent("nutriment", 35) + reagents.add_reagent("protein", 5) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice @@ -2568,6 +2571,7 @@ New() ..() reagents.add_reagent("nutriment", 30) + reagents.add_reagent("protein", 5) reagents.add_reagent("tomatojuice", 6) reagents.add_reagent("imidazoline", 12) bitesize = 2 @@ -2799,6 +2803,7 @@ bitesize = 2 New() ..() + reagents.add_reagent("protein", 1) reagents.add_reagent("nutriment", 3) // Dough + rolling pin = flat dough @@ -2818,6 +2823,7 @@ slices_num = 3 New() ..() + reagents.add_reagent("protein", 1) reagents.add_reagent("nutriment", 3) /obj/item/weapon/reagent_containers/food/snacks/doughslice @@ -2891,7 +2897,8 @@ bitesize = 3 New() ..() - reagents.add_reagent("nutriment", 7) + reagents.add_reagent("protein", 3) + reagents.add_reagent("nutriment", 4) /obj/item/weapon/reagent_containers/food/snacks/rawcutlet name = "raw cutlet" @@ -2901,7 +2908,7 @@ bitesize = 1 New() ..() - reagents.add_reagent("nutriment", 1) + reagents.add_reagent("protein", 1) /obj/item/weapon/reagent_containers/food/snacks/cutlet name = "cutlet" @@ -2911,7 +2918,7 @@ bitesize = 2 New() ..() - reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 2) /obj/item/weapon/reagent_containers/food/snacks/rawmeatball name = "raw meatball" @@ -2921,7 +2928,7 @@ bitesize = 2 New() ..() - reagents.add_reagent("nutriment", 2) + reagents.add_reagent("protein", 2) /obj/item/weapon/reagent_containers/food/snacks/hotdog name = "hotdog" @@ -2930,7 +2937,7 @@ bitesize = 2 New() ..() - reagents.add_reagent("nutriment", 6) + reagents.add_reagent("protein", 6) /obj/item/weapon/reagent_containers/food/snacks/flatbread name = "flatbread" From 5e7133dd08675d9167e981287611440cea7222c6 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 30 Dec 2014 23:29:47 +1030 Subject: [PATCH 171/282] Converted baseball bats to twohanded weapons. --- .../items/stacks/sheets/sheet_types.dm | 4 +- code/game/objects/items/weapons/twohanded.dm | 51 +++++++++++++----- code/game/objects/items/weapons/weaponry.dm | 24 --------- code/modules/clothing/head/misc_special.dm | 9 +++- icons/mob/head.dmi | Bin 124484 -> 125397 bytes icons/mob/items_lefthand.dmi | Bin 155827 -> 149336 bytes icons/mob/items_righthand.dmi | Bin 159011 -> 148825 bytes icons/obj/clothing/hats.dmi | Bin 61427 -> 61697 bytes icons/obj/weapons.dmi | Bin 24988 -> 25217 bytes 9 files changed, 49 insertions(+), 39 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a5336c0797..46889cdf5c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -29,7 +29,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ null, \ new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \ new/datum/stack_recipe("rack parts", /obj/item/weapon/table_parts/rack), \ - new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ + new/datum/stack_recipe("metal baseball bat", /obj/item/weapon/twohanded/baseballbat/metal, 10, time = 20, one_per_turf = 0, on_floor = 1), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ null, \ new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1), \ @@ -137,7 +137,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("crossbow frame", /obj/item/weapon/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0), \ new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("baseball bat", /obj/item/weapon/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1) \ + new/datum/stack_recipe("baseball bat", /obj/item/weapon/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1) \ // new/datum/stack_recipe("apiary", /obj/item/apiary, 10, time = 25, one_per_turf = 0, on_floor = 0) ) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index c8e67078b2..d24f4a0140 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -21,6 +21,7 @@ var/force_wielded = 0 var/wieldsound = null var/unwieldsound = null + var/base_icon /obj/item/weapon/twohanded/proc/unwield() wielded = 0 @@ -34,6 +35,10 @@ name = "[initial(name)] (Wielded)" update_icon() +/obj/item/weapon/twohanded/New() + ..() + update_icon() + /obj/item/weapon/twohanded/mob_can_equip(M as mob, slot) //Cannot equip wielded items. if(wielded) @@ -51,7 +56,8 @@ return unwield() /obj/item/weapon/twohanded/update_icon() - return + icon_state = "[base_icon][wielded]" + item_state = icon_state /obj/item/weapon/twohanded/pickup(mob/user) unwield() @@ -106,11 +112,15 @@ wield() del(src) +/obj/item/weapon/twohanded/offhand/update_icon() + return + /* * Fireaxe */ /obj/item/weapon/twohanded/fireaxe // DEM AXES MAN, marker -Agouri icon_state = "fireaxe0" + base_icon = "fireaxe" name = "fire axe" desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" force = 10 @@ -121,10 +131,6 @@ force_wielded = 40 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") -/obj/item/weapon/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons. - icon_state = "fireaxe[wielded]" - return - /obj/item/weapon/twohanded/fireaxe/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity) if(!proximity) return ..() @@ -146,6 +152,7 @@ */ /obj/item/weapon/twohanded/dualsaber icon_state = "dualsaber0" + base_icon = "dualsaber" name = "double-bladed energy sword" desc = "Handle with care." force = 3 @@ -162,10 +169,6 @@ sharp = 1 edge = 1 -/obj/item/weapon/twohanded/dualsaber/update_icon() - icon_state = "dualsaber[wielded]" - return - /obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob) ..() if((CLUMSY in user.mutations) && (wielded) &&prob(40)) @@ -187,6 +190,7 @@ //spears, bay edition /obj/item/weapon/twohanded/spear icon_state = "spearglass0" + base_icon = "spearglass" name = "spear" desc = "A haphazardly-constructed yet still deadly weapon of ancient design." force = 14 @@ -201,6 +205,29 @@ hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") -/obj/item/weapon/twohanded/spear/update_icon() - icon_state = "spearglass[wielded]" - return +/obj/item/weapon/twohanded/baseballbat + name = "wooden bat" + desc = "HOME RUN!" + icon_state = "woodbat0" + base_icon = "woodbat" + item_state = "woodbat" + sharp = 0 + edge = 0 + w_class = 3 + force = 15 + throw_speed = 3 + throw_range = 7 + throwforce = 7 + attack_verb = list("smashed", "beaten", "slammed", "smacked", "striked", "battered", "bonked") + hitsound = 'sound/weapons/genhit3.ogg' + force_wielded = 30 + +/obj/item/weapon/twohanded/baseballbat/metal + name = "metal bat" + desc = "A shiny metal bat." + icon_state = "metalbat0" + base_icon = "metalbat" + item_state = "metalbat" + force = 18 + w_class = 3.0 + force_wielded = 36 \ No newline at end of file diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index a584f3db4b..c9669c7ae6 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -156,30 +156,6 @@ w_class = 3 attack_verb = list("jabbed","stabbed","ripped") -/obj/item/weapon/baseballbat - name = "wooden bat" - desc = "HOME RUN!" - icon_state = "woodbat" - item_state = "woodbat" - sharp = 0 - edge = 0 - w_class = 3 - force = 15 - throw_speed = 3 - throw_range = 7 - throwforce = 7 - attack_verb = list("smashed", "beaten", "slammed", "smacked", "striked", "battered", "bonked") - hitsound = 'sound/weapons/genhit3.ogg' - - -/obj/item/weapon/baseballbat/metal - name = "metal bat" - desc = "A shiny metal bat." - icon_state = "metalbat" - item_state = "metalbat" - force = 18 - w_class = 3.0 - /obj/item/weapon/butterfly name = "butterfly knife" desc = "A basic metal blade concealed in a lightweight plasteel grip. Small enough when folded to fit in a pocket." diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index ba72b92754..e3701e9120 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -153,4 +153,11 @@ var/icon/earbit = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner") var/icon/earbit2 = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner2") mob.Blend(earbit, ICON_OVERLAY) - mob2.Blend(earbit2, ICON_OVERLAY) \ No newline at end of file + mob2.Blend(earbit2, ICON_OVERLAY) + +/obj/item/clothing/head/richard + name = "chicken mask" + desc = "You can hear the distant sounds of rhythmic electronica." + icon_state = "richard" + body_parts_covered = HEAD|FACE + flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR \ No newline at end of file diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index b3a24f07c713cc0bab6f59d9ae0ca9d7466695fe..c66d9cceba1f827ad8373198925ebd5deca57818 100644 GIT binary patch delta 8750 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 delta 7830 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 Idk)Y44H*@9L;wH) diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 9d7c3845d9c6b0635b69b49a5ed44aef0d7a7662..b70af9c656ed1822dd3b2805ae7a83a11c5f35d6 100644 GIT binary patch literal 149336 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 MCt)Yv+Fy?Q4@PY8Pyhe` literal 155827 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�!Ft^qWNf(;M_QE3V& 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 z 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≠gd=@p_J>8DXrxT;)^9E>J^K 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%0A=k7pcqA0&|Y&0v%gpX$=fl* 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 literal 159011 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

+jy-3mZPxGkp!GxRwI`< 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 z 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

_MlDqM~iNJPvy?n?Bzcb$6MIiC+hwhRpo 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 diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index a899995b256b9f8694cd6ef81097e9eaf02e7fea..2aba03d266400ddcfa6575859dc98a3334750957 100644 GIT binary patch delta 5688 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 YP3>oli4jt=2Hg&Ab$vCMie2>o0YAjToB#j- diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 92b3aed2b9f95488fa75a4f75cc65dd6fb6da7a2..ffad059da4389cff7197ccd8f25cdb1bda82438b 100644 GIT binary patch delta 5099 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 delta 4868 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 qfJKjqAUGsoqU_-kCixOp Date: Wed, 31 Dec 2014 16:04:49 +1030 Subject: [PATCH 172/282] Adjusting twohanded values as discussed in diff. --- code/game/objects/items/weapons/twohanded.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index d24f4a0140..3a02549272 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -220,7 +220,7 @@ throwforce = 7 attack_verb = list("smashed", "beaten", "slammed", "smacked", "striked", "battered", "bonked") hitsound = 'sound/weapons/genhit3.ogg' - force_wielded = 30 + force_wielded = 23 /obj/item/weapon/twohanded/baseballbat/metal name = "metal bat" @@ -230,4 +230,4 @@ item_state = "metalbat" force = 18 w_class = 3.0 - force_wielded = 36 \ No newline at end of file + force_wielded = 27 \ No newline at end of file From 398696122658eda847609f3f46cc14c4155e5660 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 9 Jan 2015 05:02:44 +1030 Subject: [PATCH 173/282] Readds moonwalking. --- code/modules/mob/death.dm | 2 + code/modules/mob/living/carbon/human/life.dm | 3 +- code/modules/mob/mob.dm | 64 ++++++++++++++++++-- code/modules/mob/mob_defines.dm | 3 +- html/changelog.html | 3 + interface/skin.dmf | 16 +++++ 6 files changed, 84 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 3d96e3d9c0..a97d616dee 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -52,6 +52,8 @@ if(stat == DEAD) return 0 + facing_dir = null + if(!gibbed && deathmessage != "no message") // This is gross, but reliable. Only brains use it. src.visible_message("\The [src.name] [deathmessage]") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index de66e6bef1..1d0986510a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1040,8 +1040,7 @@ if(halloss > 100) src << "You're in too much pain to keep going..." - for(var/mob/O in oviewers(src, null)) - O.show_message("[src] slumps to the ground, too weak to continue fighting.", 1) + src.visible_message("[src] slumps to the ground, too weak to continue fighting.") Paralyse(10) setHalLoss(99) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5088f98108..592d971f83 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -839,9 +839,7 @@ note dizziness decrements automatically in the mob's Life() proc. // facing verbs /mob/proc/canface() if(!canmove) return 0 - if(client.moving) return 0 - if(world.time < client.move_delay) return 0 - if(stat==2) return 0 + if(stat) return 0 if(anchored) return 0 if(monkeyizing) return 0 return 1 @@ -903,7 +901,8 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/facedir(var/ndir) - if(!canface()) return 0 + if(!canface() || client.moving || world.time < client.move_delay) + return 0 set_dir(ndir) if(buckled && buckled.movable) buckled.set_dir(ndir) @@ -937,6 +936,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/Stun(amount) if(status_flags & CANSTUN) + facing_dir = null stunned = max(max(stunned,amount),0) //can't go below 0, getting a low amount of stun doesn't lower your current stun return @@ -952,6 +952,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/Weaken(amount) if(status_flags & CANWEAKEN) + facing_dir = null weakened = max(max(weakened,amount),0) update_canmove() //updates lying, canmove and icons return @@ -970,6 +971,7 @@ note dizziness decrements automatically in the mob's Life() proc. /mob/proc/Paralyse(amount) if(status_flags & CANPARALYSE) + facing_dir = null paralysis = max(max(paralysis,amount),0) return @@ -984,6 +986,7 @@ note dizziness decrements automatically in the mob's Life() proc. return /mob/proc/Sleeping(amount) + facing_dir = null sleeping = max(max(sleeping,amount),0) return @@ -996,6 +999,7 @@ note dizziness decrements automatically in the mob's Life() proc. return /mob/proc/Resting(amount) + facing_dir = null resting = max(max(resting,amount),0) return @@ -1159,3 +1163,55 @@ mob/proc/yank_out_object() /mob/proc/updateicon() return + +/mob/verb/face_direction() + + set name = "Face Direction" + set category = "IC" + set src = usr + + set_face_dir() + + if(!facing_dir) + usr << "You are now not facing anything." + else + usr << "You are now facing [dir2text(facing_dir)]." + +/mob/proc/set_face_dir(var/newdir) + if(newdir) + set_dir(newdir) + facing_dir = newdir + else if(facing_dir) + facing_dir = null + else + set_dir(dir) + facing_dir = dir + +/mob/set_dir() + if(facing_dir) + if(!canface() || lying || buckled || restrained()) + facing_dir = null + else if(dir != facing_dir) + return ..(facing_dir) + else + return ..() + +/mob/verb/northfaceperm() + set hidden = 1 + facing_dir = null + set_face_dir(NORTH) + +/mob/verb/southfaceperm() + set hidden = 1 + facing_dir = null + set_face_dir(SOUTH) + +/mob/verb/eastfaceperm() + set hidden = 1 + facing_dir = null + set_face_dir(EAST) + +/mob/verb/westfaceperm() + set hidden = 1 + facing_dir = null + set_face_dir(WEST) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 296d58d078..1b9f1c1b76 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -90,6 +90,7 @@ var/list/languages = list() // For speaking/listening. var/list/speak_emote = list("says") // Verbs used when speaking. Defaults to 'say' if speak_emote is null. var/emote_type = 1 // Define emote default type, 1 for seen emotes, 2 for heard emotes + var/facing_dir = null // Used for the ancient art of moonwalking. var/name_archive //For admin things like possession @@ -214,7 +215,7 @@ var/universal_understand = 0 // Set to 1 to enable the mob to understand everyone, not necessarily speak var/stance_damage = 0 //Whether this mob's ability to stand has been affected - + //SSD var, changed it up some so people can have special things happen for different mobs when SSD. var/player_logged = 0 diff --git a/html/changelog.html b/html/changelog.html index b534169136..ceb9870229 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -61,6 +61,9 @@ should be listed in the changelog upon commit though. Thanks. -->

updated:

  • Voice changers no longer use ID cards. They have Toggle and Set Voice verbs on the actual mask object now.
  • +

    Zuhayr updated:

    +
      +
    • Readded moonwalking. Alt-dir to face new dir, or Face-Direction verb to face current dir.
    diff --git a/interface/skin.dmf b/interface/skin.dmf index 330d547944..8eee4e1817 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -23,6 +23,10 @@ macro "macro" name = "NORTHWEST" command = ".northwest" is-disabled = false + elem + name = "ALT+WEST" + command = "westfaceperm" + is-disabled = false elem name = "CTRL+WEST" command = "westface" @@ -31,6 +35,10 @@ macro "macro" name = "WEST+REP" command = ".west" is-disabled = false + elem + name = "ALT+NORTH" + command = "northfaceperm" + is-disabled = false elem name = "CTRL+NORTH" command = "northface" @@ -39,6 +47,10 @@ macro "macro" name = "NORTH+REP" command = ".north" is-disabled = false + elem + name = "ALT+EAST" + command = "eastfaceperm" + is-disabled = false elem name = "CTRL+EAST" command = "eastface" @@ -47,6 +59,10 @@ macro "macro" name = "EAST+REP" command = ".east" is-disabled = false + elem + name = "ALT+SOUTH" + command = "southfaceperm" + is-disabled = false elem name = "CTRL+SOUTH" command = "southface" From 00be76992292cfae62daf58abb5b5e6a8c5ea3f9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 20 Jan 2015 22:55:41 +1300 Subject: [PATCH 174/282] Fixed AI status display not updating --- code/game/machinery/status_display_ai.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm index 4077c6d56d..ac9701908b 100644 --- a/code/game/machinery/status_display_ai.dm +++ b/code/game/machinery/status_display_ai.dm @@ -72,6 +72,12 @@ var/list/ai_status_emotions = list( var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions src.emotion = emote +/obj/machinery/ai_status_display/process() + if(stat & NOPOWER) + remove_display() + return + update() + /obj/machinery/ai_status_display/proc/update() if(mode==0) //Blank overlays.Cut() @@ -91,3 +97,7 @@ var/list/ai_status_emotions = list( if(overlays.len) overlays.Cut() overlays += image('icons/obj/status_display.dmi', icon_state=picture_state) + +/obj/machinery/ai_status_display/proc/remove_display() + if(overlays.len) + overlays.Cut() \ No newline at end of file From b3e367c778d486f2875c77d7e4f13e112013c096 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 11:22:58 +0100 Subject: [PATCH 175/282] Fixes #7879. Can now enable/disable turrets through a turret controller again. Adds missing checks to prevent abuse. --- code/game/machinery/portable_turret.dm | 7 ++++++- code/game/machinery/turret_control.dm | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 603fc9fe98..7497edd695 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -154,6 +154,12 @@ user << "There seems to be a firewall preventing you from accessing this device." return 0 + if (get_dist(src, user) > 0 && !issilicon(user)) + user << "You are too far away." + user.unset_machine() + user << browse(null, "window=turretid") + return 0 + if(locked && !issilicon(user)) user << "Access denied." return 0 @@ -175,7 +181,6 @@ Automatic Portable Turret Installation

    Status: []
    Behaviour controls are [locked ? "locked" : "unlocked"]"}, - "
    [on ? "On" : "Off"]" ) if(!locked || issilicon(user)) diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index ce2a3b73ad..41a98103be 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -66,15 +66,20 @@ return /obj/machinery/turretid/proc/can_use(mob/user) + if(ailock && issilicon(user)) + user << "There seems to be a firewall preventing you from accessing this device." + return 0 + if (get_dist(src, user) > 0 && !issilicon(user)) user << "You are too far away." user.unset_machine() user << browse(null, "window=turretid") return 0 - if(ailock && issilicon(user)) - user << "There seems to be a firewall preventing you from accessing this device." + if(locked && !issilicon(user)) + user << "Access denied." return 0 + return 1 /obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user) @@ -124,7 +129,9 @@ if (!istype(loc, /area)) return var/area/area = loc - var/dat = "" + var/dat = text({"Status: []
    + Behaviour controls are [locked ? "locked" : "unlocked"]"}, + "[enabled ? "On" : "Off"]" ) if(!locked || issilicon(user)) dat += text({"

    From 07cc7a156b547a3476112b402d942a105dd37e8a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 11:34:29 +0100 Subject: [PATCH 176/282] Fixes #7857. Must now remain adjacent to the teleporter computer if you wish to change target location. --- code/game/machinery/teleporter.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index b247f17919..f2d298ada7 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -122,6 +122,9 @@ L[tmpname] = I var/desc = input("Please select a location to lock in.", "Locking Computer") in L + if(get_dist(src, usr) > 1) + return + src.locked = L[desc] for(var/mob/O in hearers(src, null)) O.show_message("\blue Locked In", 2) From 1949f105f1d4f261e6a9d0ae7a0593fc725e1a63 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 20 Jan 2015 14:55:26 +0300 Subject: [PATCH 177/282] Removes a debug world << --- code/game/objects/structures/window.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index db4617d35a..6037cf2837 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -45,7 +45,6 @@ var/initialhealth = health if(silicate) - world << "[silicate] silicate, damage is reduced from [damage] to [round(damage * (1 - silicate / 200))]" damage = damage * (1 - silicate / 200) health = max(0, health - damage) From 5f5fc4b0a616a8f91e1340c5a17dd84a7820ed6b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 13:32:59 +0100 Subject: [PATCH 178/282] Fixes #7880. Adds () around the "M.z in list" check, otherwise BYOND attempts to check "M.z in (list && hassensorlevel)". Also attempts to properly acquire the current Z position. --- code/game/machinery/camera/tracking.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index f274a1d07e..4e64b9a660 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -236,7 +236,11 @@ return 1 /proc/trackable(var/mob/living/M) - return near_camera(M) || (M.loc.z in config.station_levels && hassensorlevel(M, SUIT_SENSOR_TRACKING)) + var/turf/T = get_turf(M) + if(T && (T.z in config.station_levels) && hassensorlevel(M, SUIT_SENSOR_TRACKING)) + return 1 + + return near_camera(M) /obj/machinery/camera/attack_ai(var/mob/living/silicon/ai/user as mob) if (!istype(user)) From cee3c3eeffeaad3887ff0edfde0046a9a1bffd73 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 20 Jan 2015 16:11:05 +0300 Subject: [PATCH 179/282] Replaces icon proc with image --- code/game/objects/structures/window.dm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 6037cf2837..458c5626bc 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -16,7 +16,6 @@ var/shardtype = /obj/item/weapon/shard var/glasstype = null // Set this in subtypes. Null is assumed strange or otherwise impossible to dismantle, such as for shuttle glass. var/silicate = 0 // number of units of silicate - var/icon/silicateIcon = null // the silicated icon /obj/structure/window/examine(mob/user) . = ..(user) @@ -72,16 +71,13 @@ updateSilicate() /obj/structure/window/proc/updateSilicate() - if(!silicate) - icon = initial(icon) - return + if (overlays) + overlays.Cut() - var/icon/I = icon(initial(icon)) - var/r = (silicate / 100) + 1 - var/g = (silicate / 70) + 1 - var/b = (silicate / 50) + 1 - I.SetIntensity(r,g,b) - icon = I + var/image/img = image(src.icon, src.icon_state) + img.color = "#ffffff" + img.alpha = silicate * 255 / 100 + overlays += img /obj/structure/window/proc/shatter(var/display_message = 1) playsound(src, "shatter", 70, 1) From 9452c11b56e362a776ce051a3a726438a7b52628 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 20 Jan 2015 20:40:35 +0100 Subject: [PATCH 180/282] Reduces the risk of unnecessary borg designation announcements. --- code/modules/mob/living/silicon/robot/robot.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index aeebc30bb3..38873d02a8 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1304,4 +1304,5 @@ var/list/robot_verbs_default = list( if(2) //New Module connected_ai << "

    NOTICE - [braintype] module change detected: [name] has loaded the [module.name].
    " if(3) //New Name - connected_ai << "

    NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
    " \ No newline at end of file + if(oldname != newname) + connected_ai << "

    NOTICE - [braintype] reclassification detected: [oldname] is now designated as [newname].
    " \ No newline at end of file From 8dbe6d2f35690fec42923853b5ffbd1c2b70e70c Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Tue, 20 Jan 2015 21:12:52 +0100 Subject: [PATCH 181/282] Fixes two powernet related issues: - First issue is power monitoring consoles showing slightly inaccurate values. The code calculated some sort of level average which resulted in stupid values being reported (like load 500kW available 300kW). This also fixes APC load partially showing as Other load on the console. - Second fixed issue (Fixes #7869) resolved gamebreaking bug that caused total irreversible failure of all powernets if makepowernets() was called. This, for example, includes large enough explosions, via admin command, or few other cases. --- code/modules/power/powernet.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index 401cb41af7..791b69e949 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -16,9 +16,11 @@ /datum/powernet/New() powernets += src + ..() /datum/powernet/Del() powernets -= src + ..() //Returns the amount of excess power (before refunding to SMESs) from last tick. //This is for machines that might adjust their power consumption using this data. @@ -110,8 +112,7 @@ S.restore() // and restore some of the power that was used //updates the viewed load (as seen on power computers) - viewload = 0.8*viewload + 0.2*load - viewload = round(viewload) + viewload = round(load) //reset the powernet load = 0 From 3b7a3fba7a7d3a5058ba26d2d39acd866b5a6fd4 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Wed, 21 Jan 2015 12:37:20 +1300 Subject: [PATCH 182/282] Removed process() dependency --- code/game/machinery/status_display_ai.dm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm index ac9701908b..0b7371c1b0 100644 --- a/code/game/machinery/status_display_ai.dm +++ b/code/game/machinery/status_display_ai.dm @@ -43,6 +43,7 @@ var/list/ai_status_emotions = list( if(istype(M, /obj/machinery/ai_status_display)) var/obj/machinery/ai_status_display/AISD = M AISD.emotion = emote + AISD.update() //if Friend Computer, change ALL displays else if(istype(M, /obj/machinery/status_display)) @@ -73,10 +74,7 @@ var/list/ai_status_emotions = list( src.emotion = emote /obj/machinery/ai_status_display/process() - if(stat & NOPOWER) - remove_display() - return - update() + return /obj/machinery/ai_status_display/proc/update() if(mode==0) //Blank @@ -98,6 +96,10 @@ var/list/ai_status_emotions = list( overlays.Cut() overlays += image('icons/obj/status_display.dmi', icon_state=picture_state) -/obj/machinery/ai_status_display/proc/remove_display() - if(overlays.len) - overlays.Cut() \ No newline at end of file +/obj/machinery/ai_status_display/power_change() + ..() + if(stat & NOPOWER) + if(overlays.len) + overlays.Cut() + else + update() From d14750da86c6e25d1752f1d7b926e089205fd8f4 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Wed, 21 Jan 2015 03:41:02 +0300 Subject: [PATCH 183/282] Replaces 'SUPPLY' with 'CARGO' on cargo screens So now it shows the line with the arrival time properly. --- code/game/machinery/supply_display.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/supply_display.dm b/code/game/machinery/supply_display.dm index aacd770d79..97e747c0db 100644 --- a/code/game/machinery/supply_display.dm +++ b/code/game/machinery/supply_display.dm @@ -3,7 +3,7 @@ /obj/machinery/status_display/supply_display/update() if(!..() && mode == STATUS_DISPLAY_CUSTOM) - message1 = "SUPPLY" + message1 = "CARGO" message2 = "" var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle From 5637fb0f11349f0f3563be58cc2cd13880799d78 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 08:48:41 +0100 Subject: [PATCH 184/282] Emergency shutter assemblies are now permanently dense. --- code/game/machinery/doors/firedoor_assembly.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/doors/firedoor_assembly.dm b/code/game/machinery/doors/firedoor_assembly.dm index 1372997f83..435a927857 100644 --- a/code/game/machinery/doors/firedoor_assembly.dm +++ b/code/game/machinery/doors/firedoor_assembly.dm @@ -5,7 +5,7 @@ obj/structure/firedoor_assembly icon_state = "door_construction" anchored = 0 opacity = 0 - density = 0 + density = 1 var/wired = 0 obj/structure/firedoor_assembly/update_icon() @@ -35,7 +35,7 @@ obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) user << "You cut the wires!" new/obj/item/stack/cable_coil(src.loc, 1) wired = 0 - + else if(istype(C, /obj/item/weapon/airalarm_electronics) && wired) if(anchored) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) @@ -48,7 +48,6 @@ obj/structure/firedoor_assembly/attackby(C as obj, mob/user as mob) user << "You must secure \the [src] first!" else if(istype(C, /obj/item/weapon/wrench)) anchored = !anchored - density = !density playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) user.visible_message("[user] has [anchored ? "" : "un" ]secured \the [src]!", "You have [anchored ? "" : "un" ]secured \the [src]!") From e8aeb1b49662134f367e347e99052152e81b63de Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:25:49 +0000 Subject: [PATCH 185/282] Fixes a laptop vendor runtime --- code/WorkInProgress/computer3/lapvend.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/WorkInProgress/computer3/lapvend.dm index 36de9e4cfc..72531b5d8e 100644 --- a/code/WorkInProgress/computer3/lapvend.dm +++ b/code/WorkInProgress/computer3/lapvend.dm @@ -174,8 +174,9 @@ vendmode = 1 if("cancel") - relap.loc = src.loc - relap = null + if(relap) + relap.loc = src.loc + relap = null vendmode = 0 src.updateUsrDialog() From 0edcf0c349cdc70be716f775120a92288b077ecf Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:34:04 +0000 Subject: [PATCH 186/282] Fixes a warning in reagent code caused by mistyped reagent ids --- code/modules/hydroponics/seed_datums.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 509d069754..33e6f47c57 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -217,8 +217,8 @@ proc/populate_seed_list() "water", "potassium", "plasticide", - "slimetoxin", - "aslimetoxin", + "mutationtoxin", + "amutationtoxin", "inaprovaline", "space_drugs", "paroxetine", From b43e0ed95b75d9ace24faaf7482e2861ccff952f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:39:55 +0000 Subject: [PATCH 187/282] Fixes vine runtime --- code/modules/hydroponics/vines.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/hydroponics/vines.dm b/code/modules/hydroponics/vines.dm index b25c03080e..699063fec4 100644 --- a/code/modules/hydroponics/vines.dm +++ b/code/modules/hydroponics/vines.dm @@ -362,6 +362,8 @@ SV.life() + if(!SV) continue + if(SV.energy < 2) //If tile isn't fully grown var/chance if(seed) From 0b05816dd09c61104528d991dd73c6c7eb698707 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:41:45 +0000 Subject: [PATCH 188/282] Radio runtime fix --- code/defines/procs/radio.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index 0cbd009076..1e0e045928 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -47,7 +47,7 @@ /proc/get_receiver_reception(var/receiver, var/datum/signal/signal) if(receiver && check_signal(signal)) var/turf/pos = get_turf(receiver) - if(pos.z in signal.data["level"]) + if(pos && (pos.z in signal.data["level"])) return TELECOMMS_RECEPTION_RECEIVER return TELECOMMS_RECEPTION_NONE From 0a3383c1c55d675042448ad3e947bb766381de0d Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 20:54:46 +0000 Subject: [PATCH 189/282] Fixes an announcement runtime after someone uses the transformation artifact to change their PDA to something else --- .../research/xenoarchaeology/artifact/artifact_replicator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 1b3afdd22c..4108986789 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -102,7 +102,7 @@ spawned_obj.desc += " It is made of [source_material]." else spawned_obj.desc = "It is made of [source_material]." - source_material.loc = null + del(source_material) spawn_progress_time = 0 max_spawn_time = rand(30,100) From cb6b898d86fd45129a14d9aa04e2155b65922ec6 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 20:20:35 +0100 Subject: [PATCH 190/282] Cleans up post-round summary. --- code/game/gamemodes/game_mode.dm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index e90b65a333..fca51edf83 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -151,8 +151,6 @@ var/list/area/escape_locations = list(/area/shuttle/escape/centcom, /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom) - var/pltext = "Player list:" - for(var/mob/M in player_list) if(M.client) clients++ @@ -187,7 +185,6 @@ text += " ([escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]) and [ghosts] ghosts.

    " else text += "There were no survivors ([ghosts] ghosts).
    " - text += "
    " + pltext //print player list after the general info world << text if(clients > 0) @@ -553,7 +550,7 @@ proc/get_nt_opposed() var/list/refined_log = new() for(var/datum/uplink_item/UI in H.purchase_log) var/obj/I = new UI.path - refined_log.Add("[H.purchase_log[UI]]x\icon[I][I.name]") + refined_log.Add("[H.purchase_log[UI]]x\icon[I][UI.name]") del(I) purchases = english_list(refined_log, nothing_text = "") if(uplink_true) From 166e7528fb1b4bd295cdbe3f862a61a3f47be75c Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 21:07:41 +0000 Subject: [PATCH 191/282] Fixes monkeyize runtime due to ghostize trying to remove verbs from a non-existent client --- code/modules/mob/dead/observer/observer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c2f7adc171..c1d577834d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -143,7 +143,7 @@ Works together with spawning an observer, noted above. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.timeofdeath //BS12 EDIT ghost.key = key - if(!ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + if(ghost.client && !ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. ghost.verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing! return ghost From 41414e591df96a15b783e61e0f54a195f4b6b76a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 21 Jan 2015 21:16:43 +0000 Subject: [PATCH 192/282] VV runtime fix --- code/datums/datumvars.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index e666a03653..e3c9ff8c86 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -866,6 +866,7 @@ client return var/new_organ = input("Please choose an organ to add.","Organ",null) as null|anything in typesof(/datum/organ/internal)-/datum/organ/internal + if(!new_organ) return if(!M) usr << "Mob doesn't exist anymore" From dadc677a34b3dee6b11034bb717a724a222edee8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 21 Jan 2015 20:40:37 +0100 Subject: [PATCH 193/282] Adds a second teleporter check because I r dumb. --- code/game/machinery/teleporter.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index f2d298ada7..f71212cd57 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -121,8 +121,10 @@ areaindex[tmpname] = 1 L[tmpname] = I - var/desc = input("Please select a location to lock in.", "Locking Computer") in L - if(get_dist(src, usr) > 1) + var/desc = input("Please select a location to lock in.", "Locking Computer") in L|null + if(!desc) + return + if(get_dist(src, usr) > 1 && !issilicon(usr)) return src.locked = L[desc] From d5b469e4c59d1c2626c9c03a95fb83abfb8df468 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 22 Jan 2015 13:41:06 +0100 Subject: [PATCH 194/282] Fixes #7913. Replaces disposal junction with a simple bent section. --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index efabf77e10..363ec73433 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -878,7 +878,7 @@ "aqT" = (/turf/simulated/floor/plating/airless,/area/solar/fore) "aqU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) -"aqW" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/junction,/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) +"aqW" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/lawoffice) "aqX" = (/obj/machinery/camera{c_tag = "Detective South"; dir = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqY" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -30},/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) "aqZ" = (/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "white"},/area/security/detectives_office) From c97b54fe56a5eb22332171f3d0c95d6173412806 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Thu, 22 Jan 2015 15:03:54 +0000 Subject: [PATCH 195/282] Fixes power runtime --- code/modules/power/power.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index d1f0c82454..366cd9351d 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -294,6 +294,8 @@ for(var/obj/structure/cable/Cable in net2.cables) //merge cables net1.add_cable(Cable) + if(!net2) return net1 + for(var/obj/machinery/power/Node in net2.nodes) //merge power machines if(!Node.connect_to_network()) Node.disconnect_from_network() //if somehow we can't connect the machine to the new powernet, disconnect it from the old nonetheless From 7590bbac99a077ebdb713cb8e7d1c221d61a7602 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 19 Jan 2015 23:38:22 -0500 Subject: [PATCH 196/282] Infection chance proc improvements Instead of magic type bits, the infection protection value of clothing is mostly based on it's bio armor value, which is much more flexible. Also gloves and shoes to contribute to protection values, and adjusts surgical mask bio protection. Hardsuits gain voidsuit level bio protection, when sealed. Wearing a face mask helps prevent others from catching airborne diseases. Also fixes #7909 --- code/game/objects/items.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 3 +- code/modules/clothing/masks/miscellaneous.dm | 2 +- code/modules/clothing/spacesuits/rig/rig.dm | 11 ++- .../mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 9 +- code/modules/virus2/helpers.dm | 90 ++++++++++--------- 7 files changed, 68 insertions(+), 51 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 09850e3963..d0c52d7f59 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -35,7 +35,7 @@ var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N - var/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/list/allowed = null //suit storage stuff. var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. var/zoomdevicename = null //name used for message when binoculars/scope is used diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index d7a20b73d0..c006cd892d 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -12,6 +12,7 @@ siemens_coefficient = 0.9 var/gas_filter_strength = 1 //For gas mask filters var/list/filtered_gases = list("phoron", "sleeping_agent") + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0) /obj/item/clothing/mask/gas/filter_air(datum/gas_mixture/air) var/datum/gas_mixture/filtered = new @@ -32,7 +33,7 @@ desc = "A modernised version of the classic design, this mask will not only filter out phoron but it can also be connected to an air supply." icon_state = "plaguedoctor" item_state = "gas_mask" - armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 90, rad = 0) body_parts_covered = HEAD|FACE /obj/item/clothing/mask/gas/swat diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 3f3094c794..758baae8b9 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -24,7 +24,7 @@ body_parts_covered = 0 gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 25, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 0) /obj/item/clothing/mask/fakemoustache name = "fake moustache" diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index dd0d073cd2..b308fda2b4 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -138,7 +138,7 @@ piece.name = "[suit_type] [initial(piece.name)]" piece.desc = "It seems to be part of a [src.name]." piece.icon_state = "[initial(icon_state)]" - piece.armor = armor + piece.armor = armor.Copy() piece.min_cold_protection_temperature = min_cold_protection_temperature piece.max_heat_protection_temperature = max_heat_protection_temperature piece.siemens_coefficient = siemens_coefficient @@ -227,7 +227,7 @@ if(!failed_to_seal && M.back == src && piece == compare_piece) if(!instant) - if(!do_after(M,SEAL_DELAY)) + if(!do_after(M,SEAL_DELAY,needhand=0)) failed_to_seal = 1 piece.icon_state = "[initial(icon_state)][!seal_target ? "_sealed" : ""]" @@ -251,6 +251,13 @@ else helmet.flags &= ~AIRTIGHT helmet.update_light(wearer) + + //sealed pieces become airtight, protecting against diseases + if (!seal_target) + piece.armor["bio"] = 100 + else + piece.armor["bio"] = src.armor["bio"] + else failed_to_seal = 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 34774530ca..de42bb0bfc 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -120,7 +120,7 @@ emp_act /mob/living/carbon/human/proc/getarmor_organ(var/datum/organ/external/def_zone, var/type) if(!type) return 0 var/protection = 0 - var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform) + var/list/protective_gear = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) for(var/gear in protective_gear) if(gear && istype(gear ,/obj/item/clothing)) var/obj/item/clothing/C = gear diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0f13a6dbfd..ac0df6a64d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -407,11 +407,10 @@ loc.assume_air(breath) //spread some viruses while we are at it - if (virus2.len > 0) - if (prob(10) && get_infection_chance(src)) -// log_debug("[src] : Exhaling some viruses") - for(var/mob/living/carbon/M in view(1,src)) - src.spread_disease_to(M) + if (virus2.len > 0 && prob(10)) +// log_debug("[src] : Exhaling some viruses") + for(var/mob/living/carbon/M in view(1,src)) + src.spread_disease_to(M) proc/get_breath_from_internal(volume_needed) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 927078b062..18c2db0f14 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -1,49 +1,58 @@ -//Returns 1 if mob can be infected, 0 otherwise. Checks his clothing. -proc/get_infection_chance(var/mob/living/carbon/M, var/vector = "Airborne") - var/score = 0 +//Returns 1 if mob can be infected, 0 otherwise. +proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne") if (!istype(M)) return 0 - if(istype(M, /mob/living/carbon/human)) + var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. + var/score = round(0.06*protection) //scales 100% protection to 6. - if (vector == "Airborne") - if(M.internal) //not breathing infected air helps greatly - score = 30 - if(M.wear_mask) - score += 5 - if(istype(M:wear_mask, /obj/item/clothing/mask/surgical) && !M.internal) - score += 10 - if(istype(M:wear_suit, /obj/item/clothing/suit/space) && istype(M:head, /obj/item/clothing/head/helmet/space)) - score += 20 - if(istype(M:wear_suit, /obj/item/clothing/suit/bio_suit) && istype(M:head, /obj/item/clothing/head/bio_hood)) - score += 30 + switch(vector) + if("Airborne") + if(M.internal) + score = 6 //not breathing infected air helps greatly + var/obj/item/I = M.wear_mask + + //masks provide a small bonus and can replace overall bio protection + score = max(score, round(0.06*I.armor["bio"])) + if (istype(I, /obj/item/clothing/mask)) + score += 1 //this should be added after + + if("Contact") + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + + //gloves provide a larger bonus + if (istype(H.gloves, /obj/item/clothing/gloves)) + score += 2 - - if (vector == "Contact") - if(M:gloves) score += 15 - if(istype(M:wear_suit, /obj/item/clothing/suit/space) && istype(M:head, /obj/item/clothing/head/helmet/space)) - score += 15 - if(istype(M:wear_suit, /obj/item/clothing/suit/bio_suit) && istype(M:head, /obj/item/clothing/head/bio_hood)) - score += 15 - - -// log_debug("[M]'s resistance to [vector] viruses: [score]") - - if(score >= 30) + if(score >= 6) return 0 - else if(score == 25 && prob(99)) + else if(score >= 5 && prob(99)) return 0 - else if(score == 20 && prob(95)) + else if(score >= 4 && prob(95)) return 0 - else if(score == 15 && prob(75)) + else if(score >= 3 && prob(75)) return 0 - else if(score == 10 && prob(55)) + else if(score >= 2 && prob(55)) return 0 - else if(score == 5 && prob(35)) + else if(score >= 1 && prob(35)) return 0 -// log_debug("Infection got through") return 1 +//Similar to infection check, but used for when M is spreading the virus. +/proc/infection_spreading_check(var/mob/living/carbon/M, var/vector = "Airborne") + if (!istype(M)) + return 0 + + var/protection = M.getarmor(null, "bio") //gets the full body bio armour value, weighted by body part coverage. + + if (vector == "Airborne") + var/obj/item/I = M.wear_mask + if (istype(I)) + protection = max(protection, round(0.06*I.armor["bio"])) + + return prob(protection) + //Checks if table-passing table can reach target (5 tile radius) proc/airborne_can_reach(turf/source, turf/target) var/obj/dummy = new(source) @@ -84,17 +93,14 @@ proc/airborne_can_reach(turf/source, turf/target) // log_debug("Infecting [M]") - if(prob(disease.infectionchance) || forced) - // certain clothes can prevent an infection - if(!forced && !get_infection_chance(M, disease.spreadtype)) - return - + if(forced || (infection_check(M, disease.spreadtype) && prob(disease.infectionchance))) var/datum/disease2/disease/D = disease.getcopy() D.minormutate() // log_debug("Adding virus") M.virus2["[D.uniqueID]"] = D M.hud_updateflag |= 1 << STATUS_HUD + //Infects mob M with disease D /proc/infect_mob(var/mob/living/carbon/M, var/datum/disease2/disease/D) infect_virus2(M,D,1) @@ -126,12 +132,15 @@ proc/airborne_can_reach(turf/source, turf/target) // log_debug("Attempting virus [ID]") var/datum/disease2/disease/V = virus2[ID] if(V.spreadtype != vector) continue + + //It's hard to get other people sick if you're in an airtight suit. + if(!infection_spreading_check(src, V.spreadtype)) continue if (vector == "Airborne") if(airborne_can_reach(get_turf(src), get_turf(victim))) // log_debug("In range, infecting") infect_virus2(victim,V) - else +// else // log_debug("Could not reach target") if (vector == "Contact") @@ -148,7 +157,7 @@ proc/airborne_can_reach(turf/source, turf/target) var/mob/living/carbon/human/H = victim var/datum/organ/external/select_area = H.get_organ(src.zone_sel.selecting) var/list/clothes = list(H.head, H.wear_mask, H.wear_suit, H.w_uniform, H.gloves, H.shoes) - for(var/obj/item/clothing/C in clothes ) + for(var/obj/item/clothing/C in clothes) if(C && istype(C)) if(C.body_parts_covered & select_area.body_part) nudity = 0 @@ -156,4 +165,5 @@ proc/airborne_can_reach(turf/source, turf/target) for (var/ID in victim.virus2) var/datum/disease2/disease/V = victim.virus2[ID] if(V && V.spreadtype != vector) continue + if(!infection_spreading_check(victim, V.spreadtype)) continue infect_virus2(src,V) From c444dc5f416d36263e6a38f3169b0a390b73e2f4 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 23 Jan 2015 20:42:21 +0300 Subject: [PATCH 197/282] Updates crate contents --- code/modules/mining/abandonedcrates.dm | 122 +++++++++++++++++++++---- 1 file changed, 105 insertions(+), 17 deletions(-) diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index 311454414a..c5f4c2d2dd 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -20,41 +20,129 @@ code += dig digits -= dig // Player can enter codes with matching digits, but there are never matching digits in the answer - var/loot = rand(1, 13) + var/loot = rand(1, 100) switch(loot) - if(1) + if(1 to 5) // Common things go, 5% new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src) new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src) new/obj/item/weapon/flame/lighter/zippo(src) - if(2) + if(6 to 10) new/obj/item/weapon/pickaxe/drill(src) new/obj/item/device/taperecorder(src) new/obj/item/clothing/suit/space(src) new/obj/item/clothing/head/helmet/space(src) - if(3) + if(11 to 15) new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src) - if(4 to 5) + if(16 to 20) for(var/i = 0, i < 10, i++) new/obj/item/weapon/ore/diamond(src) - if(6) + if(21 to 25) for(var/i = 0, i < 3, i++) new/obj/machinery/portable_atmospherics/hydroponics(src) - if(7) + if(26 to 30) for(var/i = 0, i < 3, i++) new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src) - if(8 to 10) - new/obj/item/weapon/melee/classic_baton(src) - if(11) + if(31 to 35) + spawn_money(rand(300,800), src) + if(36 to 40) + new/obj/item/weapon/melee/baton(src) + if(41 to 45) + new/obj/item/clothing/under/shorts/red(src) + new/obj/item/clothing/under/shorts/blue(src) + if(46 to 50) new/obj/item/clothing/under/chameleon(src) for(var/i = 0, i < 7, i++) new/obj/item/clothing/tie/horrible(src) - if(12) - new/obj/item/clothing/under/shorts(src) - new/obj/item/clothing/under/shorts/red(src) - new/obj/item/clothing/under/shorts/blue(src) - if(13) - new/obj/item/weapon/melee/baton(src) + if(51 to 52) // Uncommon, 2% each + new/obj/item/weapon/melee/classic_baton(src) + if(53 to 54) + new/obj/item/latexballon(src) + if(55 to 56) + var/newitem = pick(typesof(/obj/item/toy/prize) - /obj/item/toy/prize) + new newitem(src) + if(57 to 58) + new/obj/item/toy/syndicateballoon(src) + if(59 to 60) + new/obj/item/weapon/rig(src) + if(61 to 62) + for(var/i = 0, i < 12, ++i) + new/obj/item/clothing/head/kitty(src) + if(63 to 64) + var/t = rand(4,7) + for(var/i = 0, i < t, ++i) + var/newcoin = pick(/obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/gold, /obj/item/weapon/coin/diamond, /obj/item/weapon/coin/phoron, /obj/item/weapon/coin/uranium, /obj/item/weapon/coin/platinum) + new newcoin(src) + if(65 to 66) + new/obj/item/clothing/suit/ianshirt(src) + if(67 to 68) + var/t = rand(4,7) + for(var/i = 0, i < t, ++i) + var/newitem = pick(typesof(/obj/item/weapon/stock_parts) - /obj/item/weapon/stock_parts - /obj/item/weapon/stock_parts/subspace) + new newitem(src) + if(69 to 70) + new/obj/item/weapon/pickaxe/silver(src) + if(71 to 72) + new/obj/item/weapon/pickaxe/drill(src) + if(73 to 74) + new/obj/item/weapon/pickaxe/jackhammer(src) + if(75 to 76) + new/obj/item/weapon/pickaxe/diamond(src) + if(77 to 78) + new/obj/item/weapon/pickaxe/diamonddrill(src) + if(79 to 80) + new/obj/item/weapon/pickaxe/gold(src) + if(81 to 82) + new/obj/item/weapon/pickaxe/plasmacutter(src) + if(83 to 84) + new/obj/item/toy/katana(src) + if(85 to 86) + new/obj/item/seeds/random(src) + if(87) // Rarest things, some are unobtainble otherwise, some are just robust, 1% each + new/obj/item/weed_extract(src) + if(88) + new/obj/item/xenos_claw(src) + if(89) + new/obj/item/organ/xenos/plasmavessel(src) + if(90) + new/obj/item/organ/heart(src) + if(91) + new/obj/item/device/soulstone(src) + if(92) + new/obj/item/weapon/katana(src) + if(93) + new/obj/item/weapon/dnainjector/xraymut(src) // Probably the least OP + if(94) // Why the hell not + new/obj/item/weapon/storage/backpack/clown(src) + new/obj/item/clothing/under/rank/clown(src) + new/obj/item/clothing/shoes/clown_shoes(src) + new/obj/item/device/pda/clown(src) + new/obj/item/clothing/mask/gas/clown_hat(src) + new/obj/item/weapon/bikehorn(src) + //new/obj/item/weapon/stamp/clown(src) I'd add it, but only clowns can use it + new/obj/item/toy/crayon/rainbow(src) + new/obj/item/toy/waterflower(src) + if(95) + new/obj/item/clothing/under/mime(src) + new/obj/item/clothing/shoes/black(src) + new/obj/item/device/pda/mime(src) + new/obj/item/clothing/gloves/white(src) + new/obj/item/clothing/mask/gas/mime(src) + new/obj/item/clothing/head/beret(src) + new/obj/item/clothing/suit/suspenders(src) + new/obj/item/toy/crayon/mime(src) + new/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(src) + if(96) + new/obj/item/weapon/vampiric(src) + if(97) + new/obj/item/weapon/archaeological_find(src) + if(98) + new/obj/item/weapon/melee/energy/sword(src) + if(99) + new/obj/item/weapon/storage/belt/champion(src) + new/obj/item/clothing/mask/luchador(src) + if(100) + new/obj/item/clothing/head/bearpelt(src) /obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob) if(locked) From 10de826ca390d81c3a2b0a67e1c2f4869a295a27 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 23 Jan 2015 22:27:32 +0300 Subject: [PATCH 198/282] Removes FPRINT and TABLEPASS flags --- .../Rust/fuel_assembly_port_construction.dm | 2 +- .../Rust/fuel_compressor_construction.dm | 2 +- code/WorkInProgress/Ported/Abi79/uplinks.dm | 2 +- code/WorkInProgress/Ported/policetape.dm | 1 - .../Sigyn/Softcurity/clothing.dm | 6 +-- .../SkyMarshal/officer_stuff.dm | 2 - .../WorkInProgress/SkyMarshal/traitoritems.dm | 2 - .../Susan/susan_desert_turfs.dm | 8 ---- code/WorkInProgress/autopsy.dm | 2 +- code/defines/obj.dm | 2 +- code/defines/obj/weapon.dm | 20 ++++----- code/game/atoms.dm | 8 +--- code/game/gamemodes/cult/cult_items.dm | 7 +-- code/game/gamemodes/cult/ritual.dm | 1 - .../gamemodes/events/holidays/Christmas.dm | 1 - .../mutiny/emergency_authentication_device.dm | 1 - code/game/gamemodes/nuclear/nuclearbomb.dm | 1 - code/game/gamemodes/nuclear/pinpointer.dm | 2 +- code/game/gamemodes/wizard/artifact.dm | 1 - code/game/gamemodes/wizard/soulstone.dm | 2 - code/game/gamemodes/wizard/spellbook.dm | 1 - code/game/machinery/alarm.dm | 4 +- code/game/machinery/atmoalter/canister.dm | 2 +- code/game/machinery/bees_items.dm | 1 - code/game/machinery/bots/cleanbot.dm | 1 - code/game/machinery/bots/floorbot.dm | 2 - .../machinery/computer/HolodeckControl.dm | 3 +- code/game/machinery/pipe/construction.dm | 2 - code/game/machinery/spaceheater.dm | 2 - code/game/mecha/mecha_parts.dm | 4 +- code/game/objects/items.dm | 1 - code/game/objects/items/apc_frame.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 1 - code/game/objects/items/devices/aicard.dm | 1 - code/game/objects/items/devices/binoculars.dm | 2 +- .../objects/items/devices/chameleonproj.dm | 2 +- code/game/objects/items/devices/debugger.dm | 2 +- code/game/objects/items/devices/flash.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 8 ++-- .../objects/items/devices/lightreplacer.dm | 2 +- code/game/objects/items/devices/megaphone.dm | 2 +- code/game/objects/items/devices/multitool.dm | 2 +- code/game/objects/items/devices/paicard.dm | 1 - code/game/objects/items/devices/powersink.dm | 2 +- .../items/devices/radio/electropack.dm | 2 +- .../objects/items/devices/radio/intercom.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/objects/items/devices/scanners.dm | 9 ++-- .../objects/items/devices/suit_cooling.dm | 2 +- .../objects/items/devices/taperecorder.dm | 2 +- .../objects/items/devices/traitordevices.dm | 2 +- code/game/objects/items/devices/whistle.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 2 +- code/game/objects/items/stacks/rods.dm | 2 +- .../game/objects/items/stacks/sheets/light.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 7 ++- .../objects/items/stacks/sheets/sheets.dm | 1 - code/game/objects/items/stacks/tiles/light.dm | 2 +- .../objects/items/stacks/tiles/plasteel.dm | 2 +- .../objects/items/stacks/tiles/tile_types.dm | 6 +-- code/game/objects/items/toys.dm | 13 +++--- code/game/objects/items/weapons/AI_modules.dm | 2 +- code/game/objects/items/weapons/RCD.dm | 2 +- code/game/objects/items/weapons/RSF.dm | 1 - .../objects/items/weapons/cigs_lighters.dm | 2 +- .../weapons/circuitboards/circuitboard.dm | 2 +- code/game/objects/items/weapons/cosmetics.dm | 1 - code/game/objects/items/weapons/explosives.dm | 2 +- .../objects/items/weapons/extinguisher.dm | 3 +- .../objects/items/weapons/flamethrower.dm | 2 +- .../objects/items/weapons/grenades/grenade.dm | 2 +- .../items/weapons/grenades/smokebomb.dm | 1 - code/game/objects/items/weapons/handcuffs.dm | 2 +- .../game/objects/items/weapons/hydroponics.dm | 1 - code/game/objects/items/weapons/kitchen.dm | 8 ++-- .../objects/items/weapons/melee/energy.dm | 8 ++-- code/game/objects/items/weapons/melee/misc.dm | 2 +- code/game/objects/items/weapons/mop.dm | 1 - code/game/objects/items/weapons/paint.dm | 2 +- .../game/objects/items/weapons/power_cells.dm | 1 - code/game/objects/items/weapons/scrolls.dm | 1 - code/game/objects/items/weapons/shields.dm | 6 +-- .../objects/items/weapons/storage/backpack.dm | 1 - .../objects/items/weapons/storage/bags.dm | 1 - .../objects/items/weapons/storage/belt.dm | 1 - .../objects/items/weapons/storage/bible.dm | 1 - .../objects/items/weapons/storage/boxes.dm | 1 - .../items/weapons/storage/briefcase.dm | 2 +- .../objects/items/weapons/storage/fancy.dm | 3 -- .../objects/items/weapons/storage/secure.dm | 2 - .../objects/items/weapons/storage/toolbox.dm | 2 +- .../objects/items/weapons/surgery_tools.dm | 12 ++--- .../objects/items/weapons/swords_axes_etc.dm | 2 - .../objects/items/weapons/table_rack_parts.dm | 4 +- .../objects/items/weapons/tanks/tank_types.dm | 4 +- .../game/objects/items/weapons/tanks/tanks.dm | 2 +- .../objects/items/weapons/teleportation.dm | 2 +- code/game/objects/items/weapons/tools.dm | 10 ++--- code/game/objects/items/weapons/twohanded.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 7 +-- .../structures/crates_lockers/closets.dm | 1 - .../structures/crates_lockers/largecrate.dm | 1 - code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/mop_bucket.dm | 2 +- code/game/objects/structures/noticeboard.dm | 1 - .../structures/stool_bed_chair_nest/stools.dm | 1 - code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/bomb.dm | 2 +- code/modules/assembly/holder.dm | 2 +- code/modules/assembly/infrared.dm | 1 - code/modules/assembly/shock_kit.dm | 2 +- code/modules/clothing/clothing.dm | 2 - code/modules/clothing/head/hardhat.dm | 5 +-- code/modules/clothing/head/helmet.dm | 14 +++--- code/modules/clothing/head/jobs.dm | 16 ++----- code/modules/clothing/head/misc.dm | 36 +++++---------- code/modules/clothing/head/misc_special.dm | 7 ++- code/modules/clothing/head/soft_caps.dm | 2 +- code/modules/clothing/masks/boxing.dm | 6 +-- code/modules/clothing/masks/breath.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 2 +- code/modules/clothing/masks/miscellaneous.dm | 18 ++++---- code/modules/clothing/spacesuits/captain.dm | 4 +- .../clothing/spacesuits/miscellaneous.dm | 12 ++--- .../clothing/spacesuits/rig/rig_pieces.dm | 6 +-- .../clothing/spacesuits/rig/suits/light.dm | 4 +- .../modules/clothing/spacesuits/spacesuits.dm | 4 +- code/modules/clothing/suits/armor.dm | 9 ++-- code/modules/clothing/suits/bio.dm | 3 +- code/modules/clothing/suits/miscellaneous.dm | 13 +----- code/modules/clothing/suits/utility.dm | 7 ++- code/modules/clothing/under/color.dm | 14 ------ code/modules/clothing/under/jobs/civilian.dm | 13 ------ .../clothing/under/jobs/engineering.dm | 3 -- code/modules/clothing/under/jobs/medsci.dm | 11 ----- code/modules/clothing/under/jobs/security.dm | 9 +--- code/modules/clothing/under/miscellaneous.dm | 5 --- code/modules/clothing/under/shorts.dm | 1 - code/modules/clothing/under/ties.dm | 1 - code/modules/customitems/item_defines.dm | 13 +----- .../detectivework/footprints_and_rag.dm | 2 +- code/modules/detectivework/scanner.dm | 2 +- code/modules/hydroponics/grown_inedible.dm | 3 -- code/modules/hydroponics/hydro_tools.dm | 14 +++--- code/modules/hydroponics/seeds.dm | 1 - code/modules/library/lib_items.dm | 2 - code/modules/mining/coins.dm | 2 +- code/modules/mining/mine_items.dm | 4 +- code/modules/mining/money_bag.dm | 2 +- .../mob/living/carbon/brain/brain_item.dm | 1 - .../species/xenomorphs/alien_facehugger.dm | 2 +- .../mob/living/silicon/robot/analyzer.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 2 +- code/modules/paperwork/clipboard.dm | 1 - code/modules/paperwork/pen.dm | 5 +-- code/modules/paperwork/photography.dm | 2 +- code/modules/paperwork/stamps.dm | 1 - code/modules/power/antimatter/shielding.dm | 2 +- code/modules/power/breaker_box.dm | 1 - code/modules/power/cable.dm | 2 +- code/modules/power/lighting.dm | 5 +-- code/modules/projectiles/ammunition.dm | 4 +- code/modules/projectiles/gun.dm | 2 +- .../projectiles/guns/energy/special.dm | 4 +- .../projectiles/guns/projectile/crossbow.dm | 1 - .../projectiles/guns/projectile/launcher.dm | 2 +- .../projectiles/guns/projectile/pneumatic.dm | 2 +- .../projectiles/guns/projectile/rocket.dm | 2 +- .../projectiles/guns/projectile/shotgun.dm | 4 +- code/modules/projectiles/projectile.dm | 1 - .../reagents/reagent_containers/borghydro.dm | 1 - .../reagent_containers/food/condiment.dm | 2 +- .../reagent_containers/food/drinks.dm | 4 +- .../reagents/reagent_containers/glass.dm | 17 ++++--- .../reagent_containers/glass/bottle.dm | 2 +- .../reagent_containers/glass/bottle/robot.dm | 2 +- .../reagents/reagent_containers/hypospray.dm | 2 +- .../reagents/reagent_containers/spray.dm | 2 +- code/modules/reagents/reagent_dispenser.dm | 1 - code/modules/recycling/sortingmachinery.dm | 5 +-- .../research/xenoarchaeology/chemistry.dm | 2 +- .../xenoarchaeology/tools/tools_anoscanner.dm | 1 - .../tools/tools_coresampler.dm | 1 - .../tools/tools_depthscanner.dm | 1 - code/modules/shieldgen/sheldwallgen.dm | 2 +- code/modules/virus2/helpers.dm | 1 - code/modules/virus2/items_devices.dm | 2 +- code/setup.dm | 44 +++++++++---------- code/unused/assemblies.dm | 22 +++++----- code/unused/asteroiddevice.dm | 2 +- code/unused/hivebot/hive_modules.dm | 2 +- code/unused/new_year.dm | 2 +- code/unused/optics/beam.dm | 1 - code/unused/optics/laser-pointer.dm | 2 +- code/unused/optics/mirror.dm | 1 - code/unused/pda2/pda2.dm | 1 - code/unused/powerarmor/powerarmor.dm | 5 +-- code/unused/scrap.dm | 2 +- code/unused/vehicle.dm | 1 - 199 files changed, 272 insertions(+), 496 deletions(-) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm index 0c12ed23a0..9b0103cb8a 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm @@ -6,7 +6,7 @@ icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "port2" w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm index 3d2e32f971..0db3de8a7c 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm +++ b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm @@ -6,7 +6,7 @@ icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' icon_state = "fuel_compressor0" w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm index 58d9fa0ace..dc33f9f10d 100644 --- a/code/WorkInProgress/Ported/Abi79/uplinks.dm +++ b/code/WorkInProgress/Ported/Abi79/uplinks.dm @@ -317,7 +317,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid var/temp = null //Temporary storage area for a message offering the option to destroy the radio var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself. var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "radio" diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/WorkInProgress/Ported/policetape.dm index 4425a9713b..8791ea1075 100644 --- a/code/WorkInProgress/Ported/policetape.dm +++ b/code/WorkInProgress/Ported/policetape.dm @@ -3,7 +3,6 @@ name = "tape roll" icon = 'icons/policetape.dmi' icon_state = "rollstart" - flags = FPRINT w_class = 2.0 var/turf/start var/turf/end diff --git a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm index 057c10cb57..e3b5b6238b 100644 --- a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm +++ b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm @@ -5,7 +5,7 @@ item_state = "ba_suit" color = "hosblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/under/rank/advisor name = "correctional advisor's jumpsuit" @@ -14,7 +14,7 @@ item_state = "ba_suit" color = "wardenblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/under/rank/supervisor name = "crew supervisor's jumpsuit" @@ -23,7 +23,7 @@ item_state = "ba_suit" color = "officerblueclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL /obj/item/clothing/shoes/boots name = "boots" diff --git a/code/WorkInProgress/SkyMarshal/officer_stuff.dm b/code/WorkInProgress/SkyMarshal/officer_stuff.dm index 13cca94a8b..f7483b7dd4 100644 --- a/code/WorkInProgress/SkyMarshal/officer_stuff.dm +++ b/code/WorkInProgress/SkyMarshal/officer_stuff.dm @@ -5,13 +5,11 @@ name = "officers beret" desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces, announcing to the world that the wearer is a defender of NanoTrasen." icon_state = "centcomofficerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/centcom/captain name = "captains beret" desc = "A white beret adorned with the shield—a cobalt kite shield with an engraved sword—of the NanoTrasen security forces, worn only by those captaining a vessel of the NanoTrasen Navy." icon_state = "centcomcaptain" - flags = FPRINT | TABLEPASS /obj/item/clothing/shoes/centcom name = "dress shoes" diff --git a/code/WorkInProgress/SkyMarshal/traitoritems.dm b/code/WorkInProgress/SkyMarshal/traitoritems.dm index b42a36685e..43c7641e53 100644 --- a/code/WorkInProgress/SkyMarshal/traitoritems.dm +++ b/code/WorkInProgress/SkyMarshal/traitoritems.dm @@ -3,7 +3,6 @@ /obj/item/weapon/stamperaser name = "eraser" desc = "It looks like some kind of eraser." - flags = FPRINT | TABLEPASS icon = 'icons/obj/items.dmi' icon_state = "zippo" item_state = "zippo" @@ -15,7 +14,6 @@ desc = "It blinks and has an antenna on it. Weird." icon_state = "t-ray0" var/on = 0 - flags = FPRINT|TABLEPASS w_class = 1 var/list/obj/item/device/radio/Old = list() var/list/obj/item/device/radio/Curr = list() diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm index a52f90a4bc..41ea6568ca 100644 --- a/code/WorkInProgress/Susan/susan_desert_turfs.dm +++ b/code/WorkInProgress/Susan/susan_desert_turfs.dm @@ -252,7 +252,6 @@ Alien plants should do something if theres a lot of poison item_state = "wardendnavyclothes" item_color = "wardendnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/navysecurity name = "security officer's jumpsuit" @@ -261,7 +260,6 @@ Alien plants should do something if theres a lot of poison item_state = "officerdnavyclothes" item_color = "officerdnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/navyhead_of_security desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." @@ -270,7 +268,6 @@ Alien plants should do something if theres a lot of poison item_state = "hosdnavyclothes" item_color = "hosdnavyclothes" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/armor/hosnavycoat name = "armored coat" @@ -283,26 +280,22 @@ Alien plants should do something if theres a lot of poison name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." icon_state = "officerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/navywarden name = "warden's beret" desc = "A beret with a two-colored security insignia emblazoned on it. For wardens that are more inclined towards style than safety." icon_state = "wardenberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/navyhos name = "security head's beret" desc = "A stylish beret bearing a golden insignia that proudly displays the security coat of arms. A commander's must-have." icon_state = "hosberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/armor/navysecvest name = "armored coat" desc = "An armored coat that protects against some damage." icon_state = "officerdnavyjacket" item_state = "armor" - flags = FPRINT | TABLEPASS armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/navywardenvest @@ -310,7 +303,6 @@ Alien plants should do something if theres a lot of poison desc = "An armoured jacket with silver rank pips and livery." icon_state = "wardendnavyjacket" item_state = "armor" - flags = FPRINT | TABLEPASS armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) //hostile entities or npcs diff --git a/code/WorkInProgress/autopsy.dm b/code/WorkInProgress/autopsy.dm index 95cfa23494..d78c7d4093 100644 --- a/code/WorkInProgress/autopsy.dm +++ b/code/WorkInProgress/autopsy.dm @@ -7,7 +7,7 @@ desc = "Extracts information on wounds." icon = 'icons/obj/autopsy_scanner.dmi' icon_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" var/list/datum/autopsy_data_scanner/wdata = list() diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 0c971df260..4adf0e410e 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -302,7 +302,7 @@ var/global/list/PDA_Manifest = list() throwforce = 0.0 throw_speed = 1 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT afterattack(atom/target as mob|obj|turf|area, mob/user as mob) user.drop_item() diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 0921cfabd9..ab7b57cb42 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -3,7 +3,7 @@ desc = "Should anything ever go wrong..." icon = 'icons/obj/items.dmi' icon_state = "red_phone" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 3.0 throwforce = 2.0 throw_speed = 1 @@ -22,7 +22,6 @@ anchored = 0.0 var/stored_matter = 0 var/mode = 1 - flags = TABLEPASS w_class = 3.0 /obj/item/weapon/bananapeel @@ -92,7 +91,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "cane" item_state = "stick" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 throwforce = 7.0 w_class = 2.0 @@ -139,7 +138,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "handcuff" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 0 w_class = 3.0 origin_tech = "materials=1" @@ -198,7 +197,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS attack_verb = list("warned", "cautioned", "smashed") /obj/item/weapon/caution/cone @@ -217,7 +215,7 @@ var/traitor_frequency = 0.0 var/mob/currentUser = null var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS | CONDUCT | ONBELT + flags = CONDUCT | ONBELT w_class = 2.0 item_state = "radio" throw_speed = 4 @@ -235,7 +233,7 @@ var/selfdestruct = 0.0 var/traitor_frequency = 0.0 var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "radio" throwforce = 5 @@ -255,7 +253,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD attack_verb = list("bludgeoned", "whacked", "disciplined") /obj/item/weapon/staff/broom @@ -282,7 +280,7 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD /obj/item/weapon/wire desc = "This is just a simple piece of regular insulated wire." @@ -304,7 +302,7 @@ icon_state = "std_module" w_class = 2.0 item_state = "electronic" - flags = FPRINT|TABLEPASS|CONDUCT + flags = CONDUCT var/mtype = 1 // 1=electronic 2=hardware /obj/item/weapon/module/card_reader @@ -385,7 +383,7 @@ w_class = 1 throwforce = 2 var/cigarcount = 6 - flags = ONBELT | TABLEPASS */ + flags = ONBELT */ /obj/item/weapon/pai_cable desc = "A flexible coated cable with a universal jack on one end." diff --git a/code/game/atoms.dm b/code/game/atoms.dm index be45d49d97..df288f2cc4 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1,7 +1,7 @@ /atom layer = 2 var/level = 2 - var/flags = FPRINT + var/flags = 0 var/list/fingerprints var/list/fingerprintshidden var/fingerprintslast = null @@ -234,8 +234,6 @@ its easier to just keep the beam vertical. /atom/proc/add_hiddenprint(mob/living/M as mob) if(isnull(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) - return if (ishuman(M)) var/mob/living/carbon/human/H = M if (!istype(H.dna, /datum/dna)) @@ -260,8 +258,6 @@ its easier to just keep the beam vertical. if(isnull(M)) return if(isAI(M)) return if(isnull(M.key)) return - if (!( src.flags ) & FPRINT) - return if (ishuman(M)) //Add the list if it does not exist. if(!fingerprintshidden) @@ -386,7 +382,7 @@ its easier to just keep the beam vertical. //returns 1 if made bloody, returns 0 otherwise /atom/proc/add_blood(mob/living/carbon/human/M as mob) - if((flags & NOBLOODY) || !(flags & FPRINT)) + if(flags & NOBLOODY) return 0 if(!blood_DNA || !istype(blood_DNA, /list)) //if our list of DNA doesn't exist yet (or isn't a list) initialise it. diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index f6aa21e14d..51f77c2cc0 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -3,7 +3,6 @@ desc = "An arcane weapon wielded by the followers of Nar-Sie" icon_state = "cultblade" item_state = "cultblade" - flags = FPRINT | TABLEPASS w_class = 4 force = 30 throwforce = 10 @@ -34,7 +33,7 @@ icon_state = "culthood" desc = "A hood worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES body_parts_covered = HEAD|EYES armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) cold_protection = HEAD @@ -55,7 +54,6 @@ desc = "A set of armored robes worn by the followers of Nar-Sie" icon_state = "cultrobes" item_state = "cultrobes" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) @@ -68,7 +66,7 @@ item_state = "magus" desc = "A helm worn by the followers of Nar-Sie." flags_inv = HIDEFACE - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR body_parts_covered = HEAD|FACE|EYES armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0 @@ -78,7 +76,6 @@ desc = "A set of armored robes worn by the followers of Nar-Sie" icon_state = "magusred" item_state = "magusred" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/weapon/book/tome,/obj/item/weapon/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index a3829207fe..e3ac71b77c 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -169,7 +169,6 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS unique = 1 var/notedat = "" var/tomedat = "" diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm index ba1c2be13c..7ca6678902 100644 --- a/code/game/gamemodes/events/holidays/Christmas.dm +++ b/code/game/gamemodes/events/holidays/Christmas.dm @@ -58,7 +58,6 @@ icon_state = "xmashat" desc = "A crappy paper hat that you are REQUIRED to wear." flags_inv = 0 - flags = FPRINT|TABLEPASS body_parts_covered = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) diff --git a/code/game/gamemodes/mutiny/emergency_authentication_device.dm b/code/game/gamemodes/mutiny/emergency_authentication_device.dm index bedd67e64c..028c4113cc 100644 --- a/code/game/gamemodes/mutiny/emergency_authentication_device.dm +++ b/code/game/gamemodes/mutiny/emergency_authentication_device.dm @@ -11,7 +11,6 @@ var/secondary_key var/activated = 0 - flags = FPRINT use_power = 0 New(loc, mode) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index ef78dd4286..e73fbf6880 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -23,7 +23,6 @@ var/bomb_set var/timing_wire var/removal_stage = 0 // 0 is no removal, 1 is covers removed, 2 is covers open, // 3 is sealant open, 4 is unwrenched, 5 is removed from bolts. - flags = FPRINT use_power = 0 diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 50ae7b9fc1..d26f1a0789 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -2,7 +2,7 @@ name = "pinpointer" icon = 'icons/obj/device.dmi' icon_state = "pinoff" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "electronic" diff --git a/code/game/gamemodes/wizard/artifact.dm b/code/game/gamemodes/wizard/artifact.dm index 0ce1f94d12..15ac80ced4 100644 --- a/code/game/gamemodes/wizard/artifact.dm +++ b/code/game/gamemodes/wizard/artifact.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "render" item_state = "render" - flags = FPRINT | TABLEPASS force = 15 throwforce = 10 w_class = 3 diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 12360194d1..678ce72582 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -5,7 +5,6 @@ item_state = "electronic" desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefacts power." w_class = 1.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT origin_tech = "bluespace=4;materials=4" var/imprinted = "empty" @@ -88,7 +87,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "construct" desc = "A wicked machine used by those skilled in magical arts. It is inactive" - flags = FPRINT | TABLEPASS /obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/device/soulstone)) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index d490e75dc6..716045a721 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -6,7 +6,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS var/uses = 5 var/temp = null var/max_uses = 5 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3819c2d9d5..13dd8c75e6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1005,7 +1005,7 @@ Code shamelessly copied from apc_frame desc = "Used for building Air Alarms" icon = 'icons/obj/monitors.dmi' icon_state = "alarm_bitem" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/alarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) @@ -1340,7 +1340,7 @@ Code shamelessly copied from apc_frame desc = "Used for building Fire Alarms" icon = 'icons/obj/monitors.dmi' icon_state = "fire_bitem" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/firealarm_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/wrench)) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 3e91d70f6c..4d96320518 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -4,7 +4,7 @@ icon_state = "yellow" density = 1 var/health = 100.0 - flags = FPRINT | CONDUCT + flags = CONDUCT var/valve_open = 0 var/release_pressure = ONE_ATMOSPHERE diff --git a/code/game/machinery/bees_items.dm b/code/game/machinery/bees_items.dm index e02a0a1a23..486b46d33c 100644 --- a/code/game/machinery/bees_items.dm +++ b/code/game/machinery/bees_items.dm @@ -65,7 +65,6 @@ name = "bottle of BeezEez" icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" - flags = FPRINT | TABLEPASS New() src.pixel_x = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5) diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index b913119a57..30f6dfaa8c 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -9,7 +9,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Cleanbot" diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index 0164199daa..54c8390234 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -9,7 +9,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Floorbot" /obj/item/weapon/toolbox_tiles_sensor @@ -22,7 +21,6 @@ throw_speed = 2 throw_range = 5 w_class = 3.0 - flags = TABLEPASS var/created_name = "Floorbot" //Floorbot diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index abcdb51a51..e6075cb5a9 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -418,7 +418,6 @@ var/global/list/holodeck_programs = list( icon = 'icons/obj/objects.dmi' icon_state = "stool" anchored = 1.0 - flags = FPRINT pressure_resistance = 15 @@ -454,7 +453,7 @@ var/global/list/holodeck_programs = list( throw_range = 5 throwforce = 0 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY var/active = 0 /obj/item/weapon/holo/esword/green diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index baa5b9f975..024048b6de 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -60,7 +60,6 @@ Buildable meters icon = 'icons/obj/pipe-item.dmi' icon_state = "simple" item_state = "buildpipe" - flags = TABLEPASS|FPRINT w_class = 3 level = 2 @@ -1133,7 +1132,6 @@ Buildable meters icon = 'icons/obj/pipe-item.dmi' icon_state = "meter" item_state = "buildpipe" - flags = TABLEPASS|FPRINT w_class = 4 /obj/item/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index bc65e08eb4..ab4967d04e 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -11,8 +11,6 @@ var/set_temperature = T0C + 50 //K var/heating_power = 40000 - flags = FPRINT - /obj/machinery/space_heater/New() ..() diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index b9a6ab4e78..c3257bb61b 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -9,7 +9,7 @@ icon = 'icons/mecha/mech_construct.dmi' icon_state = "blank" w_class = 5 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "programming=2;materials=2" var/construction_time = 100 var/list/construction_cost = list("metal"=20000,"glass"=5000) @@ -20,7 +20,7 @@ icon_state = "backbone" var/datum/construction/construct construction_cost = list("metal"=20000) - flags = FPRINT | CONDUCT + flags = CONDUCT attackby(obj/item/W as obj, mob/user as mob) if(!construct || !construct.action(W, user)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d0c52d7f59..13081d6abb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -10,7 +10,6 @@ var/burning = null var/hitsound = null var/w_class = 3.0 - flags = FPRINT | TABLEPASS var/slot_flags = 0 //This is used to determine on which slots an item can fit. pass_flags = PASSTABLE pressure_resistance = 5 diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 418209d744..a11b326e45 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -5,7 +5,7 @@ desc = "Used for repairing or building APCs" icon = 'icons/obj/apc_repair.dmi' icon_state = "apc_frame" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b24bf75ec1..c90db6ccdd 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -10,7 +10,6 @@ var/global/list/obj/item/device/pda/PDAs = list() icon_state = "pda" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_ID | SLOT_BELT //Main variables diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index fc4f555ed4..75122c7ce0 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -4,7 +4,6 @@ icon_state = "aicard" // aicard-full item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/flush = null origin_tech = "programming=4;materials=4" diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index 0cafa7679c..b6e0ca1aca 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -4,7 +4,7 @@ desc = "A pair of binoculars." icon_state = "binoculars" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 978cfdb304..1982fbb4f4 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -1,7 +1,7 @@ /obj/item/device/chameleon name = "chameleon projector" icon_state = "shield0" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "electronic" throwforce = 5.0 diff --git a/code/game/objects/items/devices/debugger.dm b/code/game/objects/items/devices/debugger.dm index 3168e00feb..faab1ee054 100644 --- a/code/game/objects/items/devices/debugger.dm +++ b/code/game/objects/items/devices/debugger.dm @@ -9,7 +9,7 @@ desc = "Used to debug electronic equipment." icon = 'icons/obj/hacktool.dmi' icon_state = "hacktool-g" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 152aa2fa34..6e924ba719 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -7,7 +7,7 @@ w_class = 2.0 throw_speed = 4 throw_range = 10 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT origin_tech = "magnets=2;combat=1" var/times_used = 0 //Number of times it's been used. diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 35ff3b720a..0f6d0abb10 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -5,7 +5,7 @@ icon_state = "flashlight" item_state = "flashlight" w_class = 2 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 50,"glass" = 20) @@ -106,7 +106,7 @@ desc = "A pen-sized light, used by medical staff." icon_state = "penlight" item_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT brightness_on = 2 w_class = 1 @@ -115,7 +115,7 @@ desc = "A miniature lamp, that might be used by small robots." icon_state = "penlight" item_state = "" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT brightness_on = 2 w_class = 1 @@ -128,7 +128,7 @@ item_state = "lamp" brightness_on = 5 w_class = 4 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT on = 1 diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index c6238f2648..7e69ffe17a 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -47,7 +47,7 @@ icon_state = "lightreplacer0" item_state = "electronic" - flags = FPRINT | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT origin_tech = "magnets=3;materials=2" diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index db79c6390b..23cb816263 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -4,7 +4,7 @@ icon_state = "megaphone" item_state = "radio" w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT var/spamcheck = 0 var/emagged = 0 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 6378f8823f..1765c32ade 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -8,7 +8,7 @@ name = "multitool" desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." icon_state = "multitool" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index f2df13a2db..0065fab167 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -4,7 +4,6 @@ icon_state = "pai" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT origin_tech = "programming=2" var/obj/item/device/radio/radio diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index cf92db9a39..8b2469d2dd 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -6,7 +6,7 @@ icon_state = "powersink0" item_state = "electronic" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 5 throw_speed = 1 throw_range = 2 diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 00666b2e2a..e7f9ec3b9f 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -4,7 +4,7 @@ icon_state = "electropack0" item_state = "electropack" frequency = 1449 - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BACK w_class = 5.0 diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index b28fe2cac1..567dc49bf4 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,7 +5,7 @@ anchored = 1 w_class = 4.0 canhear_range = 2 - flags = FPRINT | CONDUCT | TABLEPASS | NOBLOODY + flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 var/mob/living/silicon/ai/ai = list() diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index bb6f0d91f5..667cb6f115 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -20,7 +20,7 @@ var/syndie = 0//Holder to see if it's a syndicate encrpyed radio var/maxf = 1499 // "Example" = FREQ_LISTENING|FREQ_BROADCASTING - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BELT throw_speed = 2 throw_range = 9 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 5afc8ebc10..922d5418cb 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -13,7 +13,6 @@ REAGENT SCANNER desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes." icon_state = "t-ray0" var/on = 0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 2 item_state = "electronic" @@ -69,7 +68,7 @@ REAGENT SCANNER desc = "A hand-held body scanner able to distinguish vital signs of the subject." icon_state = "health" item_state = "analyzer" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 @@ -232,7 +231,7 @@ REAGENT SCANNER icon_state = "atmos" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 @@ -279,7 +278,7 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS| CONDUCT | OPENCONTAINER + flags = CONDUCT | OPENCONTAINER slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 @@ -353,7 +352,7 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 throw_speed = 4 diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index f32b5256b5..291053f25d 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -7,7 +7,7 @@ slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage //copied from tank.dm - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 5.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index f5e43436b9..dc74f0272c 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -15,7 +15,7 @@ var/list/storedinfo = new/list() var/list/timestamp = new/list() var/canprint = 1 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT throwforce = 2 throw_speed = 4 throw_range = 20 diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 52e5e220f2..3c2aebd871 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -22,7 +22,7 @@ effective or pretty fucking useless. w_class = 1.0 throw_speed = 4 throw_range = 10 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" origin_tech = "magnets=3;combat=3;syndicate=3" diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index befba4b133..49df9aa31c 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -4,7 +4,7 @@ icon_state = "voice0" item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) w_class = 1.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT var/spamcheck = 0 var/emagged = 0 diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 87a6fdc04c..25461eae37 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/robot_parts.dmi' item_state = "buildpipe" icon_state = "blank" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT var/construction_time = 100 var/list/construction_cost = list("metal"=20000,"glass"=5000) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index d2825c82f7..45350a71e9 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -3,7 +3,7 @@ desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" icon_state = "rods" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 3.0 force = 9.0 throwforce = 15.0 diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm index c5df032d64..de96eda5f4 100644 --- a/code/game/objects/items/stacks/sheets/light.dm +++ b/code/game/objects/items/stacks/sheets/light.dm @@ -8,7 +8,7 @@ throwforce = 5.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /obj/item/stack/light_w/attackby(var/obj/item/O as obj, var/mob/user as mob) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a5336c0797..bd192ec26c 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -82,7 +82,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ icon_state = "sheet-metal" matter = list("metal" = 3750) throwforce = 14.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=1" /obj/item/stack/sheet/metal/cyborg @@ -91,7 +91,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ singular_name = "metal sheet" icon_state = "sheet-metal" throwforce = 14.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT stacktype = /obj/item/stack/sheet/metal /obj/item/stack/sheet/metal/New(var/loc, var/amount=null) @@ -118,7 +118,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ item_state = "sheet-metal" matter = list("metal" = 7500) throwforce = 15.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=2" /obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null) @@ -197,7 +197,6 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \ desc = "Large sheets of card, like boxes folded flat." singular_name = "cardboard sheet" icon_state = "sheet-card" - flags = FPRINT | TABLEPASS origin_tech = "materials=1" /obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null) diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index b140b4e6fd..ed0a9d2a31 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -1,6 +1,5 @@ /obj/item/stack/sheet name = "sheet" - flags = FPRINT | TABLEPASS w_class = 3.0 force = 5 throwforce = 5 diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm index f346d216a7..3a14ff1e56 100644 --- a/code/game/objects/items/stacks/tiles/light.dm +++ b/code/game/objects/items/stacks/tiles/light.dm @@ -8,7 +8,7 @@ throwforce = 5.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") var/on = 1 diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm index e238a80323..7816c45f53 100644 --- a/code/game/objects/items/stacks/tiles/plasteel.dm +++ b/code/game/objects/items/stacks/tiles/plasteel.dm @@ -9,7 +9,7 @@ throwforce = 15.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /obj/item/stack/tile/plasteel/New(var/loc, var/amount=null) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index e0963d08cc..7ad6abdd60 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -18,7 +18,7 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 origin_tech = "biotech=1" @@ -35,7 +35,7 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 /* @@ -51,5 +51,5 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT max_amount = 60 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 837824bf39..cee5076a55 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -127,7 +127,7 @@ icon = 'icons/obj/gun.dmi' icon_state = "revolver" item_state = "gun" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 3.0 @@ -183,7 +183,7 @@ desc = "There are 7 caps left! Make sure to recyle the box in an autolathe when it gets empty." icon = 'icons/obj/ammo.dmi' icon_state = "357-7" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 1.0 matter = list("metal" = 10,"glass" = 10) @@ -205,7 +205,6 @@ icon = 'icons/obj/gun.dmi' icon_state = "crossbow" item_state = "crossbow" - flags = FPRINT | TABLEPASS w_class = 2.0 attack_verb = list("attacked", "struck", "hit") var/bullets = 5 @@ -299,7 +298,6 @@ desc = "It's nerf or nothing! Ages 8 and up." icon = 'icons/obj/toy.dmi' icon_state = "foamdart" - flags = FPRINT | TABLEPASS w_class = 1.0 /obj/effect/foam_dart_dummy @@ -322,7 +320,7 @@ item_state = "sword0" var/active = 0.0 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD attack_verb = list("attacked", "struck", "hit") attack_self(mob/user as mob) @@ -354,7 +352,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 5 throwforce = 5 @@ -570,7 +568,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 5 throwforce = 5 @@ -643,6 +641,5 @@ desc = "No bother to sink or swim when you can just float!" icon_state = "inflatable" item_state = "inflatable" - flags = FPRINT | TABLEPASS icon = 'icons/obj/clothing/belts.dmi' slot_flags = SLOT_BELT diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index c8fec27bb8..3d29f318ff 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -12,7 +12,7 @@ AI MODULES icon_state = "std_mod" item_state = "electronic" desc = "An AI Module for transmitting encrypted instructions to the AI." - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 w_class = 2.0 throwforce = 5.0 diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 3e5c08539f..37dcbf9f4e 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -7,7 +7,7 @@ opacity = 0 density = 0 anchored = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 10.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index f9f32bbeb1..c92b0bbf35 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -14,7 +14,6 @@ RSF anchored = 0.0 var/stored_matter = 30 var/mode = 1 - flags = TABLEPASS w_class = 3.0 /obj/item/weapon/rsf/examine(mob/user) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 4d09a26bcf..fb51d83c14 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -385,7 +385,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/icon_off = "lighter-g" w_class = 1 throwforce = 4 - flags = TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT attack_verb = list("burnt", "singed") diff --git a/code/game/objects/items/weapons/circuitboards/circuitboard.dm b/code/game/objects/items/weapons/circuitboards/circuitboard.dm index bc44b3d7df..00cc7a6835 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboard.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboard.dm @@ -13,7 +13,7 @@ density = 0 anchored = 0 w_class = 2.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 5.0 throwforce = 5.0 throw_speed = 3 diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 5e6d4d9538..6241bd5051 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -4,7 +4,6 @@ desc = "A generic brand of lipstick." icon = 'icons/obj/items.dmi' icon_state = "lipstick" - flags = FPRINT | TABLEPASS w_class = 1.0 var/colour = "red" var/open = 0 diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index f5f4208073..71fb259dcd 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "plastic-explosive0" item_state = "plasticx" - flags = FPRINT | TABLEPASS | NOBLUDGEON + flags = NOBLUDGEON w_class = 2.0 origin_tech = "syndicate=2" var/datum/wires/explosive/c4/wires = null diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index f6758e53e6..7264b11fe1 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -5,7 +5,7 @@ icon_state = "fire_extinguisher0" item_state = "fire_extinguisher" hitsound = 'sound/weapons/smash.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 10 w_class = 3.0 throw_speed = 2 @@ -27,7 +27,6 @@ icon_state = "miniFE0" item_state = "miniFE" hitsound = null //it is much lighter, after all. - flags = FPRINT | TABLEPASS throwforce = 2 w_class = 2.0 force = 3.0 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 3830f105fd..50508594cf 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/flamethrower.dmi' icon_state = "flamethrowerbase" item_state = "flamethrower_0" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 3.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index d1fb667e99..f501753807 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -7,7 +7,7 @@ item_state = "flashbang" throw_speed = 4 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT var/active = 0 var/det_time = 50 diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm index d518567a5d..139baacb6f 100644 --- a/code/game/objects/items/weapons/grenades/smokebomb.dm +++ b/code/game/objects/items/weapons/grenades/smokebomb.dm @@ -5,7 +5,6 @@ icon_state = "flashbang" det_time = 20 item_state = "flashbang" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/datum/effect/effect/system/smoke_spread/bad/smoke diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index a1ea44daa9..246636890d 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -4,7 +4,7 @@ gender = PLURAL icon = 'icons/obj/items.dmi' icon_state = "handcuff" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 5 w_class = 2.0 diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index f3d5703225..0b492c2659 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -10,7 +10,6 @@ desc = "A small satchel made for organizing seeds." var/mode = 1; //0 = pick one at a time, 1 = pick all on tile var/capacity = 500; //the number of seeds it can carry. - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 1 var/list/item_quants = list() diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 21833cc212..66d8c6d01b 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -22,7 +22,7 @@ throwforce = 5.0 throw_speed = 3 throw_range = 5 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") sharp = 0 @@ -137,7 +137,7 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "knife" desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT sharp = 1 edge = 1 force = 10.0 @@ -169,7 +169,7 @@ icon = 'icons/obj/kitchen.dmi' icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 throwforce = 8.0 @@ -246,7 +246,7 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT matter = list("metal" = 3000) /* // NOPE var/food_total= 0 diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 0de1036209..1b1d5b04f3 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -5,7 +5,7 @@ var/active_w_class sharp = 0 edge = 0 - flags = FPRINT | TABLEPASS | NOBLOODY + flags = NOBLOODY /obj/item/weapon/melee/energy/proc/activate(mob/living/user) anchored = 1 @@ -73,7 +73,7 @@ throw_speed = 1 throw_range = 5 w_class = 3 - flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS | NOBLOODY + flags = CONDUCT | NOSHIELD | NOBLOODY origin_tech = "magnets=3;combat=4" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") sharp = 1 @@ -109,7 +109,7 @@ throw_speed = 1 throw_range = 5 w_class = 2 - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY origin_tech = "magnets=3;syndicate=4" /obj/item/weapon/melee/energy/sword/dropped(var/mob/user) @@ -177,7 +177,7 @@ throw_speed = 1 throw_range = 1 w_class = 4.0//So you can't hide it in your pocket or some such. - flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY + flags = NOSHIELD | NOBLOODY attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") var/mob/living/creator var/datum/effect/effect/system/spark_spread/spark_system diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 36dbc26537..c5efdae1fb 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -3,7 +3,7 @@ desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" item_state = "chain" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 10 throwforce = 7 diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 017db06a04..fe9945f8f0 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -8,7 +8,6 @@ throw_speed = 5 throw_range = 10 w_class = 3.0 - flags = FPRINT | TABLEPASS attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") var/mopping = 0 var/mopcount = 0 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 2c0e1d812d..fc122c185c 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -13,7 +13,7 @@ var/global/list/cached_icons = list() amount_per_transfer_from_this = 10 possible_transfer_amounts = list(10,20,30,50,70) volume = 70 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER var/paint_type = "" afterattack(turf/simulated/target, mob/user, proximity) diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index b0b8fbdc04..5cab6b24cb 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -5,7 +5,6 @@ icon_state = "cell" item_state = "cell" origin_tech = "powerstorage=1" - flags = FPRINT|TABLEPASS force = 5.0 throwforce = 5.0 throw_speed = 3 diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index e9aa6f3ca6..1ece5817f9 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/wizard.dmi' icon_state = "scroll" var/uses = 4.0 - flags = FPRINT | TABLEPASS w_class = 2.0 item_state = "paper" throw_speed = 4 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 2814c6fe4d..65f1abddfb 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -6,7 +6,7 @@ desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder." icon = 'icons/obj/weapons.dmi' icon_state = "riot" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK force = 5.0 throwforce = 5.0 @@ -39,7 +39,7 @@ desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere." icon = 'icons/obj/weapons.dmi' icon_state = "eshield0" // eshield1 for expanded - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 3.0 throwforce = 5.0 throw_speed = 1 @@ -88,7 +88,7 @@ icon = 'icons/obj/device.dmi' icon_state = "shield0" var/active = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" throwforce = 10.0 throw_speed = 2 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 0304aac95e..2b38772b86 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -9,7 +9,6 @@ icon_state = "backpack" item_state = "backpack" w_class = 4.0 - flags = FPRINT|TABLEPASS slot_flags = SLOT_BACK //ERROOOOO max_w_class = 3 max_combined_w_class = 21 diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index b2d54be947..88db6abd3e 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -21,7 +21,6 @@ display_contents_with_number = 0 // UNStABLE AS FuCK, turn on when it stops crashing clients use_to_pickup = 1 slot_flags = SLOT_BELT - flags = FPRINT | TABLEPASS // ----------------------------- // Trash bag diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 941fdaae3b..0c4a94eb86 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "utilitybelt" item_state = "utility" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 0545f85d21..822b986488 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -5,7 +5,6 @@ throw_speed = 1 throw_range = 5 w_class = 3.0 - flags = FPRINT | TABLEPASS var/mob/affecting = null var/deity_name = "Christ" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 4b9a7dbe64..ced886bedd 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -444,7 +444,6 @@ item_state = "zippo" storage_slots = 10 w_class = 1 - flags = TABLEPASS slot_flags = SLOT_BELT can_hold = list("/obj/item/weapon/flame/match") diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 126d60e1e4..f6addee005 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -3,7 +3,7 @@ desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." icon_state = "briefcase" item_state = "briefcase" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 8.0 throw_speed = 1 throw_range = 4 diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 64d8e89bb7..2ddc1da1d3 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -69,7 +69,6 @@ item_state = "candlebox5" storage_slots = 5 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT @@ -133,7 +132,6 @@ item_state = "cigpacket" w_class = 1 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT storage_slots = 6 can_hold = list("/obj/item/clothing/mask/cigarette") @@ -190,7 +188,6 @@ icon = 'icons/obj/cigarettes.dmi' w_class = 1 throwforce = 2 - flags = TABLEPASS slot_flags = SLOT_BELT storage_slots = 7 can_hold = list("/obj/item/clothing/mask/cigarette/cigar") diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index b3e94bf4d9..74c47cab05 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -145,7 +145,6 @@ icon_state = "secure" item_state = "sec-case" desc = "A large briefcase with a digital locking system." - flags = FPRINT | TABLEPASS force = 8.0 throw_speed = 1 throw_range = 4 @@ -216,7 +215,6 @@ icon_opened = "safe0" icon_locking = "safeb" icon_sparking = "safespark" - flags = FPRINT | TABLEPASS force = 8.0 w_class = 8.0 max_w_class = 8 diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index b6b11af106..a585b96ce2 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/storage.dmi' icon_state = "red" item_state = "toolbox_red" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 5.0 throwforce = 10.0 throw_speed = 1 diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index d9d7ec0126..383e21ff4f 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -17,7 +17,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "retractor" matter = list("metal" = 10000, "glass" = 5000) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -30,7 +30,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "hemostat" matter = list("metal" = 5000, "glass" = 2500) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" attack_verb = list("attacked", "pinched") @@ -44,7 +44,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "cautery" matter = list("metal" = 5000, "glass" = 2500) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT w_class = 2.0 origin_tech = "materials=1;biotech=1" attack_verb = list("burnt") @@ -59,7 +59,7 @@ icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' matter = list("metal" = 15000, "glass" = 10000) - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 origin_tech = "materials=1;biotech=1" @@ -78,7 +78,7 @@ desc = "Cut, cut, and once more cut." icon = 'icons/obj/surgery.dmi' icon_state = "scalpel" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 10.0 sharp = 1 edge = 1 @@ -134,7 +134,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "saw3" hitsound = 'sound/weapons/circsawhit.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 15.0 w_class = 2.0 throwforce = 9.0 diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 34516e875f..e7d46bc68e 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -21,7 +21,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "baton" item_state = "classic_baton" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 10 @@ -70,7 +69,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "telebaton_0" item_state = "telebaton_0" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT w_class = 2 force = 3 diff --git a/code/game/objects/items/weapons/table_rack_parts.dm b/code/game/objects/items/weapons/table_rack_parts.dm index fff0deed5f..2dfc3f4730 100644 --- a/code/game/objects/items/weapons/table_rack_parts.dm +++ b/code/game/objects/items/weapons/table_rack_parts.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/items.dmi' icon_state = "table_parts" matter = list("metal" = 3750) - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") var/build_type = /obj/structure/table @@ -50,7 +50,7 @@ icon = 'icons/obj/items.dmi' icon_state = "reinf_tableparts" matter = list("metal" = 7500) - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT stack_types = list(/obj/item/stack/sheet/metal, /obj/item/stack/rods) build_type = /obj/structure/table/reinforced diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 23a5690e3f..02d50e0d26 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -85,7 +85,7 @@ name = "phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon_state = "phoron" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = null //they have no straps! @@ -114,7 +114,7 @@ name = "emergency oxygen tank" desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 force = 4.0 diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index d7a05a7173..551e4790dc 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -4,7 +4,7 @@ /obj/item/weapon/tank name = "tank" icon = 'icons/obj/tank.dmi' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK w_class = 3 diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index e04a5f0888..d8c811d2f6 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -16,7 +16,7 @@ var/frequency = 1451 var/broadcasting = null var/listening = 1.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 2.0 item_state = "electronic" throw_speed = 4 diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 62793f0b2c..14f9ad482a 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -19,7 +19,7 @@ desc = "A wrench with many common uses. Can be usually found in your hand." icon = 'icons/obj/items.dmi' icon_state = "wrench" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 throwforce = 7.0 @@ -37,7 +37,7 @@ desc = "You can be totally screwwy with this." icon = 'icons/obj/items.dmi' icon_state = "screwdriver" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 w_class = 1.0 @@ -96,7 +96,7 @@ desc = "This cuts wires." icon = 'icons/obj/items.dmi' icon_state = "cutters" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 6.0 throw_speed = 2 @@ -131,7 +131,7 @@ name = "welding tool" icon = 'icons/obj/items.dmi' icon_state = "welder" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT //Amount of OUCH when it's thrown @@ -433,7 +433,7 @@ desc = "Used to remove floors and to pry open doors." icon = 'icons/obj/items.dmi' icon_state = "crowbar" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 5.0 throwforce = 7.0 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index c8e67078b2..2442320524 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -156,7 +156,7 @@ force_wielded = 30 wieldsound = 'sound/weapons/saberon.ogg' unwieldsound = 'sound/weapons/saberoff.ogg' - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD origin_tech = "magnets=3;syndicate=4" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = 1 diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index a584f3db4b..b18198cbc0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -3,7 +3,6 @@ name = "banhammer" icon = 'icons/obj/items.dmi' icon_state = "toyhammer" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT throwforce = 0 w_class = 2.0 @@ -20,7 +19,6 @@ desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae." icon_state = "nullrod" item_state = "nullrod" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 15 throw_speed = 1 @@ -77,7 +75,6 @@ desc = "This thing is so unspeakably shitty you are having a hard time even holding it." icon_state = "sord" item_state = "sord" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT force = 2 throwforce = 1 @@ -99,7 +96,7 @@ desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" item_state = "claymore" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 40 throwforce = 10 @@ -124,7 +121,7 @@ desc = "Woefully underpowered in D20" icon_state = "katana" item_state = "katana" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT | SLOT_BACK force = 40 throwforce = 10 diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 4aaae90a9a..67c16a0eb5 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/closet.dmi' icon_state = "closed" density = 1 - flags = FPRINT var/icon_closed = "closed" var/icon_opened = "open" var/opened = 0 diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index e9fdd40966..d2b1f56eb3 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/storage.dmi' icon_state = "densecrate" density = 1 - flags = FPRINT /obj/structure/largecrate/attack_hand(mob/user as mob) user << "You need a crowbar to pry this open!" diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 9bb1cec396..2b06bcb534 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -5,7 +5,7 @@ icon_state = "grille" density = 1 anchored = 1 - flags = FPRINT | CONDUCT + flags = CONDUCT pressure_resistance = 5*ONE_ATMOSPHERE layer = 2.9 explosion_resistance = 5 diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 06aae9557b..ec568b8408 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -5,7 +5,7 @@ icon_state = "mopbucket" density = 1 pressure_resistance = 5 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 1f23e10411..a5ad84c20e 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -3,7 +3,6 @@ desc = "A board for pinning important notices upon." icon = 'icons/obj/stationobjs.dmi' icon_state = "nboard00" - flags = FPRINT density = 0 anchored = 1 var/notices = 0 diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index f412467c65..027d382795 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/objects.dmi' icon_state = "stool" anchored = 1.0 - flags = FPRINT pressure_resistance = 15 /obj/structure/stool/ex_act(severity) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index b48651e8b7..ca4717307a 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -3,7 +3,7 @@ desc = "A small electronic device that should never exist." icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT w_class = 2.0 matter = list("metal" = 100) throwforce = 2 diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index cb0a90c454..ed3edf5fc0 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -6,7 +6,7 @@ w_class = 3.0 throw_speed = 2 throw_range = 4 - flags = FPRINT | TABLEPASS| CONDUCT //Copied this from old code, so this may or may not be necessary + flags = CONDUCT //Copied this from old code, so this may or may not be necessary var/status = 0 //0 - not readied //1 - bomb finished with welder var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 82f7450981..f3bf44b53b 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" item_state = "assembly" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT throwforce = 5 w_class = 2.0 throw_speed = 3 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 3a70e85399..89699b3427 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -168,7 +168,6 @@ var/visible = 0.0 var/left = null anchored = 1.0 - flags = TABLEPASS /obj/effect/beam/i_beam/proc/hit() diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index 880424e66b..4cbef90875 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -6,7 +6,7 @@ var/obj/item/device/radio/electropack/part2 = null var/status = 0 w_class = 5.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/shock_kit/Del() del(part1) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 83a0e1864d..466800aec0 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -365,7 +365,6 @@ BLIND // can't see anything icon = 'icons/obj/clothing/suits.dmi' name = "suit" var/fire_resist = T0C+100 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS allowed = list(/obj/item/weapon/tank/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) @@ -386,7 +385,6 @@ BLIND // can't see anything name = "under" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS permeability_coefficient = 0.90 - flags = FPRINT | TABLEPASS slot_flags = SLOT_ICLOTHING armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) w_class = 3 diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 3fc78b871a..2034aad363 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -2,7 +2,6 @@ name = "hard hat" desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight." icon_state = "hardhat0_yellow" - flags = FPRINT | TABLEPASS item_state = "hardhat0_yellow" brightness_on = 4 //luminosity when on light_overlay = "hardhat_light" @@ -21,7 +20,7 @@ item_state = "hardhat0_red" item_color = "red" name = "firefighter helmet" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE @@ -29,7 +28,7 @@ icon_state = "hardhat0_white" item_state = "hardhat0_white" item_color = "white" - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 1556b01ddc..eec6c828d8 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,7 +2,7 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | THICKMATERIAL + flags = HEADCOVERSEYES | THICKMATERIAL item_state = "helmet" armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -39,7 +39,7 @@ desc = "It's a helmet specifically designed to protect against close range attacks." icon_state = "riot" item_state = "helmet" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEEARS siemens_coefficient = 0.7 @@ -48,7 +48,7 @@ name = "\improper SWAT helmet" desc = "They're often used by highly trained Swat Members." icon_state = "swat" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "swat" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES @@ -60,7 +60,7 @@ name = "\improper Thunderdome helmet" desc = "'Let the battle commence!'" icon_state = "thunderdome" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD @@ -71,7 +71,7 @@ name = "gladiator helmet" desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR item_state = "gladiator" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES siemens_coefficient = 1 @@ -81,7 +81,7 @@ desc = "An armored helmet capable of being fitted with a multitude of attachments." icon_state = "swathelm" item_state = "helmet" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES sprite_sheets = list( "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', "Unathi" = 'icons/mob/species/unathi/helmet.dmi', @@ -95,7 +95,7 @@ name = "Augment Array" desc = "A helmet with optical and cranial augments coupled to it." icon_state = "v62" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "v62" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 36fa4823e4..a46cead9f8 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -6,7 +6,6 @@ icon_state = "chefhat" item_state = "chefhat" desc = "The commander in chef's head wear." - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 //Captain: This probably shouldn't be space-worthy @@ -14,7 +13,6 @@ name = "captain's hat" icon_state = "captain" desc = "It's good being the king." - flags = FPRINT|TABLEPASS item_state = "caphat" siemens_coefficient = 0.9 @@ -23,7 +21,6 @@ name = "captain's cap" desc = "You fear to wear it for the negligence it brings." icon_state = "capcap" - flags = FPRINT|TABLEPASS flags_inv = 0 body_parts_covered = 0 cold_protection = HEAD @@ -36,7 +33,7 @@ name = "chaplain's hood" desc = "It's hood that covers the head. It keeps you warm during the space winters." icon_state = "chaplain_hood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR siemens_coefficient = 0.9 body_parts_covered = HEAD|EYES @@ -45,7 +42,7 @@ name = "nun hood" desc = "Maximum piety in this star system." icon_state = "nun_hood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR siemens_coefficient = 0.9 //Mime @@ -53,7 +50,6 @@ name = "beret" desc = "A beret, an artists favorite headwear." icon_state = "beret" - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -62,32 +58,26 @@ name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." icon_state = "beret_badge" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/alt name = "officer beret" desc = "A navy blue beret with an officer's rank emblem. For officers that are more inclined towards style than safety." icon_state = "officerberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/hos name = "officer beret" desc = "A navy blue beret with a commander's rank emblem. For officers that are more inclined towards style than safety." icon_state = "hosberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/sec/warden name = "warden beret" desc = "A navy blue beret with a warden's rank emblem. For officers that are more inclined towards style than safety." icon_state = "wardenberet" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/eng name = "engineering beret" desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety." icon_state = "e_beret_badge" - flags = FPRINT | TABLEPASS /obj/item/clothing/head/beret/jan name = "purple beret" desc = "A stylish, if purple, beret." icon_state = "purpleberet" - flags = FPRINT | TABLEPASS //Medical @@ -95,7 +85,7 @@ name = "surgical cap" desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs." icon_state = "surgcap_blue" - flags = FPRINT | TABLEPASS | BLOCKHEADHAIR + flags = BLOCKHEADHAIR /obj/item/clothing/head/surgery/purple desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is deep purple." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 991d01a216..7b13c10b4b 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -4,7 +4,6 @@ name = "\improper CentComm. hat" icon_state = "centcom" desc = "It's good to be emperor." - flags = FPRINT|TABLEPASS item_state = "centhat" siemens_coefficient = 0.9 body_parts_covered = 0 @@ -14,7 +13,6 @@ icon_state = "hairflower" desc = "Smells nice." item_state = "hairflower" - flags = FPRINT|TABLEPASS slot_flags = SLOT_HEAD | SLOT_EARS body_parts_covered = 0 @@ -29,7 +27,6 @@ desc = "It's an amish looking hat." icon_state = "tophat" item_state = "that" - flags = FPRINT|TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -37,21 +34,18 @@ name = "redcoat's hat" icon_state = "redcoat" desc = "'I guess it's a redhead.'" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/mailman name = "station cap" icon_state = "mailman" desc = "Choo-choo!" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/plaguedoctorhat name = "plague doctor's hat" desc = "These were once used by Plague doctors. They're pretty much useless." icon_state = "plaguedoctor" - flags = FPRINT | TABLEPASS permeability_coefficient = 0.01 siemens_coefficient = 0.9 body_parts_covered = 0 @@ -60,14 +54,13 @@ name = "hastur's hood" desc = "It's unspeakably stylish" icon_state = "hasturhood" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR + flags = HEADCOVERSEYES|BLOCKHAIR body_parts_covered = HEAD|FACE|EYES /obj/item/clothing/head/nursehat name = "nurse's hat" desc = "It allows quick identification of trained medical personnel." icon_state = "nursehat" - flags = FPRINT|TABLEPASS siemens_coefficient = 0.9 body_parts_covered = 0 @@ -76,7 +69,7 @@ icon_state = "syndicate" item_state = "syndicate" desc = "A plastic replica of a bloodthirsty mercenary's space helmet, you'll look just like a real murderous criminal operative in this! This is a toy, it is not made for use in space!" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE siemens_coefficient = 2.0 body_parts_covered = HEAD|FACE|EYES @@ -85,7 +78,7 @@ name = "cueball helmet" desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR item_state="cueball" flags_inv = 0 body_parts_covered = HEAD|FACE|EYES @@ -95,7 +88,6 @@ desc = "It's a green bandana with some fine nanotech lining." icon_state = "greenbandana" item_state = "greenbandana" - flags = FPRINT|TABLEPASS flags_inv = 0 body_parts_covered = 0 @@ -104,7 +96,7 @@ desc = "A helmet made out of a box." icon_state = "cardborg_h" item_state = "cardborg_h" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH + flags = HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES @@ -113,7 +105,7 @@ desc = "fight for what's righteous!" icon_state = "justicered" item_state = "justicered" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR /obj/item/clothing/head/justice/blue icon_state = "justiceblue" @@ -135,7 +127,6 @@ name = "rabbit ears" desc = "Wearing these makes you looks useless, and only good for your sex appeal." icon_state = "bunny" - flags = FPRINT | TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/flatcap @@ -170,7 +161,6 @@ desc = "Gentleman, elite aboard!" icon_state = "bowler" item_state = "bowler" - flags = FPRINT | TABLEPASS body_parts_covered = 0 //stylish bs12 hats @@ -180,7 +170,6 @@ icon_state = "bowler_hat" item_state = "bowler_hat" desc = "For the gentleman of distinction." - flags = FPRINT|TABLEPASS body_parts_covered = 0 /obj/item/clothing/head/beaverhat @@ -188,35 +177,30 @@ icon_state = "beaver_hat" item_state = "beaver_hat" desc = "Soft felt makes this hat both comfortable and elegant." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/boaterhat name = "boater hat" icon_state = "boater_hat" item_state = "boater_hat" desc = "The ultimate in summer fashion." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/fedora name = "\improper fedora" icon_state = "fedora" item_state = "fedora" desc = "A sharp, stylish hat." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/feathertrilby name = "\improper feather trilby" icon_state = "feather_trilby" item_state = "feather_trilby" desc = "A sharp, stylish hat with a feather." - flags = FPRINT|TABLEPASS /obj/item/clothing/head/fez name = "\improper fez" icon_state = "fez" item_state = "fez" desc = "You should wear a fez. Fezzes are cool." - flags = FPRINT|TABLEPASS //end bs12 hats @@ -225,7 +209,7 @@ desc = "Eeeee~heheheheheheh!" icon_state = "witch" item_state = "witch" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 2.0 /obj/item/clothing/head/chicken @@ -233,7 +217,7 @@ desc = "Bkaw!" icon_state = "chickenhead" item_state = "chickensuit" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 0.7 body_parts_covered = HEAD|FACE|EYES @@ -242,7 +226,7 @@ desc = "Fuzzy." icon_state = "bearpelt" item_state = "bearpelt" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 0.7 /obj/item/clothing/head/xenos @@ -250,7 +234,7 @@ icon_state = "xenos" item_state = "xenos_helm" desc = "A helmet made out of chitinous alien hide." - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE siemens_coefficient = 2.0 body_parts_covered = HEAD|FACE|EYES @@ -260,7 +244,7 @@ desc = "A stylish monstrosity unearthed from Earth's Renaissance period. With this most distinguish'd wig, you'll be ready for your next soiree!" icon_state = "philosopher_wig" item_state = "philosopher_wig" - flags = FPRINT | TABLEPASS | BLOCKHAIR + flags = BLOCKHAIR siemens_coefficient = 2.0 //why is it so conductive?! body_parts_covered = 0 diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index ba72b92754..c824563ea8 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -15,7 +15,7 @@ name = "welding helmet" desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" - flags = (FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH) + flags = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" matter = list("metal" = 3000, "glass" = 1000) var/up = 0 @@ -58,7 +58,7 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES var/onfire = 0.0 var/status = 0 var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage @@ -123,7 +123,7 @@ icon_state = "hardhat0_pumpkin"//Could stand to be renamed item_state = "hardhat0_pumpkin" item_color = "pumpkin" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR + flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|EYES brightness_on = 2 @@ -137,7 +137,6 @@ name = "kitty ears" desc = "A pair of kitty ears. Meow!" icon_state = "kitty" - flags = FPRINT | TABLEPASS body_parts_covered = 0 var/icon/mob var/icon/mob2 diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index dcf2eb1e48..1deff69402 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -2,7 +2,7 @@ name = "cargo cap" desc = "It's a baseball hat in a tasteless yellow color." icon_state = "cargosoft" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES + flags = HEADCOVERSEYES item_state = "helmet" item_color = "cargo" var/flipped = 0 diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index eeaf55c557..dfa7e120f7 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -3,7 +3,7 @@ desc = "LOADSAMONEY" icon_state = "balaclava" item_state = "balaclava" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = FACE w_class = 2 @@ -17,7 +17,7 @@ desc = "Designed to both hide identities and keep your face comfy and warm." icon_state = "swatclava" item_state = "balaclava" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE w_class = 2 sprite_sheets = list( @@ -30,7 +30,7 @@ desc = "Worn by robust fighters, flying high to defeat their foes!" icon_state = "luchag" item_state = "luchag" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = HEAD|FACE w_class = 2 diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 2780ff4be5..a2ed54b1d4 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -3,7 +3,7 @@ name = "breath mask" icon_state = "breath" item_state = "breath" - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | AIRTIGHT + flags = MASKCOVERSMOUTH | AIRTIGHT body_parts_covered = 0 w_class = 2 gas_transfer_coefficient = 0.10 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index c006cd892d..1982409d6f 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -2,7 +2,7 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. Filters harmful gases from the air." icon_state = "gas_alt" - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT + flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT flags_inv = HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = FACE|EYES w_class = 3.0 diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 758baae8b9..412f69bda6 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -3,7 +3,7 @@ desc = "To stop that awful noise." icon_state = "muzzle" item_state = "muzzle" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH body_parts_covered = 0 w_class = 2 gas_transfer_coefficient = 0.90 @@ -20,7 +20,7 @@ icon_state = "sterile" item_state = "sterile" w_class = 2 - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH body_parts_covered = 0 gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 @@ -30,7 +30,6 @@ name = "fake moustache" desc = "Warning: moustache is fake." icon_state = "fake-moustache" - flags = FPRINT|TABLEPASS flags_inv = HIDEFACE body_parts_covered = 0 @@ -38,7 +37,6 @@ name = "Snorkel" desc = "For the Swimming Savant." icon_state = "snorkel" - flags = FPRINT|TABLEPASS flags_inv = HIDEFACE body_parts_covered = 0 @@ -49,7 +47,7 @@ desc = "A blue neck scarf." icon_state = "blueneckscarf" item_state = "blueneckscarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -58,7 +56,7 @@ desc = "A red and white checkered neck scarf." icon_state = "redwhite_scarf" item_state = "redwhite_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -67,7 +65,7 @@ desc = "A green neck scarf." icon_state = "green_scarf" item_state = "green_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 @@ -76,7 +74,7 @@ desc = "A stealthy, dark scarf." icon_state = "ninja_scarf" item_state = "ninja_scarf" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 siemens_coefficient = 0 @@ -86,7 +84,7 @@ desc = "A rubber pig mask." icon_state = "pig" item_state = "pig" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE w_class = 2 siemens_coefficient = 0.9 @@ -97,7 +95,7 @@ desc = "A mask made of soft vinyl and latex, representing the head of a horse." icon_state = "horsehead" item_state = "horsehead" - flags = FPRINT|TABLEPASS|BLOCKHAIR + flags = BLOCKHAIR flags_inv = HIDEFACE body_parts_covered = HEAD|FACE|EYES w_class = 2 diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index 81d4ef028c..5ca604b2c0 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -4,7 +4,7 @@ icon_state = "capspace" item_state = "capspacehelmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Only for the most fashionable of military figureheads." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE flags_inv = HIDEFACE permeability_coefficient = 0.01 armor = list(melee = 65, bullet = 50, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 50) @@ -18,7 +18,7 @@ w_class = 4 gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index cc6cbd622b..e22a6044ce 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -17,7 +17,7 @@ w_class = 4 gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 @@ -34,7 +34,7 @@ icon_state = "deathsquad" item_state = "deathsquad" armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 100, rad = 60) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL siemens_coefficient = 0.6 /obj/item/clothing/head/helmet/space/deathsquad/beret @@ -42,7 +42,7 @@ desc = "An armored beret commonly used by special operations officers." icon_state = "beret_badge" armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE siemens_coefficient = 0.9 //Space santa outfit suit @@ -50,7 +50,7 @@ name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE body_parts_covered = HEAD /obj/item/clothing/suit/space/santa @@ -59,7 +59,7 @@ icon_state = "santa" item_state = "santa" slowdown = 0 - flags = FPRINT | TABLEPASS | ONESIZEFITSALL | STOPSPRESSUREDMAGE + flags = ONESIZEFITSALL | STOPSPRESSUREDMAGE allowed = list(/obj/item) //for stuffing exta special presents @@ -70,7 +70,7 @@ icon_state = "pirate" item_state = "pirate" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE + flags = HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE body_parts_covered = 0 siemens_coefficient = 0.9 diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces.dm b/code/modules/clothing/spacesuits/rig/rig_pieces.dm index 314af42e07..de18d5e020 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces.dm @@ -4,7 +4,7 @@ /obj/item/clothing/head/helmet/space/rig name = "helmet" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | THICKMATERIAL + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | THICKMATERIAL flags_inv = HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES heat_protection = HEAD|FACE|EYES @@ -14,7 +14,7 @@ /obj/item/clothing/gloves/rig name = "gauntlets" - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL body_parts_covered = HANDS heat_protection = HANDS cold_protection = HANDS @@ -36,7 +36,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS flags_inv = HIDEJUMPSUIT|HIDETAIL - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT + flags = STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT slowdown = 0 breach_threshold = 35 can_breach = 1 diff --git a/code/modules/clothing/spacesuits/rig/suits/light.dm b/code/modules/clothing/spacesuits/rig/suits/light.dm index 3568a4b64d..c20371071b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/light.dm +++ b/code/modules/clothing/spacesuits/rig/suits/light.dm @@ -7,7 +7,7 @@ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell) armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) slowdown = 0 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL offline_slowdown = 0 offline_vision_restriction = 0 @@ -46,7 +46,7 @@ /obj/item/clothing/head/helmet/space/rig/mask name = "mask" - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL /obj/item/weapon/rig/light/ninja name = "ominous suit control module" diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 2ffe521d19..605a40a1b6 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -6,7 +6,7 @@ name = "Space helmet" icon_state = "space" desc = "A special helmet designed for work in a hazardous, low-pressure environment." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | AIRTIGHT item_state = "space" permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) @@ -53,7 +53,7 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit) slowdown = 3 diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index f5c9f4501e..9be723a72f 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -2,7 +2,7 @@ /obj/item/clothing/suit/armor allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) body_parts_covered = UPPER_TORSO|LOWER_TORSO - flags = FPRINT | TABLEPASS | THICKMATERIAL + flags = THICKMATERIAL cold_protection = UPPER_TORSO|LOWER_TORSO min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE @@ -17,7 +17,7 @@ icon_state = "armor" item_state = "armor" blood_overlay_type = "armor" - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/vest/security @@ -71,7 +71,7 @@ item_state = "swat_suit" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL + flags = STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1 @@ -98,7 +98,7 @@ icon_state = "detective-armor" item_state = "armor" blood_overlay_type = "armor" - flags = FPRINT | TABLEPASS | ONESIZEFITSALL + flags = ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) @@ -113,7 +113,6 @@ item_state = "reactiveoff" blood_overlay_type = "armor" slowdown = 1 - flags = FPRINT | TABLEPASS armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/suit/armor/reactive/IsShield() diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index b3911d8d68..037eb6833e 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -4,7 +4,7 @@ icon_state = "bio" desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES body_parts_covered = HEAD|FACE|EYES @@ -18,7 +18,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 1.0 allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index aa530f7567..a861930f73 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -36,7 +36,6 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|ARMS @@ -45,7 +44,6 @@ desc = "Yarr." icon_state = "hgpirate" item_state = "hgpirate" - flags = FPRINT | TABLEPASS flags_inv = HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS @@ -55,7 +53,7 @@ desc = "Suit for a cyborg costume." icon_state = "death" item_state = "death" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT fire_resist = T0C+5200 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT @@ -65,7 +63,6 @@ desc = "A heavy great coat" icon_state = "nazi" item_state = "nazi" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/johnny_coat @@ -73,7 +70,6 @@ desc = "Johnny~~" icon_state = "johnny" item_state = "johnny" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/justice @@ -81,7 +77,6 @@ desc = "This pretty much looks ridiculous." icon_state = "justice" item_state = "justice" - flags = FPRINT | TABLEPASS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET @@ -91,7 +86,6 @@ desc = "This robe commands authority." icon_state = "judge" item_state = "judge" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/spacecash) flags_inv = HIDEJUMPSUIT @@ -120,7 +114,6 @@ item_state = "space_suit_syndicate" desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" w_class = 3 - flags = FPRINT | TABLEPASS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET @@ -223,21 +216,18 @@ desc = "A long, thick black leather coat." icon_state = "leathercoat" item_state = "leathercoat" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/browncoat name = "brown leather coat" desc = "A long, brown leather coat." icon_state = "browncoat" item_state = "browncoat" - flags = FPRINT | TABLEPASS /obj/item/clothing/suit/neocoat name = "black coat" desc = "A flowing, black coat." icon_state = "neocoat" item_state = "neocoat" - flags = FPRINT | TABLEPASS //stripper /obj/item/clothing/under/stripper @@ -361,7 +351,6 @@ desc = "A thick, well-worn WW2 leather bomber jacket." icon_state = "bomber" item_state = "bomber" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|ARMS cold_protection = UPPER_TORSO|ARMS min_cold_protection_temperature = T0C - 20 diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index e75b312690..d0138b283b 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -21,7 +21,7 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher) slowdown = 1.0 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE + flags = STOPSPRESSUREDMAGE heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -47,7 +47,7 @@ name = "bomb hood" desc = "Use in case of bomb." icon_state = "bombsuit" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES body_parts_covered = HEAD|FACE|EYES @@ -62,7 +62,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS slowdown = 2 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT|HIDETAIL @@ -89,7 +88,7 @@ name = "Radiation Hood" icon_state = "rad" desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR body_parts_covered = HEAD|FACE|EYES armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 1b4617afc6..483974f7a2 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -3,7 +3,6 @@ icon_state = "black" item_state = "bl_suit" item_color = "black" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/blackf name = "feminine black jumpsuit" @@ -17,21 +16,18 @@ icon_state = "blue" item_state = "b_suit" item_color = "blue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/green name = "green jumpsuit" icon_state = "green" item_state = "g_suit" item_color = "green" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/grey name = "grey jumpsuit" icon_state = "grey" item_state = "gy_suit" item_color = "grey" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/orange name = "orange jumpsuit" @@ -41,35 +37,30 @@ item_color = "orange" has_sensor = 2 sensor_mode = 3 - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/pink name = "pink jumpsuit" icon_state = "pink" item_state = "p_suit" item_color = "pink" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/red name = "red jumpsuit" icon_state = "red" item_state = "r_suit" item_color = "red" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/white name = "white jumpsuit" icon_state = "white" item_state = "w_suit" item_color = "white" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/color/yellow name = "yellow jumpsuit" icon_state = "yellow" item_state = "y_suit" item_color = "yellow" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/psyche name = "psychedelic jumpsuit" @@ -88,7 +79,6 @@ desc = "aqua" icon_state = "aqua" item_color = "aqua" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/purple name = "purple jumpsuit" @@ -120,14 +110,12 @@ desc = "lightbrown" icon_state = "lightbrown" item_color = "lightbrown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/brown name = "brown jumpsuit" desc = "brown" icon_state = "brown" item_color = "brown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/yellowgreen name = "yellowgreen jumpsuit" @@ -140,7 +128,6 @@ desc = "darkblue" icon_state = "darkblue" item_color = "darkblue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lightred name = "lightred jumpsuit" @@ -153,4 +140,3 @@ desc = "darkred" icon_state = "darkred" item_color = "darkred" - flags = FPRINT | TABLEPASS diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index dc6149562d..9ac511b4f7 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -6,7 +6,6 @@ icon_state = "ba_suit" item_state = "ba_suit" item_color = "ba_suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define. @@ -15,7 +14,6 @@ icon_state = "captain" item_state = "caparmor" item_color = "captain" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/cargo @@ -32,7 +30,6 @@ icon_state = "cargotech" item_state = "lb_suit" item_color = "cargo" - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -42,7 +39,6 @@ icon_state = "chaplain" item_state = "bl_suit" item_color = "chapblack" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/chef @@ -50,7 +46,6 @@ name = "chef's uniform" icon_state = "chef" item_color = "chef" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/clown @@ -59,7 +54,6 @@ icon_state = "clown" item_state = "clown" item_color = "clown" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/head_of_personnel @@ -68,7 +62,6 @@ icon_state = "hop" item_state = "b_suit" item_color = "hop" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/head_of_personnel_whimsy desc = "A blue jacket and red tie, with matching red cuffs! Snazzy. Wearing this makes you feel more important than your job title does." @@ -76,7 +69,6 @@ icon_state = "hopwhimsy" item_state = "hopwhimsy" item_color = "hopwhimsy" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/hydroponics @@ -86,7 +78,6 @@ item_state = "g_suit" item_color = "hydroponics" permeability_coefficient = 0.50 - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/internalaffairs @@ -95,7 +86,6 @@ icon_state = "internalaffairs" item_state = "internalaffairs" item_color = "internalaffairs" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/janitor @@ -104,13 +94,11 @@ icon_state = "janitor" item_color = "janitor" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lawyer desc = "Slick threads." name = "Lawyer suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/lawyer/black @@ -176,7 +164,6 @@ icon_state = "mime" item_state = "mime" item_color = "mime" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/miner desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty." diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index f348b801a5..0b8cebe57a 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -6,7 +6,6 @@ item_state = "g_suit" item_color = "chief" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/atmospheric_technician desc = "It's a jumpsuit worn by atmospheric technicians." @@ -14,7 +13,6 @@ icon_state = "atmos" item_state = "atmos_suit" item_color = "atmos" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/engineer desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding." @@ -23,7 +21,6 @@ item_state = "engi_suit" item_color = "engine" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/roboticist desc = "It's a slimming black with reinforced seams; great for industrial work." diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 8a09e0ce57..40bc087429 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -8,7 +8,6 @@ item_state = "g_suit" item_color = "director" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/research_director/rdalt desc = "A dress suit and slacks stained with hard work and dedication to science. Perhaps other things as well, but mostly hard work and dedication." @@ -17,7 +16,6 @@ item_state = "rdalt" item_color = "rdalt" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/research_director/dress_rd name = "research director dress uniform" @@ -25,7 +23,6 @@ icon_state = "dress_rd" item_color = "dress_rd" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS /obj/item/clothing/under/rank/scientist @@ -36,7 +33,6 @@ item_color = "sciencewhite" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/chemist @@ -68,7 +64,6 @@ item_color = "geneticswhite" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/virologist desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." @@ -116,28 +111,24 @@ item_color = "medical" permeability_coefficient = 0.50 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/blue name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." icon_state = "scrubsblue" item_color = "scrubsblue" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/green name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green." icon_state = "scrubsgreen" item_color = "scrubsgreen" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/medical/purple name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple." icon_state = "scrubspurple" item_color = "scrubspurple" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/psych desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist." @@ -145,7 +136,6 @@ icon_state = "psych" item_state = "w_suit" item_color = "psych" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/psych/turtleneck desc = "A turqouise turtleneck and a pair of dark blue slacks, belonging to a psychologist." @@ -153,7 +143,6 @@ icon_state = "psychturtle" item_state = "b_suit" item_color = "psychturtle" - flags = FPRINT | TABLEPASS /* diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index f17832d7be..51464410a8 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -15,7 +15,6 @@ item_state = "r_suit" item_color = "warden" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/security @@ -25,7 +24,6 @@ item_state = "r_suit" item_color = "secred" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/dispatch @@ -35,7 +33,6 @@ item_state = "dispatch" item_color = "dispatch" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS siemens_coefficient = 0.9 @@ -46,7 +43,6 @@ item_state = "r_suit" item_color = "redshirt2" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/rank/security/corp @@ -66,7 +62,6 @@ item_state = "swatunder" item_color = "swatunder" armor = list(melee = 10, bullet = 5, laser = 5,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /* @@ -79,7 +74,6 @@ item_state = "det" item_color = "detective" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.9 /obj/item/clothing/under/det/black @@ -122,7 +116,6 @@ item_state = "r_suit" item_color = "hosred" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS siemens_coefficient = 0.8 /obj/item/clothing/under/rank/head_of_security/corp @@ -134,7 +127,7 @@ name = "Head of Security Hat" desc = "The hat of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" - flags = FPRINT | TABLEPASS | HEADCOVERSEYES + flags = HEADCOVERSEYES armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) flags_inv = HIDEEARS body_parts_covered = 0 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 6daa904453..ac8db0967b 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -31,7 +31,6 @@ name = "amish suit" icon_state = "sl_suit" item_color = "sl_suit" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/waiter name = "waiter's outfit" @@ -39,7 +38,6 @@ icon_state = "waiter" item_state = "waiter" item_color = "waiter" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/rank/mailman name = "mailman's jumpsuit" @@ -93,7 +91,6 @@ w_class = 4//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE @@ -106,7 +103,6 @@ desc = "it's a cybernetically enhanced jumpsuit used for administrative duties." gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS @@ -118,7 +114,6 @@ desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!" icon_state = "owl" item_color = "owl" - flags = FPRINT | TABLEPASS /obj/item/clothing/under/johnny name = "johnny~~ jumpsuit" diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index 0644af853d..494cb5e72a 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -2,7 +2,6 @@ name = "athletic shorts" desc = "95% Polyester, 5% Spandex!" gender = PLURAL - flags = FPRINT | TABLEPASS body_parts_covered = LOWER_TORSO /obj/item/clothing/under/shorts/red diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index b70df2c84b..050a2716e0 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -5,7 +5,6 @@ icon_state = "bluetie" item_state = "" //no inhands item_color = "bluetie" - flags = FPRINT | TABLEPASS slot_flags = SLOT_TIE w_class = 2.0 var/obj/item/clothing/under/has_suit = null //the suit the tie may be attached to diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 4d91497636..510417c0fb 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -407,7 +407,6 @@ item_state = "ciglit" w_class = 1 body_parts_covered = null - flags = FPRINT|TABLEPASS //Strange penlight, Nerezza: Asher Spock @@ -787,7 +786,6 @@ name = "colonial marine beret" desc = "A well-worn navy blue beret. The insignia of the Martian Colonial Marine Corps is affixed to the front." icon_state = "officerberet" - flags = FPRINT | TABLEPASS ////////////////////////////// Serithi - Adapted Security Helmet ////////////////////////////// @@ -841,7 +839,6 @@ /obj/item/weapon/reagent_containers/glass/bottle/fluff/nashi_bottle icon = 'icons/obj/chemical.dmi' - flags = FPRINT | TABLEPASS //Starting them with lids on them. Safety first! New(loc, var/color, var/labeled) ..() name = "[labeled] bottle" @@ -1073,7 +1070,6 @@ item_color = "jane_sid_suit" has_sensor = 2 sensor_mode = 3 - flags = FPRINT | TABLEPASS //Suit roll-down toggle. /obj/item/clothing/under/fluff/jane_sidsuit/verb/toggle_zipper() @@ -1137,7 +1133,6 @@ icon_state = "radi_pendant" item_state = "radi_pendant" item_color = "radi_pendant" - flags = FPRINT|TABLEPASS w_class = 2.0 //////////// Masks //////////// @@ -1149,7 +1144,7 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "flagmask" item_state = "flagmask" - flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH + flags = MASKCOVERSMOUTH w_class = 2 gas_transfer_coefficient = 0.90 */ @@ -1159,7 +1154,6 @@ desc = "A silver and emerald shamrock pendant. It has the initials \"M.K.\" engraved on the back." icon = 'icons/obj/custom_items.dmi' icon_state = "mara_kilpatrick_1" - flags = FPRINT|TABLEPASS w_class = 2 /////////////// Oen'g Issek Medical Mask ////////////////////////// @@ -1182,7 +1176,6 @@ item_state = "altair_locket" item_color = "altair_locket" slot_flags = 0 - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE @@ -1196,7 +1189,6 @@ item_state = "konaahirano" item_color = "konaahirano" slot_flags = 0 - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE var/obj/item/held //Item inside locket. @@ -1226,7 +1218,6 @@ desc = "This silvered medallion bears the symbol of the Hadii Clan of the Tajaran." icon = 'icons/obj/custom_items.dmi' icon_state = "nasir_khayyam_1" - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK | SLOT_TIE @@ -1237,7 +1228,6 @@ desc = "A brass necklace with a green emerald placed at the end. It has a small inscription on the top of the chain, saying \'Foster\'" icon = 'icons/obj/custom_items.dmi' icon_state = "ty_foster" - flags = FPRINT|TABLEPASS w_class = 2 ////// Apollon Pendant - Michael Guess - Dragor23 @@ -1246,7 +1236,6 @@ desc = "A pendant with the form of a sacrificial tripod, used in acient greece. It's a symbol of the Olympian Apollon, a god associated with oracles, poetry, the sun and healing." icon = 'icons/obj/custom_items.dmi' icon_state = "michael_guess_1" - flags = FPRINT|TABLEPASS w_class = 2 slot_flags = SLOT_MASK body_parts_covered = 0 diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 70c4dbca45..59b97ebb7c 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -23,7 +23,7 @@ possible_transfer_amounts = list(5) volume = 5 can_be_placed_into = null - flags = FPRINT | TABLEPASS | OPENCONTAINER | NOBLUDGEON + flags = OPENCONTAINER | NOBLUDGEON /obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob) return diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 3916c799c8..83d841cf17 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -5,7 +5,7 @@ var/list/stored = list() w_class = 3.0 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON + flags = CONDUCT | NOBLUDGEON slot_flags = SLOT_BELT /obj/item/device/detective_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index d82807f738..717d3ea8a8 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -40,7 +40,6 @@ icon = 'icons/obj/harvest.dmi' icon_state = "logs" force = 5 - flags = TABLEPASS throwforce = 5 w_class = 3.0 throw_speed = 3 @@ -71,7 +70,6 @@ icon_state = "sunflower" damtype = "fire" force = 0 - flags = TABLEPASS throwforce = 1 w_class = 1.0 throw_speed = 1 @@ -89,7 +87,6 @@ icon_state = "nettle" damtype = "fire" force = 15 - flags = TABLEPASS throwforce = 1 w_class = 2.0 throw_speed = 1 diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm index 328e1a020e..957ef5173f 100644 --- a/code/modules/hydroponics/hydro_tools.dm +++ b/code/modules/hydroponics/hydro_tools.dm @@ -168,7 +168,7 @@ /obj/item/weapon/plantspray icon = 'icons/obj/hydroponics.dmi' item_state = "spray" - flags = TABLEPASS | FPRINT | NOBLUDGEON + flags = NOBLUDGEON slot_flags = SLOT_BELT throwforce = 4 w_class = 2.0 @@ -220,7 +220,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "hoe" item_state = "hoe" - flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON + flags = CONDUCT | NOBLUDGEON force = 5.0 throwforce = 7.0 w_class = 2.0 @@ -236,7 +236,6 @@ name = "bottle of weedkiller" icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS var/toxicity = 0 var/weed_kill_str = 0 @@ -244,7 +243,6 @@ name = "bottle of glyphosate" icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS toxicity = 4 weed_kill_str = 2 @@ -252,7 +250,6 @@ name = "bottle of triclopyr" icon = 'icons/obj/chemical.dmi' icon_state = "bottle18" - flags = FPRINT | TABLEPASS toxicity = 6 weed_kill_str = 4 @@ -260,7 +257,6 @@ name = "bottle of 2,4-D" icon = 'icons/obj/chemical.dmi' icon_state = "bottle15" - flags = FPRINT | TABLEPASS toxicity = 8 weed_kill_str = 7 @@ -274,7 +270,7 @@ desc = "A small glass bottle. Can hold up to 10 units." icon = 'icons/obj/chemical.dmi' icon_state = "bottle16" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER possible_transfer_amounts = null w_class = 2.0 @@ -314,7 +310,7 @@ desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." icon = 'icons/obj/weapons.dmi' icon_state = "hatchet" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT force = 12.0 w_class = 2.0 throwforce = 15.0 @@ -347,7 +343,7 @@ throw_speed = 1 throw_range = 3 w_class = 4.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = NOSHIELD slot_flags = SLOT_BACK origin_tech = "materials=2;combat=2" attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 390e3568cd..6f1b732849 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -3,7 +3,6 @@ name = "packet of seeds" icon = 'icons/obj/seeds.dmi' icon_state = "seed" - flags = FPRINT | TABLEPASS w_class = 2.0 var/seed_type diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index e8374d5652..cd172b41ee 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -126,7 +126,6 @@ throw_speed = 1 throw_range = 5 w_class = 3 //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) - flags = FPRINT | TABLEPASS attack_verb = list("bashed", "whacked", "educated") var/dat // Actual page content var/due_date = 0 // Game time in 1/10th seconds @@ -254,7 +253,6 @@ throw_speed = 1 throw_range = 5 w_class = 2.0 - flags = FPRINT | TABLEPASS var/obj/machinery/librarycomp/computer // Associated computer - Modes 1 to 3 use this var/obj/item/weapon/book/book // Currently scanned book var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index 6a0d7c5c3c..6ddf02609a 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items.dmi' name = "Coin" icon_state = "coin" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 0.0 throwforce = 0.0 w_class = 1.0 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index ff159ff122..be76b4c126 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -52,7 +52,7 @@ name = "pickaxe" icon = 'icons/obj/items.dmi' icon_state = "pickaxe" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 15.0 throwforce = 4.0 @@ -150,7 +150,7 @@ desc = "A large tool for digging and moving dirt." icon = 'icons/obj/items.dmi' icon_state = "shovel" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT force = 8.0 throwforce = 4.0 diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm index 05d2caa9a2..d49ccc222f 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/storage.dmi' name = "Money bag" icon_state = "moneybag" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT force = 10.0 throwforce = 2.0 w_class = 4.0 diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index f36de5ded9..6ec6b4fce4 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -3,7 +3,6 @@ health = 400 //They need to live awhile longer than other organs. desc = "A piece of juicy meat found in a person's head." icon_state = "brain2" - flags = TABLEPASS force = 1.0 w_class = 2.0 throwforce = 1.0 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm index 6079a3c044..c7c7fcc903 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm @@ -15,7 +15,7 @@ var/const/MAX_ACTIVE_TIME = 400 icon_state = "facehugger" item_state = "facehugger" w_class = 1 //note: can be picked up by aliens unlike most other items of w_class below 4 - flags = FPRINT | TABLEPASS | MASKCOVERSMOUTH | MASKCOVERSEYES | AIRTIGHT + flags = MASKCOVERSMOUTH | MASKCOVERSEYES | AIRTIGHT body_parts_covered = FACE|EYES throw_range = 5 diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index eaef5607cb..0f84806a1f 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -6,7 +6,7 @@ icon_state = "robotanalyzer" item_state = "analyzer" desc = "A hand-held scanner able to diagnose robotic injuries." - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 7cbc5bef5e..3458a5bb47 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -4,7 +4,7 @@ icon_state = "std_module" w_class = 100.0 item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT + flags = CONDUCT var/channels = list() var/list/modules = list() var/obj/item/emag = null diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index ca128c2c10..9598800312 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -9,7 +9,6 @@ throw_range = 10 var/obj/item/weapon/pen/haspen //The stored pen. var/obj/item/weapon/toppaper //The topmost piece of paper. - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT /obj/item/weapon/clipboard/New() diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index dd60029382..944fd91410 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -15,7 +15,6 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" item_state = "pen" - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT | SLOT_EARS throwforce = 0 w_class = 1.0 @@ -58,7 +57,7 @@ */ /obj/item/weapon/pen/sleepypen desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT origin_tech = "materials=2;syndicate=5" @@ -85,7 +84,7 @@ * Parapens */ /obj/item/weapon/pen/paralysis - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT origin_tech = "materials=2;syndicate=5" diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1a93e87539..ad9f572361 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -123,7 +123,7 @@ var/global/photo_count = 0 icon_state = "camera" item_state = "electropack" w_class = 2.0 - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 2000) var/pictures_max = 10 diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 51ec0002dd..f2767ca0e8 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "stamp-qm" item_state = "stamp" - flags = FPRINT | TABLEPASS throwforce = 0 w_class = 1.0 throw_speed = 7 diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index ea92b1f690..bdaeb0c659 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -206,7 +206,7 @@ proc/cardinalrange(var/center) icon_state = "box" item_state = "electronic" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT throwforce = 5 throw_speed = 1 throw_range = 2 diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index feb6f1d38a..869e654e6e 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -11,7 +11,6 @@ //directwired = 0 var/icon_state_on = "bbox_on" var/icon_state_off = "bbox_off" - flags = FPRINT density = 1 anchored = 1 var/on = 0 diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index de072d8d5a..12451f9a5e 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -477,7 +477,7 @@ obj/structure/cable/proc/cableColor(var/colorC) throw_speed = 2 throw_range = 5 matter = list("metal" = 50, "glass" = 20) - flags = TABLEPASS | FPRINT | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "coil" attack_verb = list("whipped", "lashed", "disciplined", "flogged") diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 8d8c434e25..7c9ae41cf2 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -16,7 +16,7 @@ desc = "Used for building lights." icon = 'icons/obj/lighting.dmi' icon_state = "tube-construct-item" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT var/fixture_type = "tube" var/obj/machinery/light/newlight = null var/sheets_refunded = 2 @@ -63,7 +63,7 @@ desc = "Used for building small lights." icon = 'icons/obj/lighting.dmi' icon_state = "bulb-construct-item" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT fixture_type = "bulb" sheets_refunded = 1 @@ -637,7 +637,6 @@ /obj/item/weapon/light icon = 'icons/obj/lighting.dmi' - flags = FPRINT | TABLEPASS force = 2 throwforce = 5 w_class = 2 diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 1e09903a7e..4f149fe301 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -3,7 +3,7 @@ desc = "A bullet casing." icon = 'icons/obj/ammo.dmi' icon_state = "s-casing" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT throwforce = 1 w_class = 1.0 @@ -52,7 +52,7 @@ desc = "A box of ammo" icon_state = "357" icon = 'icons/obj/ammo.dmi' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT item_state = "syringe_kit" matter = list("metal" = 50000) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f41ba5967b..fc44ed09fc 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/gun.dmi' icon_state = "detective" item_state = "gun" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT matter = list("metal" = 2000) w_class = 3.0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index a87218d12c..d5417496bf 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -5,7 +5,7 @@ fire_sound = 'sound/weapons/Laser.ogg' origin_tech = "combat=2;magnets=4" w_class = 4.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK charge_cost = 100 projectile_type = "/obj/item/projectile/ion" @@ -33,7 +33,7 @@ obj/item/weapon/gun/energy/staff icon_state = "staffofchange" item_state = "staffofchange" fire_sound = 'sound/weapons/emitter.ogg' - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK w_class = 4.0 charge_cost = 200 diff --git a/code/modules/projectiles/guns/projectile/crossbow.dm b/code/modules/projectiles/guns/projectile/crossbow.dm index 0f5cdbb2c8..faa3f8509f 100644 --- a/code/modules/projectiles/guns/projectile/crossbow.dm +++ b/code/modules/projectiles/guns/projectile/crossbow.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/weapons.dmi' icon_state = "bolt" item_state = "bolt" - flags = FPRINT | TABLEPASS throwforce = 8 w_class = 3.0 sharp = 1 diff --git a/code/modules/projectiles/guns/projectile/launcher.dm b/code/modules/projectiles/guns/projectile/launcher.dm index ee0da727c7..6626d809cd 100644 --- a/code/modules/projectiles/guns/projectile/launcher.dm +++ b/code/modules/projectiles/guns/projectile/launcher.dm @@ -3,7 +3,7 @@ desc = "A device that launches things." icon = 'icons/obj/weapons.dmi' w_class = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK var/release_force = 0 diff --git a/code/modules/projectiles/guns/projectile/pneumatic.dm b/code/modules/projectiles/guns/projectile/pneumatic.dm index 2a6e519d0d..43a5bc8e9a 100644 --- a/code/modules/projectiles/guns/projectile/pneumatic.dm +++ b/code/modules/projectiles/guns/projectile/pneumatic.dm @@ -5,7 +5,7 @@ icon_state = "pneumatic" item_state = "pneumatic" w_class = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT fire_sound_text = "a loud whoosh of moving air" fire_delay = 50 fire_sound = 'sound/weapons/tablehit1.ogg' diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm index ea88e7956a..27fb15d571 100644 --- a/code/modules/projectiles/guns/projectile/rocket.dm +++ b/code/modules/projectiles/guns/projectile/rocket.dm @@ -7,7 +7,7 @@ throw_speed = 2 throw_range = 10 force = 5.0 - flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY + flags = CONDUCT | USEDELAY slot_flags = 0 origin_tech = "combat=8;materials=5" var/projectile = /obj/item/missile diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 87d214f067..6db9300375 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -6,7 +6,7 @@ max_shells = 4 w_class = 4.0 force = 10 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=4;materials=2" @@ -66,7 +66,7 @@ max_shells = 2 w_class = 4.0 force = 10 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BACK caliber = "shotgun" origin_tech = "combat=3;materials=1" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index d8ff676708..3b5ed8bd53 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -16,7 +16,6 @@ density = 1 unacidable = 1 anchored = 1 //There's a reason this is here, Mport. God fucking damn it -Agouri. Find&Fix by Pete. The reason this is here is to stop the curving of emitter shots. - flags = FPRINT | TABLEPASS pass_flags = PASSTABLE mouse_opacity = 0 var/bumped = 0 //Prevents it from hitting more than one guy at once diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index deee473acb..d82ded7bba 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -8,7 +8,6 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null - flags = FPRINT var/mode = 1 var/charge_cost = 50 var/charge_tick = 0 diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index ee5be182dd..f643ccca90 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -10,7 +10,7 @@ desc = "Just your average condiment container." icon = 'icons/obj/food.dmi' icon_state = "emptycondiment" - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER possible_transfer_amounts = list(1,5,10) center_of_mass = list("x"=16, "y"=6) volume = 50 diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 915a43d253..ceabea1e50 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -6,7 +6,7 @@ desc = "yummy" icon = 'icons/obj/drinks.dmi' icon_state = null - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. possible_transfer_amounts = list(5,10,25) volume = 50 @@ -152,7 +152,7 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = null volume = 150 - flags = FPRINT | CONDUCT | TABLEPASS | OPENCONTAINER + flags = CONDUCT | OPENCONTAINER /obj/item/weapon/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 925c43e17d..1908c76740 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -12,7 +12,7 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60) volume = 60 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER var/label_text = "" @@ -209,7 +209,7 @@ volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -218,7 +218,7 @@ matter = list("glass" = 500) volume = 60 amount_per_transfer_from_this = 10 - flags = FPRINT | TABLEPASS | OPENCONTAINER | NOREACT + flags = OPENCONTAINER | NOREACT /obj/item/weapon/reagent_containers/glass/beaker/bluespace name = "bluespace beaker" @@ -228,7 +228,7 @@ volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60,120,300) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/vial @@ -239,7 +239,7 @@ volume = 30 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone New() @@ -270,7 +270,7 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60,120) volume = 120 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER attackby(var/obj/D, mob/user as mob) if(isprox(D)) @@ -297,7 +297,7 @@ volume = 15 amount_per_transfer_from_this = 5 possible_transfer_amounts = list(1,5,15) - flags = FPRINT | TABLEPASS | OPENCONTAINER */ + flags = OPENCONTAINER */ /* /obj/item/weapon/reagent_containers/glass/blender_jug @@ -329,7 +329,6 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = list(10,20,30,60) volume = 120 - flags = FPRINT /obj/item/weapon/reagent_containers/glass/dispenser name = "reagent glass" @@ -337,7 +336,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "beaker0" amount_per_transfer_from_this = 10 - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/dispenser/surfactant name = "reagent glass (surfactant)" diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index 846eb3bfa7..44afd28407 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -9,7 +9,7 @@ item_state = "atoxinbottle" amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,60) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER volume = 60 on_reagent_change() diff --git a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm index 9286e5ab03..7c8bf02a5b 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm @@ -2,7 +2,7 @@ /obj/item/weapon/reagent_containers/glass/bottle/robot amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25,30,50,100) - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER volume = 60 var/reagent = "" diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 49348a22a0..fd3557b62f 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -11,7 +11,7 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null - flags = FPRINT | TABLEPASS | OPENCONTAINER + flags = OPENCONTAINER slot_flags = SLOT_BELT /obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 1db8fa1aa4..91dbebc27c 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "cleaner" item_state = "cleaner" - flags = TABLEPASS|OPENCONTAINER|FPRINT|NOBLUDGEON + flags = OPENCONTAINER|NOBLUDGEON slot_flags = SLOT_BELT throwforce = 3 w_class = 2.0 diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 95311bba83..0156625886 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -7,7 +7,6 @@ icon_state = "watertank" density = 1 anchored = 0 - flags = FPRINT pressure_resistance = 2*ONE_ATMOSPHERE var/amount_per_transfer_from_this = 10 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index c8deef1ccc..67721bd8d5 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -6,7 +6,7 @@ var/obj/wrapped = null density = 1 var/sortTag = null - flags = FPRINT | NOBLUDGEON + flags = NOBLUDGEON mouse_drag_pointer = MOUSE_ACTIVE_POINTER var/examtext = null var/nameset = 0 @@ -115,7 +115,6 @@ icon_state = "deliverycrate3" var/obj/item/wrapped = null var/sortTag = null - flags = FPRINT var/examtext = null var/nameset = 0 var/tag_x @@ -317,7 +316,7 @@ w_class = 2 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT proc/openwindow(mob/user as mob) diff --git a/code/modules/research/xenoarchaeology/chemistry.dm b/code/modules/research/xenoarchaeology/chemistry.dm index e6c622a94a..f5b718dcf0 100644 --- a/code/modules/research/xenoarchaeology/chemistry.dm +++ b/code/modules/research/xenoarchaeology/chemistry.dm @@ -80,7 +80,7 @@ datum amount_per_transfer_from_this = 1 possible_transfer_amounts = list(1, 2) volume = 2 - flags = FPRINT | OPENCONTAINER + flags = OPENCONTAINER obj/item/weapon/reagent_containers/glass/solution_tray/attackby(obj/item/weapon/W as obj, mob/living/user as mob) if(istype(W, /obj/item/weapon/pen)) diff --git a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm index 38fab6221f..6f79f8d8ba 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm @@ -6,7 +6,6 @@ icon_state = "flashgun" item_state = "lampgreen" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/nearest_artifact_id = "unknown" var/nearest_artifact_distance = -1 diff --git a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm index bcfa0eb823..7c357b53da 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_coresampler.dm @@ -20,7 +20,6 @@ icon_state = "sampler0" item_state = "screwdriver_brown" w_class = 1.0 - flags = FPRINT | TABLEPASS //slot_flags = SLOT_BELT var/sampled_turf = "" var/num_stored_bags = 10 diff --git a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm index 111e465e48..425b3e0dc3 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_depthscanner.dm @@ -10,7 +10,6 @@ icon_state = "crap" item_state = "analyzer" w_class = 2.0 - flags = FPRINT | TABLEPASS slot_flags = SLOT_BELT var/list/positive_locations = list() var/datum/depth_scan/current diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index d2d8148c13..95b3276bd3 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -20,7 +20,7 @@ // var/maxshieldload = 200 var/obj/structure/cable/attached // the attached cable var/storedpower = 0 - flags = FPRINT | CONDUCT + flags = CONDUCT //There have to be at least two posts, so these are effectively doubled var/power_draw = 30000 //30 kW. How much power is drawn from powernet. Increase this to allow the generator to sustain longer shields, at the cost of more power draw. var/max_stored_power = 50000 //50 kW diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 18c2db0f14..6f55e3ba58 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -56,7 +56,6 @@ proc/infection_check(var/mob/living/carbon/M, var/vector = "Airborne") //Checks if table-passing table can reach target (5 tile radius) proc/airborne_can_reach(turf/source, turf/target) var/obj/dummy = new(source) - dummy.flags = FPRINT | TABLEPASS dummy.pass_flags = PASSTABLE for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm index d145ac0b2a..a2a102611d 100644 --- a/code/modules/virus2/items_devices.dm +++ b/code/modules/virus2/items_devices.dm @@ -6,7 +6,7 @@ icon_state = "health" w_class = 2.0 item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT /obj/item/device/antibody_scanner/attack(mob/M as mob, mob/user as mob) if(!istype(M,/mob/living/carbon/)) diff --git a/code/setup.dm b/code/setup.dm index e3cb2606ab..632ada1804 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -167,36 +167,34 @@ //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. -#define TABLEPASS 2 // can pass by a table or rack -#define NOBLUDGEON 4 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler -#define AIRTIGHT 8 // functions with internals -#define USEDELAY 16 // 1 second extra delay on use (Can be used once every 2s) -#define NOSHIELD 32 // weapon not affected by shield -#define CONDUCT 64 // conducts electricity (metal etc.) -#define FPRINT 256 // takes a fingerprint -#define ON_BORDER 512 // item has priority to check when entering or leaving -#define NOBLOODY 2048 // used to items if they don't want to get a blood overlay -#define NODELAY 32768 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag. +#define NOBLUDGEON 2 // when an item has this it produces no "X has been hit by Y with Z" message with the default handler +#define AIRTIGHT 4 // functions with internals +#define USEDELAY 8 // 1 second extra delay on use (Can be used once every 2s) +#define NOSHIELD 16 // weapon not affected by shield +#define CONDUCT 32 // conducts electricity (metal etc.) +#define ON_BORDER 64 // item has priority to check when entering or leaving +#define NOBLOODY 512 // used to items if they don't want to get a blood overlay +#define NODELAY 8192 // 1 second attackby delay skipped (Can be used once every 0.2s). Most objects have a 1s attackby delay, which doesn't require a flag. -#define GLASSESCOVERSEYES 1024 -#define MASKCOVERSEYES 1024 // get rid of some of the other retardation in these flags -#define HEADCOVERSEYES 1024 // feel free to realloc these numbers for other purposes -#define MASKCOVERSMOUTH 2048 // on other items, these are just for mask/head -#define HEADCOVERSMOUTH 2048 +#define GLASSESCOVERSEYES 256 +#define MASKCOVERSEYES 256 // get rid of some of the other retardation in these flags +#define HEADCOVERSEYES 256 // feel free to realloc these numbers for other purposes +#define MASKCOVERSMOUTH 512 // on other items, these are just for mask/head +#define HEADCOVERSMOUTH 512 -#define THICKMATERIAL 1024 //From /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP for shoes) -#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc +#define THICKMATERIAL 256 //From /tg: prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with NOSLIP for shoes) +#define NOSLIP 256 //prevents from slipping on wet floors, in space etc -#define OPENCONTAINER 4096 // is an open container for chemistry purposes +#define OPENCONTAINER 1024 // is an open container for chemistry purposes -#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL) -#define ONESIZEFITSALL 8192 -#define PHORONGUARD 16384 //Does not get contaminated by phoron. +#define BLOCK_GAS_SMOKE_EFFECT 2048 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL) +#define ONESIZEFITSALL 2048 +#define PHORONGUARD 4096 //Does not get contaminated by phoron. -#define NOREACT 16384 //Reagents dont' react inside this container. +#define NOREACT 4096 //Reagents dont' react inside this container. #define BLOCKHEADHAIR 4 // temporarily removes the user's hair overlay. Leaves facial hair. -#define BLOCKHAIR 32768 // temporarily removes the user's hair, facial and otherwise. +#define BLOCKHAIR 8192 // temporarily removes the user's hair, facial and otherwise. //flags for pass_flags #define PASSTABLE 1 diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm index 2c6909287a..84c4b4506a 100644 --- a/code/unused/assemblies.dm +++ b/code/unused/assemblies.dm @@ -16,7 +16,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/clothing/suit/armor/vest/part3 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/m_i_ptank desc = "A very intricate igniter and proximity sensor electrical assembly mounted onto top of a plasma tank." @@ -26,7 +26,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/prox_ignite name = "Proximity/Igniter Assembly" @@ -35,7 +35,7 @@ var/obj/item/device/prox_sensor/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/r_i_ptank desc = "A very intricate igniter and signaller electrical assembly mounted onto top of a plasma tank." @@ -45,7 +45,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/anal_ignite name = "Health-Analyzer/Igniter Assembly" @@ -54,7 +54,7 @@ var/obj/item/device/healthanalyzer/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT item_state = "electronic" /obj/item/assembly/time_ignite @@ -64,7 +64,7 @@ var/obj/item/device/timer/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/t_i_ptank desc = "A very intricate igniter and timer assembly mounted onto top of a plasma tank." @@ -74,7 +74,7 @@ var/obj/item/device/igniter/part2 = null var/obj/item/weapon/tank/plasma/part3 = null status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_ignite name = "Radio/Igniter Assembly" @@ -83,7 +83,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/igniter/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_infra name = "Signaller/Infrared Assembly" @@ -92,7 +92,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/infra/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_prox name = "Signaller/Prox Sensor Assembly" @@ -101,7 +101,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/prox_sensor/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT /obj/item/assembly/rad_time name = "Signaller/Timer Assembly" @@ -110,7 +110,7 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/timer/part2 = null status = null - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT */ /obj/item/assembly/time_ignite/premade/New() diff --git a/code/unused/asteroiddevice.dm b/code/unused/asteroiddevice.dm index 57a5747cfe..f642884d95 100644 --- a/code/unused/asteroiddevice.dm +++ b/code/unused/asteroiddevice.dm @@ -2,7 +2,7 @@ name = "GPS" icon = 'icons/obj/device.dmi' icon_state = "pinoff" - flags = FPRINT | TABLEPASS| CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT w_class = 2.0 item_state = "electronic" diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm index 09a0207ec6..69ffb9d62f 100644 --- a/code/unused/hivebot/hive_modules.dm +++ b/code/unused/hivebot/hive_modules.dm @@ -4,7 +4,7 @@ icon_state = "std_module" w_class = 2.0 item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT + flags = CONDUCT var/list/modules = list() /obj/item/weapon/hive_module/standard diff --git a/code/unused/new_year.dm b/code/unused/new_year.dm index 7e2dfb5c22..0f2bdca1c3 100644 --- a/code/unused/new_year.dm +++ b/code/unused/new_year.dm @@ -55,7 +55,7 @@ item_state = "flashbang" throw_speed = 4 throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT slot_flags = SLOT_BELT /obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) diff --git a/code/unused/optics/beam.dm b/code/unused/optics/beam.dm index 0c2ebfcdf6..2e4f87e367 100644 --- a/code/unused/optics/beam.dm +++ b/code/unused/optics/beam.dm @@ -8,7 +8,6 @@ density = 0 mouse_opacity = 0 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - flags = TABLEPASS var/wavelength // the (vaccuum) wavelength of the beam var/width = 1 // 1=thin, 2=medium, 3=wide diff --git a/code/unused/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm index 378ba7b780..f25e5f3bb1 100644 --- a/code/unused/optics/laser-pointer.dm +++ b/code/unused/optics/laser-pointer.dm @@ -21,7 +21,7 @@ var/obj/effect/beam/laser/beam // the created beam - flags = FPRINT | CONDUCT | TABLEPASS + flags = CONDUCT attack_ai() return diff --git a/code/unused/optics/mirror.dm b/code/unused/optics/mirror.dm index ca7b7be860..6570874b1f 100644 --- a/code/unused/optics/mirror.dm +++ b/code/unused/optics/mirror.dm @@ -21,7 +21,6 @@ icon_state = "mirrorA" set_dir(1) desc = "A large, optical-grade mirror firmly mounted on a stand." - flags = FPRINT anchored = 0 var/rotatable = 0 // true if mirror can be rotated var/angle = 0 // normal of mirror, 0-15. 0=N, 1=NNE, 2=NE, 3=ENE, 4=E etc diff --git a/code/unused/pda2/pda2.dm b/code/unused/pda2/pda2.dm index fb3001c9a0..7f451c0d39 100644 --- a/code/unused/pda2/pda2.dm +++ b/code/unused/pda2/pda2.dm @@ -34,7 +34,6 @@ icon_state = "pda" item_state = "electronic" w_class = 2.0 - flags = FPRINT | TABLEPASS slow_flags = SLOT_BELT var/owner = null diff --git a/code/unused/powerarmor/powerarmor.dm b/code/unused/powerarmor/powerarmor.dm index 1e23e4e98b..36b066ffe9 100644 --- a/code/unused/powerarmor/powerarmor.dm +++ b/code/unused/powerarmor/powerarmor.dm @@ -6,7 +6,6 @@ w_class = 4//bulky item protective_temperature = 1000 - flags = FPRINT | TABLEPASS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) @@ -196,7 +195,7 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH + flags = HEADCOVERSEYES | HEADCOVERSMOUTH see_face = 0.0 item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) @@ -235,7 +234,6 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) @@ -243,7 +241,6 @@ name = "Powered armor" icon_state = "swat" desc = "Not for rookies." - flags = FPRINT | TABLEPASS item_state = "swat" armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) diff --git a/code/unused/scrap.dm b/code/unused/scrap.dm index bd3dad3dba..271f8b131d 100644 --- a/code/unused/scrap.dm +++ b/code/unused/scrap.dm @@ -21,7 +21,7 @@ throw_speed = 1 throw_range = 4 w_class = 1 - flags = FPRINT | TABLEPASS | CONDUCT + flags = CONDUCT #define MAX_SCRAP 15000 // maximum content amount of a scrap pile diff --git a/code/unused/vehicle.dm b/code/unused/vehicle.dm index f289f80f5e..f8a04640dc 100644 --- a/code/unused/vehicle.dm +++ b/code/unused/vehicle.dm @@ -3,7 +3,6 @@ icon = 'escapepod.dmi' icon_state = "podfire" density = 1 - flags = FPRINT anchored = 1.0 var/speed = 10.0 var/maximum_speed = 10.0 From d70a3dcdc01850ee13ea0eb8754e163aa6bb0695 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 24 Jan 2015 17:48:36 +0100 Subject: [PATCH 199/282] Downgrades AIs sight to that of borgs. --- code/modules/mob/living/silicon/ai/life.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index cf11f2d211..7686cd4344 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -59,7 +59,7 @@ src.sight |= SEE_MOBS src.sight |= SEE_OBJS src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + src.see_invisible = SEE_INVISIBLE_LIVING //Congratulations! You've found a way for AI's to run without using power! From b1c74fc9db75b4fd77e44775ac84c9dfcb51a364 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 25 Jan 2015 03:12:52 +0100 Subject: [PATCH 200/282] Grinding crayons --- code/modules/reagents/Chemistry-Machinery.dm | 20 +++++++- code/modules/reagents/Chemistry-Reagents.dm | 51 ++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index a2ea7c6f0c..bad9360c4c 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -851,7 +851,10 @@ //All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.! /obj/item/weapon/reagent_containers/pill = list(), - /obj/item/weapon/reagent_containers/food = list() + /obj/item/weapon/reagent_containers/food = list(), + + //Crayons + /obj/item/toy/crayon = list() ) var/list/juice_items = list ( @@ -1186,6 +1189,21 @@ break remove_object(O) + //crayons + for (var/obj/item/toy/crayon/O in holdingitems) + if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + break + var/amount = round(O.uses/3) //full crayon gives 10 juice + var/dustcolour = "red" + if (O.colourName == "mime") + dustcolour = "grey" //black+white + else if (O.colourName == "rainbow") + dustcolour = "brown" //mix of all colours + else if (!isnull(O.colourName)) //all other defined colours + dustcolour = O.colourName + beaker.reagents.add_reagent("crayon_dust_[dustcolour]",amount) + remove_object(O) + //Everything else - Transfers reagents from it into beaker for (var/obj/item/weapon/reagent_containers/O in holdingitems) if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 1e7d7bdd56..40ebeb09d0 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1515,6 +1515,57 @@ datum ..() return +//////////////////////////Ground crayons///////////////////// + + + crayon_dust + name = "Crayon dust" + id = "crayon_dust" + description = "Intensely coloured powder obtained by grinding crayons." + reagent_state = LIQUID + color = "#888888" + overdose = 5 + + crayon_dust/red + name = "Red crayon dust" + id = "crayon_dust_red" + color = "#DA0000" + + crayon_dust/orange + name = "Orange crayon dust" + id = "crayon_dust_orange" + color = "#FF9300" + + crayon_dust/yellow + name = "Yellow crayon dust" + id = "crayon_dust_yellow" + color = "#FFF200" + + crayon_dust/green + name = "Green crayon dust" + id = "crayon_dust_green" + color = "#A8E61D" + + crayon_dust/blue + name = "Blue crayon dust" + id = "crayon_dust_blue" + color = "#00B7EF" + + crayon_dust/purple + name = "Purple crayon dust" + id = "crayon_dust_purple" + color = "#DA00FF" + + crayon_dust/grey + name = "Grey crayon dust" + id = "crayon_dust_grey" + color = "#808080" + + crayon_dust/brown + name = "Brown crayon dust" + id = "crayon_dust_brown" + color = "#846F35" + //////////////////////////Poison stuff/////////////////////// toxin From 137b6a99a9f64171ed7dae9062ce8208913013a7 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 25 Jan 2015 03:22:01 +0100 Subject: [PATCH 201/282] You have to be kidding me --- code/modules/reagents/Chemistry-Recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index b9c657f97e..96b925674d 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -131,7 +131,7 @@ datum name = "Water" id = "water" result = "water" - required_reagents = list("oxygen" = 2, "hydrogen" = 1) + required_reagents = list("oxygen" = 1, "hydrogen" = 2) result_amount = 1 thermite From 7e43812408f001ccd155458ea5be5aca411739a6 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 25 Jan 2015 09:34:53 +0000 Subject: [PATCH 202/282] Virology fixes; nerfs viruses significantly (~33% power), but reactivates broken effects that were multiplying their effects by null --- code/modules/virus2/disease2.dm | 5 +++-- code/modules/virus2/effect.dm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 4323ce6545..0f16b91b34 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -30,7 +30,7 @@ infectionchance = rand(10,20) else infectionchance = rand(60,90) - + antigen |= text2num(pick(ANTIGENS)) antigen |= text2num(pick(ANTIGENS)) spreadtype = prob(70) ? "Airborne" : "Contact" @@ -88,7 +88,8 @@ clicks = 0 //Do nasty effects for(var/datum/disease2/effectholder/e in effects) - e.runeffect(mob,stage) + if(prob(33)) + e.runeffect(mob,stage) //Short airborne spread if(src.spreadtype == "Airborne") diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index fcf666a985..50d7bcb569 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -9,7 +9,7 @@ /datum/disease2/effectholder/proc/runeffect(var/mob/living/carbon/human/mob,var/stage) if(happensonce > -1 && effect.stage <= stage && prob(chance)) - effect.activate(mob) + effect.activate(mob, multiplier) if(happensonce == 1) happensonce = -1 From ec49c8b305182e92451a7fc3b4c6b1ba24ecd49e Mon Sep 17 00:00:00 2001 From: Ravensdale Date: Sun, 25 Jan 2015 02:03:12 -0800 Subject: [PATCH 203/282] Replaces magic freezers with H/E pipes --- maps/exodus-1.dmm | 52 ++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 363ec73433..4beec18014 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3570,7 +3570,9 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bqK" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/engine/engine_room) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) +"bqM" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engine/engine_room) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqP" = (/turf/simulated/floor{dir = 4; icon_state = "whiteblue_ex"; tag = "icon-whiteblue (EAST)"},/area/medical/reception) @@ -6387,7 +6389,7 @@ "csS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) "csT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Workshop"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/workshop) "csU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/atmos) -"csV" = (/obj/machinery/airlock_sensor/airlock_interior{id_tag = "eng_al_int_snsr"; master_tag = "engine_room_airlock"; pixel_y = 22; req_access_txt = "10"},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) +"csV" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/plating,/area/engine/engine_room) "csW" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "csX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/atmos) "csY" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engine/engine_room) @@ -6450,7 +6452,7 @@ "cud" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) "cue" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor,/area/atmos) "cuf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) -"cug" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) +"cug" = (/obj/structure/grille,/obj/structure/grille,/turf/space,/area/space) "cuh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor,/area/atmos) "cui" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) "cuj" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) @@ -6831,12 +6833,15 @@ "cBu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/atmos) "cBw" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -8; pixel_y = 24},/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) +"cBx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) +"cBy" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/space,/area/space) "cBz" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) "cBA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/engine_room) "cBB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBC" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBD" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) "cBE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/atmos) +"cBF" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area/space) "cBG" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/atmos) "cBH" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plating,/area/engine/engine_room) "cBI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/engine_hallway) @@ -6874,6 +6879,14 @@ "cCo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cCp" = (/obj/structure/grille,/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/wall/r_wall,/area/atmos) "cCq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology) +"cCr" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"cCs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/wall/r_wall,/area/engine/engine_room) +"cCt" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"cCu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space) +"cCv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space) +"cCw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) +"cCx" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/space,/area/space) +"cCy" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/engine/engine_room) "cCz" = (/turf/simulated/wall/r_wall,/area/engine/drone_fabrication) "cCA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/drone_fabrication) "cCB" = (/turf/simulated/wall/r_wall,/area/engine/engine_hallway) @@ -6887,6 +6900,7 @@ "cCJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/engine/engine_hallway) "cCK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/engine/engine_hallway) "cCL" = (/obj/structure/sign/securearea,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/wall/r_wall,/area/engine/engine_hallway) +"cCM" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) "cCN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) "cCO" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;11;24"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/engi_shuttle) "cCP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/maintenance/engi_shuttle) @@ -7032,7 +7046,6 @@ "cFP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/medical/virology) "cFQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cFR" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cFS" = (/obj/machinery/atmospherics/pipe/cap/visible{color = "#00ffff"; dir = 8},/turf/simulated/floor/plating,/area/engine/engine_room) "cFT" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Aft Port Solar"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cFV" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) @@ -7083,7 +7096,6 @@ "cHh" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "arrival"},/area/atmos) "cHi" = (/obj/machinery/light_switch{pixel_x = 12; pixel_y = 25},/obj/machinery/power/apc/super{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Power"; name_tag = "Engine Power"},/turf/simulated/floor/plating,/area/engine/engine_room) "cHj" = (/turf/simulated/floor/plating,/area/engine/engine_room) -"cHk" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/engine/engine_room) "cHl" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/item/clothing/glasses/welding,/obj/structure/closet/fireaxecabinet{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) "cHn" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) "cHp" = (/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) @@ -7101,7 +7113,6 @@ "cHE" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/atmos) "cHF" = (/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/atmos) "cHH" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Engineering Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access_txt = "24"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/atmos) -"cHI" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating{icon_state = "platebotc"},/area/engine/engine_room) "cHK" = (/obj/item/stack/rods{amount = 10},/turf/space,/area/space) "cHL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/purple,/turf/simulated/floor/plating,/area/engine/engine_waste) "cHM" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/engine_waste) @@ -7115,8 +7126,6 @@ "cHW" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/turf/simulated/floor,/area/atmos) "cHX" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor,/area/engine/atmos_monitoring) "cHY" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Atmospherics")},/turf/simulated/floor,/area/engine/atmos_monitoring) -"cHZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) -"cIa" = (/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"; req_access_txt = "56"; set_temperature = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_room) "cIb" = (/obj/structure/lattice,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space) "cIc" = (/obj/item/stack/cable_coil,/turf/space,/area/space) "cIe" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_waste) @@ -7131,7 +7140,6 @@ "cIn" = (/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/atmos) "cIo" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor/plating,/area/engine/engine_room) "cIp" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cIq" = (/obj/machinery/atmospherics/unary/freezer{dir = 8; icon_state = "freezer"; req_access_txt = "56"; set_temperature = 1},/turf/simulated/floor/plating,/area/engine/engine_room) "cIr" = (/turf/simulated/wall/r_wall,/area/engine/engine_waste) "cIs" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/engine_waste) "cIt" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/engine/engine_waste) @@ -7151,7 +7159,6 @@ "cIN" = (/obj/machinery/camera{c_tag = "Engineering Core West"; dir = 8; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room) "cIQ" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access_txt = "10"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/engine/engine_room) "cIR" = (/obj/machinery/camera{c_tag = "Engineering Core East"; dir = 4; network = list("SS13","Supermatter")},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room) -"cIS" = (/turf/simulated/floor/plating{dir = 8; icon_state = "warnplatecorner"},/area/engine/engine_room) "cIU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "cIW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) @@ -7217,7 +7224,6 @@ "cKB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/space,/area/space) "cKU" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/engine_room) "cKV" = (/obj/machinery/door_control{desc = "A remote control-switch for the engine control room blast doors."; id = "EngineBlast"; name = "Engine Room Blast Doors"; pixel_x = 5; pixel_y = -25; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for the engine charging port."; id = "EngineEmitterPort"; name = "Engine Charging Port"; pixel_x = -5; pixel_y = -25; req_access_txt = "10"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) -"cKX" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplatecorner"},/area/engine/engine_room) "cKY" = (/obj/machinery/light,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "cKZ" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/engine_room) "cLa" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engine_waste) @@ -7410,19 +7416,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaafaaaaamaaaaaaaaaaafcgRcgCcDkcgBcgRcjbcDncjacgRciWcDqchqcgRaafcgRchpcDtchocgRaaaaafaaacEicFrcEkcEQcEQcqZcqXcFucFvcFwcFxcFycFzcFAcFBcFCcFDcFEcFFcFGcFHcFIcDKaafaaacFJcDNcFKcAOcFLaaabNUcFMbPxcFNcFOaafaafaafaaacBkaafaafaaaaaaaaaaaaaaaaaaaaaaaacrHcqvcqvcFPcFQcEIcEIcEIcFRcFPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqpbqpbqpaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaafcfTaafcrPaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaamaaaaaaaafaafcgRcEbcEccEbcgRcEdcEecEdcgRcEfcEgcEfcgRaaacgRcEfcEfcEhcgRaaaaafaaacEicFUcEkcEScEQcEncrVcEocDDcFWcFXcFYcEscFZcGacGbcGacGccEscGdcGecGfcDKaaLcGgcGgcGgcGgcGgcGgcGgbNUciEciDcGjaafaaaaaaaafcGkcDfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacGlcEJcEJcEJcEJcEJcGlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPaaaaafaaacrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaafaamaaaaafaafaaacgRcEbcENcEbcgRcEdcEOcEdcgRcEfcEPcEfcgRaafcgRcEfcEfcEfcgRaafaafaafcGncGocGpcGqcGrcGscsacEocDDcoycGvcGwcEscGxcpwcoJcpxcGBcEscGCcGDcGEcDKaaacGgcGgcGgcGgcGgcGgcGgcGFcGGcGHbNUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqvcCmcqxcqxcqxcCocqvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrPcrPcrPcrPcrPaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcjIcjdcjecjdcjccGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcqIcHfcsZcsYctacHgcHicHjcHkcsVcHIcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecjTcjUctkcjJcucctZcHzcIwcHjctccHjcHjcHjcHjcugcHZcIacGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcjXcjYcjUcwpcwocwqcufcHjcHjcxocwucyAcHjcHjcHjcugcHZcIqcGJcIbaafaaIaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcrQckickrcBzckecBHcBAcnycnycpDcImcEMcIocIocIocpBcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcFscETcKYcLbcvocIycKUcKVcKYcKZcKXcHZcFScGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujczDcIQcGJcGJcGJcIRcIScHzcGJaafaaabZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcFTcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicxscJkcJLcJMcJNcJOcJLcJpcxscJqcHjcJPcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcxscJkcKacJMcKbcKccKacJpcxscKdcHjcHjcGJaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGJcGJcGZcGJcGJcGJcGJcGJcwDcGJcGJcGJcGJcGJcGZcGJcGJaafaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbZSaaaaaacgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRcgRaaacFqcgRcgRcgRcgRaaaaaaaaaaaacCzcCzcCzcCzcCzcsccGJcGJcGJcGJcGKcGJcjIcjdcjecjdcjccGJcGJcGPcGJcGJcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaacyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcrPaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaaacGQcGRcGRcGRcGScGTcGUcsecsfcsgcshcGZcpzcpycpCcpAcqIcHfcsZcsYctacHgcHicHjcHjbqKbqMcGJcGgcGgcGgcGgcGgcGgcGgaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafcHncjVcHpaaacHncjVcHpaaacHncjVcHpaafaafaaaaafaafaafaafaafcHqcGRcGRcGRcGScGTcHLctfcHtctecjTcjUctkcjJcucctZcHzcIwcHjctccHjcHjcHjcHjcHjcHjcsVcGJcGgcGgcGgcGgcGgcGgcGgaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacHncjWcHpaaacHncjWcHpaaacHncjWcHpaafaafaaaaafaaaaaacHKaafcGQcGRcGRcGRcGScGTcHLcHMcHNcjXcjYcjUcwpcwocwqcufcHjcHjcxocwucyAcHjcHjcHjcHjcHjcBxcGJcIbaafaaIaafaafaafaafaafaafaafaafaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncjWcHpaaacHncjWcHpaafcHncjWcHpaafaaaaaaaafaafcIcaaaaafcHqcGRcGRcGRcGScGTcwmcIecIfcrQckickrcBzckecBHcBAcnycnycpDcImcEMcIocIocIocIocIocpBcCscCrcBFcBFcBFcBFcBFcBFcBFcBFcBFcByaaacugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaafcIrcGVcIscItcIucLacGZcIwcHjcFscETcKYcLbcvocIycKUcKVcKYcKZcCMcHjcCycCscCrcBycCxcBycCxcBycCxcBycCxcBycCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaaacHncjWcHpaafcHncjWcHpaaacHncjWcHpaafaaaaaaaaaaaaaafaafcIJcIKcIKcIKcIKcILcILcILcILcILcIMcILcGJcHjcHjcINcGJcGJcGJcujczDcIQcGJcGJcGJcIRcHjcHjcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyhcyhcyhcyhcyhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafczCaafaafaafczCaafaaaaafczCaafaaaaaaaaaaaaaaacIUcIVcIWcIXcIYcFTcJacJbcJcciFcJecJfcJgcJecGJcJhcHjcJicxscJkcJlczzcJnczjcJlcJpcxscJqcHjcJrcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaaaaanaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcydcxzcxycxxcxxcxxcxxcxxcxxcxxcxxcxxcxxcxxczicxzcxzcxzcypcJzcJAcJBcJCcJDcJEcJFcJGcJHcJHcJHcJIcJJcJKcGJcHjcHjcJicxscJkcJLcJMcJNcJOcJLcJpcxscJqcHjcJPcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafcugaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaafaafcxfaafaaaaafcxfaafaaaaafcxfaafaaaaaaaaaaaaaaacIUcIVcJRcJScJTcJUcIKcJVcJWcJecJecJXcJXcJYcGJcHjcHjcJZcxscJkcKacJMcKbcKccKacJpcxscKdcHjcHjcGJaaacCwcCwcCwcCwcCwcCwcCwcCwcCwcCwaafaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaactYctYctYctYctYaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaaIaafaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafcKfcIKcIKcIKcIKcKgcKhcKicKicKjcKgcKgcGJcGJcGZcGJcGJcGJcGJcGJcwDcGJcGJcGJcGJcGJcGZcGJcGJaafcCvcCucCvcCucCvcCucCvcCucCvcCuaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaactYctYctYctYctYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHncwrcHpaafcHncwrcHpaaacHncwrcHpaaaaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaafaafaaaaaaaafaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaaacHncwrcHpaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaLaaaaafaaaaaacugcugcugcCtcugcugaancugcugaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafcHncwrcHpaaacHncwrcHpaafcHncwrcHpaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIbZSbZSaaIaaIaaaaaaaaaaaIaaIaaIaaIaaIaaIaaIaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaafcHncwncHpaaacHncwncHpaaacHncwncHpaafaaIaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaaaIaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKncKncKncKncKncKncKnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKlcKlcKlcKlcKlcKlcKlcKlcKlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 89652ae5e3b1c8b6a4387d388c1f781198feaad1 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 06:22:30 -0500 Subject: [PATCH 204/282] JSON caching for nanoui You get to cache data, make the best of it. NanoUI for PDA now won't shove the manifest through list2json every tick, it will cache the json for manifest and shove it into the cache_data so list2json tacks it onto the end. --- code/defines/obj.dm | 8 +++--- code/game/objects/items/devices/PDA/PDA.dm | 9 ++++++- code/modules/nano/JSON Writer.dm | 6 +++-- code/modules/nano/_JSON.dm | 4 +-- code/modules/nano/nanoui.dm | 19 ++++++++++++-- nano/templates/pda.tmpl | 30 +++++++++++----------- 6 files changed, 51 insertions(+), 25 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 0c971df260..a65db71d76 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -173,10 +173,11 @@ using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( ) */ var/global/list/PDA_Manifest = list() +var/global/ManifestJSON -/obj/effect/datacore/proc/get_manifest_json() +/obj/effect/datacore/proc/get_manifest_json(var/client/c = null) if(PDA_Manifest.len) - return PDA_Manifest + return var/heads[0] var/sec[0] var/eng[0] @@ -247,7 +248,8 @@ var/global/list/PDA_Manifest = list() "bot" = bot,\ "misc" = misc\ ) - return PDA_Manifest + ManifestJSON = list2json(PDA_Manifest) + return diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b24bf75ec1..a7b69c4a17 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -464,7 +464,7 @@ var/global/list/obj/item/device/pda/PDAs = list() data["convo_job"] = sanitize(c["job"]) break if(mode==41) - data["manifest"] = data_core.get_manifest_json() + data_core.get_manifest_json(user.client) if(mode==3) @@ -535,12 +535,19 @@ var/global/list/obj/item/device/pda/PDAs = list() nanoUI = data // update the ui if it exists, returns null if no ui is passed/found + if(ui) + ui.load_cached_data(ManifestJSON) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400) // when the ui is first opened this is the data it will use + + ui.load_cached_data(ManifestJSON) + ui.set_initial_data(data) // open the new ui window ui.open() diff --git a/code/modules/nano/JSON Writer.dm b/code/modules/nano/JSON Writer.dm index 3cd3520f17..65b9d99eb0 100644 --- a/code/modules/nano/JSON Writer.dm +++ b/code/modules/nano/JSON Writer.dm @@ -1,7 +1,7 @@ json_writer proc - WriteObject(list/L) + WriteObject(list/L, cached_data = null) . = "{" var/i = 1 for(var/k in L) @@ -9,7 +9,9 @@ json_writer . += {"\"[k]\":[write(val)]"} if(i++ < L.len) . += "," - .+= "}" + if(cached_data) + . = copytext(., 1, lentext(.)) + ",\"cached\":[cached_data]}" + . += "}" write(val) if(isnum(val)) diff --git a/code/modules/nano/_JSON.dm b/code/modules/nano/_JSON.dm index 5692e643ba..4f70e6e664 100644 --- a/code/modules/nano/_JSON.dm +++ b/code/modules/nano/_JSON.dm @@ -7,6 +7,6 @@ proc var/static/json_reader/_jsonr = new() return _jsonr.ReadObject(_jsonr.ScanJson(json)) - list2json(list/L) + list2json(list/L, var/cached_data = null) var/static/json_writer/_jsonw = new() - return _jsonw.WriteObject(L) + return _jsonw.WriteObject(L, cached_data) diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index 91e97c0cb5..bdfeffe58e 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -57,6 +57,8 @@ nanoui is used to open and update nano browser uis // the current status/visibility of the ui var/status = STATUS_INTERACTIVE + var/cached_data = null + // Only allow users with a certain user.stat to get updates. Defaults to 0 (concious) var/allowed_user_stat = 0 // -1 = ignore, 0 = alive, 1 = unconcious or alive, 2 = dead concious or alive @@ -366,7 +368,7 @@ nanoui is used to open and update nano browser uis template_data_json = list2json(templates) var/list/send_data = get_send_data(initial_data) - var/initial_data_json = list2json(send_data) + var/initial_data_json = list2json(send_data, cached_data) var/url_parameters_json = list2json(list("src" = "\ref[src]")) @@ -442,6 +444,19 @@ nanoui is used to open and update nano browser uis winset(user, window_id, "on-close=\"nanoclose [params]\"") +/** + * Appends already processed json txt to the list2json proc when setting initial-data and data pushes + * Used for data that is fucking huge like manifests and camera lists that doesn't change often. + * And we only want to process them when they change. + * Fuck javascript + * + * @return nothing + */ +/datum/nanoui/proc/load_cached_data(var/data) + cached_data = data + return + + /** * Push data to an already open UI window * @@ -455,7 +470,7 @@ nanoui is used to open and update nano browser uis var/list/send_data = get_send_data(data) //user << list2json(data) // used for debugging - user << output(list2params(list(list2json(send_data))),"[window_id].browser:receiveUpdateData") + user << output(list2params(list(list2json(send_data,cached_data))),"[window_id].browser:receiveUpdateData") /** * This Topic() proc is called whenever a user clicks on a link within a Nano UI diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl index 81a75a2500..38cc5ef945 100644 --- a/nano/templates/pda.tmpl +++ b/nano/templates/pda.tmpl @@ -294,12 +294,12 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{:helper.link('Reply', 'comment', {'choice' : "Message", 'target': data.active_conversation}, null, 'fixedLeft')}} - {{else data.mode== 41}} + {{else data.mode== 41}}
NameVarietyEYLMPrPtHarvest
[S.name]#[seed.uid][seed.endurance][seed.yield][seed.lifespan][seed.maturation][seed.production][seed.potency]
- {{if data.manifest.heads.length}} + {{if data.cached.heads.length}} - {{for data.manifest["heads"]}} + {{for data.cached["heads"]}} {{if value.rank == "Captain"}} {{else}} @@ -307,9 +307,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.sec.length}} + {{if data.cached.sec.length}} - {{for data.manifest["sec"]}} + {{for data.cached["sec"]}} {{if value.rank == "Head of Security"}} {{else}} @@ -317,9 +317,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.eng.length}} + {{if data.cached.eng.length}} - {{for data.manifest["eng"]}} + {{for data.cached["eng"]}} {{if value.rank == "Chief Engineer"}} {{else}} @@ -327,9 +327,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.med.length}} + {{if data.cached.med.length}} - {{for data.manifest["med"]}} + {{for data.cached["med"]}} {{if value.rank == "Chief Medical Officer"}} {{else}} @@ -337,9 +337,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.sci.length}} + {{if data.cached.sci.length}} - {{for data.manifest["sci"]}} + {{for data.cached["sci"]}} {{if value.rank == "Research Director"}} {{else}} @@ -347,9 +347,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.civ.length}} + {{if data.cached.civ.length}} - {{for data.manifest["civ"]}} + {{for data.cached["civ"]}} {{if value.rank == "Head of Personnel"}} {{else}} @@ -357,9 +357,9 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/for}} {{/if}} - {{if data.manifest.misc.length}} + {{if data.cached.misc.length}} - {{for data.manifest["misc"]}} + {{for data.cached["misc"]}} {{/for}} {{/if}} From c0469fc9b6134a32189cf551452ac7780e511cf5 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:15:58 -0500 Subject: [PATCH 205/282] Security camera console now also caches it' list of cameras. FUCKING HUGE. --- code/game/machinery/camera/camera.dm | 11 ++++- code/game/machinery/computer/camera.dm | 56 +++++++++++++++------- nano/templates/sec_camera.tmpl | 4 +- nano/templates/sec_camera_map_content.tmpl | 4 +- 4 files changed, 52 insertions(+), 23 deletions(-) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 8fe3387467..d631ca46df 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -36,6 +36,9 @@ wires = new(src) assembly = new(src) assembly.state = 4 + + invalidateCameraCache() + /* // Use this to look for cameras that have the same c_tag. for(var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network @@ -61,6 +64,7 @@ /obj/machinery/camera/emp_act(severity) if(!isEmpProof()) if(prob(100/severity)) + invalidateCameraCache() stat |= EMPED SetLuminosity(0) kick_viewers() @@ -71,7 +75,7 @@ stat &= ~EMPED cancelCameraAlarm() update_icon() - + invalidateCameraCache() ..() /obj/machinery/camera/bullet_act(var/obj/item/projectile/P) @@ -118,7 +122,7 @@ destroy() /obj/machinery/camera/attackby(obj/W as obj, mob/living/user as mob) - + invalidateCameraCache() // DECONSTRUCTION if(isscrewdriver(W)) //user << "You start to [panel_open ? "close" : "open"] the camera's panel." @@ -199,6 +203,7 @@ //legacy support, if choice is != 1 then just kick viewers without changing status kick_viewers() else + invalidateCameraCache() set_status( !src.status ) if (!(src.status)) visible_message("\red [user] has deactivated [src]!") @@ -218,6 +223,7 @@ //Used when someone breaks a camera /obj/machinery/camera/proc/destroy() + invalidateCameraCache() stat |= BROKEN kick_viewers() triggerCameraAlarm() @@ -232,6 +238,7 @@ /obj/machinery/camera/proc/set_status(var/newstatus) if (status != newstatus) status = newstatus + invalidateCameraCache() // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. //I guess that doesn't matter since they couldn't use it anyway? diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 0a7f27d701..7ffd7d1599 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -1,5 +1,8 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 +/proc/invalidateCameraCache() + for(var/obj/machinery/computer/security/s in world) + s.camera_cache = null /obj/machinery/computer/security name = "security camera monitor" @@ -10,6 +13,7 @@ var/list/network = list("SS13") var/mapping = 0//For the overview file, interesting bit of code. circuit = /obj/item/weapon/circuitboard/security + var/camera_cache = null attack_ai(var/mob/user as mob) @@ -32,29 +36,46 @@ data["current"] = null - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - if(can_access_camera(C)) - L.Add(C) + if(isnull(camera_cache)) + var/list/L = list() + for (var/obj/machinery/camera/C in cameranet.cameras) + if(can_access_camera(C)) + L.Add(C) + camera_sort(L) - camera_sort(L) + var/cameras[0] + for(var/obj/machinery/camera/C in L) + var/cam[0] + cam["name"] = C.c_tag + cam["deact"] = !C.can_use() + cam["camera"] = "\ref[C]" + cam["x"] = C.x + cam["y"] = C.y + cam["z"] = C.z - var/cameras[0] - for(var/obj/machinery/camera/C in L) - var/cam[0] - cam["name"] = C.c_tag - cam["deact"] = !C.can_use() - cam["camera"] = "\ref[C]" - cam["x"] = C.x - cam["y"] = C.y - cam["z"] = C.z + cameras[++cameras.len] = cam - cameras[++cameras.len] = cam + if(C == current) + data["current"] = cam + + var/list/camera_list = list("cameras" = cameras) + camera_cache=list2json(camera_list) + + else + if(current) + var/cam[0] + cam["name"] = current.c_tag + cam["deact"] = !current.can_use() + cam["camera"] = "\ref[current]" + cam["x"] = current.x + cam["y"] = current.y + cam["z"] = current.z - if(C == current) data["current"] = cam + - data["cameras"] = cameras + if(ui) + ui.load_cached_data(camera_cache) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -65,6 +86,7 @@ // adding a template with the key "mapHeader" replaces the map header content ui.add_template("mapHeader", "sec_camera_map_header.tmpl") + ui.load_cached_data(camera_cache) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/nano/templates/sec_camera.tmpl b/nano/templates/sec_camera.tmpl index ea18fb2047..886cb0f87c 100644 --- a/nano/templates/sec_camera.tmpl +++ b/nano/templates/sec_camera.tmpl @@ -12,7 +12,7 @@ Used In File(s): \code\game\machinery\computer\camera.dm
None
{{/if}} -{{for data.cameras}} +{{for data.cached.cameras}} {{if data.current && value.name == data.current.name}} {{:helper.link(value.name, '', {'switchTo' : value.camera}, 'selected')}} {{else value.deact}} @@ -20,4 +20,4 @@ Used In File(s): \code\game\machinery\computer\camera.dm {{else}} {{:helper.link(value.name, '', {'switchTo' : value.camera})}} {{/if}} -{{/for}} \ No newline at end of file +{{/for}} diff --git a/nano/templates/sec_camera_map_content.tmpl b/nano/templates/sec_camera_map_content.tmpl index 52dc8aeadd..55d9e05d4d 100644 --- a/nano/templates/sec_camera_map_content.tmpl +++ b/nano/templates/sec_camera_map_content.tmpl @@ -2,7 +2,7 @@ Title: Security Camera Console (Map content) Used In File(s): \code\game\machinery\computer\camera.dm --> -{{for data.cameras}} +{{for data.cached.cameras}} {{if value.z == 1}}
{{if data.current && value.name == data.current.name}} @@ -17,4 +17,4 @@ Used In File(s): \code\game\machinery\computer\camera.dm
{{/if}} -{{/for}} \ No newline at end of file +{{/for}} From 44a9a722d020ec266ae2955405204f20c6dff04f Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:21:14 -0500 Subject: [PATCH 206/282] Removed unused code that was intended for a different implenetation. --- code/defines/obj.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index a65db71d76..390add6394 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -175,7 +175,7 @@ using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( ) var/global/list/PDA_Manifest = list() var/global/ManifestJSON -/obj/effect/datacore/proc/get_manifest_json(var/client/c = null) +/obj/effect/datacore/proc/get_manifest_json() if(PDA_Manifest.len) return var/heads[0] diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index a7b69c4a17..be428f4fd0 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -464,7 +464,7 @@ var/global/list/obj/item/device/pda/PDAs = list() data["convo_job"] = sanitize(c["job"]) break if(mode==41) - data_core.get_manifest_json(user.client) + data_core.get_manifest_json() if(mode==3) @@ -537,12 +537,12 @@ var/global/list/obj/item/device/pda/PDAs = list() // update the ui if it exists, returns null if no ui is passed/found if(ui) ui.load_cached_data(ManifestJSON) - + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one - // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm + // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm ui = new(user, src, ui_key, "pda.tmpl", title, 520, 400) // when the ui is first opened this is the data it will use From 052ed36f7b9df62c3eea3ff57ea1c7a870571e27 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sun, 25 Jan 2015 07:47:55 -0500 Subject: [PATCH 207/282] Sanitized camera names removes the y infront of certain cameras names. --- code/game/machinery/computer/camera.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 7ffd7d1599..bf1b1afab9 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -46,7 +46,7 @@ var/cameras[0] for(var/obj/machinery/camera/C in L) var/cam[0] - cam["name"] = C.c_tag + cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() cam["camera"] = "\ref[C]" cam["x"] = C.x From f4471e4fdb1a8fcbd24e6ef5082949056edc1559 Mon Sep 17 00:00:00 2001 From: Lethal Ghost Date: Sun, 25 Jan 2015 20:33:18 +0500 Subject: [PATCH 208/282] More convenient give verb. You can give item by one click. And you are not able try to give items to yourself. --- code/modules/mob/living/carbon/give.dm | 42 ++++++++++++-------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 47e4282424..a7e29cfeae 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -1,18 +1,14 @@ -/mob/living/carbon/verb/give() +mob/living/carbon/verb/give(var/mob/living/carbon/target in view(1)-usr) set category = "IC" set name = "Give" - set src in view(1) - if(src.stat == 2 || usr.stat == 2 || src.client == null) - return - if(src == usr) - usr << "\red I feel stupider, suddenly." + if(target.stat == 2 || usr.stat == 2|| target.client == null) return var/obj/item/I if(!usr.hand && usr.r_hand == null) - usr << "\red You don't have anything in your right hand to give to [src.name]" + usr << "\red You don't have anything in your right hand to give to [target.name]" return if(usr.hand && usr.l_hand == null) - usr << "\red You don't have anything in your left hand to give to [src.name]" + usr << "\red You don't have anything in your left hand to give to [target.name]" return if(usr.hand) I = usr.l_hand @@ -20,38 +16,38 @@ I = usr.r_hand if(!I) return - if(src.r_hand == null || src.l_hand == null) - switch(alert(src,"[usr] wants to give you \a [I]?",,"Yes","No")) + if(target.r_hand == null || target.l_hand == null) + switch(alert(target,"[usr] wants to give you \a [I]?",,"Yes","No")) if("Yes") if(!I) return if(!Adjacent(usr)) usr << "\red You need to stay in reaching distance while giving an object." - src << "\red [usr.name] moved too far away." + target << "\red [usr.name] moved too far away." return if((usr.hand && usr.l_hand != I) || (!usr.hand && usr.r_hand != I)) usr << "\red You need to keep the item in your active hand." - src << "\red [usr.name] seem to have given up on giving \the [I.name] to you." + target << "\red [usr.name] seem to have given up on giving \the [I.name] to you." return if(src.r_hand != null && src.l_hand != null) - src << "\red Your hands are full." + target << "\red Your hands are full." usr << "\red Their hands are full." return else usr.drop_item() - if(src.r_hand == null) - src.r_hand = I + if(target.r_hand == null) + target.r_hand = I else - src.l_hand = I - I.loc = src + target.l_hand = I + I.loc = target I.layer = 20 - I.add_fingerprint(src) - src.update_inv_l_hand() - src.update_inv_r_hand() + I.add_fingerprint(target) + target.update_inv_l_hand() + target.update_inv_r_hand() usr.update_inv_l_hand() usr.update_inv_r_hand() - src.visible_message("\blue [usr.name] handed \the [I.name] to [src.name].") + target.visible_message("\blue [usr.name] handed \the [I.name] to [target.name].") if("No") - src.visible_message("\red [usr.name] tried to hand [I.name] to [src.name] but [src.name] didn't want it.") + target.visible_message("\red [usr.name] tried to hand [I.name] to [target.name] but [target.name] didn't want it.") else - usr << "\red [src.name]'s hands are full." + usr << "\red [target.name]'s hands are full." From c5afd47bc62ff5ba0218b2a8b62cca28573d6161 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 25 Jan 2015 17:11:06 +0100 Subject: [PATCH 209/282] Eating crayons --- code/game/objects/items/crayons.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index b68e1e61cd..8e1a382a86 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -91,7 +91,8 @@ /obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob) if(M == user) user << "You take a bite of the crayon and swallow it." -// user.nutrition += 5 + user.nutrition += 1 + user.reagents.add_reagent("crayon_dust",min(5,uses)/3) if(uses) uses -= 5 if(uses <= 0) From 7baeab055f04ced37746b08b7d8ce9133aedc4ec Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 25 Jan 2015 18:04:45 +0100 Subject: [PATCH 210/282] Paint recipes --- code/modules/reagents/Chemistry-Reagents.dm | 114 ++++++++++++++------ code/modules/reagents/Chemistry-Recipes.dm | 83 ++++++++++++++ 2 files changed, 166 insertions(+), 31 deletions(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 40ebeb09d0..714ff96b58 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1526,45 +1526,97 @@ datum color = "#888888" overdose = 5 - crayon_dust/red - name = "Red crayon dust" - id = "crayon_dust_red" - color = "#DA0000" + red + name = "Red crayon dust" + id = "crayon_dust_red" + color = "#FE191A" - crayon_dust/orange - name = "Orange crayon dust" - id = "crayon_dust_orange" - color = "#FF9300" + orange + name = "Orange crayon dust" + id = "crayon_dust_orange" + color = "#FFBE4F" - crayon_dust/yellow - name = "Yellow crayon dust" - id = "crayon_dust_yellow" - color = "#FFF200" + yellow + name = "Yellow crayon dust" + id = "crayon_dust_yellow" + color = "#FDFE7D" - crayon_dust/green - name = "Green crayon dust" - id = "crayon_dust_green" - color = "#A8E61D" + green + name = "Green crayon dust" + id = "crayon_dust_green" + color = "#18A31A" - crayon_dust/blue - name = "Blue crayon dust" - id = "crayon_dust_blue" - color = "#00B7EF" + blue + name = "Blue crayon dust" + id = "crayon_dust_blue" + color = "#247CFF" - crayon_dust/purple - name = "Purple crayon dust" - id = "crayon_dust_purple" - color = "#DA00FF" + purple + name = "Purple crayon dust" + id = "crayon_dust_purple" + color = "#CC0099" - crayon_dust/grey - name = "Grey crayon dust" - id = "crayon_dust_grey" + grey //Mime + name = "Grey crayon dust" + id = "crayon_dust_grey" + color = "#808080" + + brown //Rainbow + name = "Brown crayon dust" + id = "crayon_dust_brown" + color = "#846F35" + +//////////////////////////Paint////////////////////////////// + + paint + name = "Paint" + id = "paint" + description = "This paint will stick to almost any object" + reagent_state = LIQUID color = "#808080" + overdose = 15 + + //Paints corresponding to crayons are hardcoded + red + id = "paint_red" + color = "#FE191A" + + orange + id = "paint_orange" + color = "#FFBE4F" + + yellow + id = "paint_yellow" + color = "#FDFE7D" + + green + id = "paint_green" + color = "#18A31A" + + blue + id = "paint_blue" + color = "#247CFF" + + purple + id = "paint_purple" + color = "#CC0099" + + grey //Mime + id = "paint_grey" + color = "#808080" + + brown //Rainbow + id = "paint_brown" + color = "#846F35" + + black + id = "paint_black" + color = "#333333" + + white + id = "paint_white" + color = "#F0F8FF" - crayon_dust/brown - name = "Brown crayon dust" - id = "crayon_dust_brown" - color = "#846F35" //////////////////////////Poison stuff/////////////////////// diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 96b925674d..2aaaeec2fc 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1344,6 +1344,89 @@ datum var/obj/effect/golemrune/Z = new /obj/effect/golemrune Z.loc = get_turf(holder.my_atom) Z.announce_to_ghosts() + +//////////////////////////////////////////PAINT/////////////////////////////////////////// +//Crayon dust -> paint + red_paint + name = "Red paint" + id = "red_paint" + result = "paint_red" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1) + result_amount = 5 + + orange_paint + name = "Orange paint" + id = "orange_paint" + result = "paint_orange" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1) + result_amount = 5 + + yellow_paint + name = "Yellow paint" + id = "yellow_paint" + result = "paint_yellow" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1) + result_amount = 5 + + green_paint + name = "Green paint" + id = "green_paint" + result = "paint_green" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1) + result_amount = 5 + + blue_paint + name = "Blue paint" + id = "blue_paint" + result = "paint_blue" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1) + result_amount = 5 + + purple_paint + name = "Purple paint" + id = "purple_paint" + result = "paint_purple" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1) + result_amount = 5 + + grey_paint + name = "Grey paint" + id = "grey_paint" + result = "paint_grey" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1) + result_amount = 5 + + brown_paint + name = "Brown paint" + id = "brown_paint" + result = "paint_brown" + required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1) + result_amount = 5 + +//Ghetto reactions + + blood_paint + name = "Blood paint" + id = "blood_paint" + result = "paint_red" + required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) + result_amount = 5 + + milk_paint + name = "Milk paint" + id = "milk_paint" + result = "paint_white" + required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) + result_amount = 5 + + carbon_paint + name = "Carbon paint" + id = "carbon_paint" + result = "paint_black" + required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) + result_amount = 5 + + //////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// tofu From f5370f0c5e5c527b4481254b60cc318a4b36511a Mon Sep 17 00:00:00 2001 From: Amunak Date: Sun, 25 Jan 2015 22:31:25 +0100 Subject: [PATCH 211/282] Update stylesheet.dm --- code/stylesheet.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 937b5a71c3..5bb538a3dc 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -28,8 +28,8 @@ em {font-style: normal;font-weight: bold;} /* Admin: Private Messages */ .pm .howto {color: #ff0000; font-weight: bold; font-size: 200%;} .pm .in {color: #ff0000;} -.pm .out {color: #B54A4A;} -.pm .other {color: #164664;} +.pm .out {color: #ff0000;} +.pm .other {color: #0000ff;} /* Admin: Channels */ .mod_channel {color: #735638; font-weight: bold;} From 34d44f87320a69a46c1d99ff2ea567ac848a0383 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 15:16:27 +1300 Subject: [PATCH 212/282] Tape fixes - Fixed taping paper bundles - Reduced issues with sticking papers around corners - Removed a couple of colons from paper_bundle.dm --- code/game/objects/items/weapons/tape.dm | 13 ++++++++----- code/modules/paperwork/paper_bundle.dm | 7 +++++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index 2d82cacaad..477bce6b32 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -13,7 +13,7 @@ user.put_in_hands(tape) */ -/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user as mob) +/obj/item/weapon/tape_roll/proc/stick(var/obj/item/weapon/W, mob/user) if(!istype(W, /obj/item/weapon/paper)) return @@ -30,14 +30,14 @@ w_class = 1 layer = 4 anchored = 1 //it's sticky, no you cant move it - + var/obj/item/weapon/stuck = null /obj/item/weapon/ducttape/New() ..() flags |= NOBLUDGEON -/obj/item/weapon/ducttape/examine(mob/user as mob) +/obj/item/weapon/ducttape/examine(mob/user) return stuck.examine(user) /obj/item/weapon/ducttape/proc/attach(var/obj/item/weapon/W) @@ -47,7 +47,7 @@ name = W.name + " (taped)" overlays = W.overlays -/obj/item/weapon/ducttape/attack_self(mob/user as mob) +/obj/item/weapon/ducttape/attack_self(mob/user) if(!stuck) return @@ -60,7 +60,7 @@ overlays = null del(src) -/obj/item/weapon/ducttape/afterattack(var/A, mob/user as mob, flag, params) +/obj/item/weapon/ducttape/afterattack(var/A, mob/user, flag, params) if(!in_range(user, A) || istype(A, /obj/machinery/door) || !stuck) return @@ -70,6 +70,9 @@ var/dir_offset = 0 if(target_turf != source_turf) dir_offset = get_dir(source_turf, target_turf) + if(!(dir_offset in cardinal)) + user << "You cannot reach that from here." // can only place stuck papers in cardinal directions, to + return // reduce papers around corners issue. user.drop_from_inventory(src) forceMove(source_turf) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 7516d1b622..6cf8e9ba08 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -35,8 +35,9 @@ user.drop_from_inventory(P) P.loc = src if(istype(user,/mob/living/carbon/human)) - user:update_inv_l_hand() - user:update_inv_r_hand() + var/mob/living/carbon/human/H = user + H.update_inv_l_hand() + H.update_inv_r_hand() else if(istype(W, /obj/item/weapon/photo)) amount++ if(screen == 2) @@ -57,6 +58,8 @@ user << "You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name]." del(W) else + if(istype(W, /obj/item/weapon/tape_roll)) + return 0 if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/toy/crayon)) usr << browse("", "window=[name]") //Closes the dialog P = src[page] From 47157a20be52976c326b6d73e1454ebe8199c96b Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 17:57:34 +1300 Subject: [PATCH 213/282] Fixed mercenary game mode announcement --- code/game/gamemodes/nuclear/nuclear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 8fd46fc897..c2c6bb9475 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -11,7 +11,7 @@ var/global/list/turf/synd_spawn = list() /datum/game_mode/nuclear name = "mercenary" - config_tag = "nuclear" + config_tag = "mercenary" required_players = 15 required_players_secret = 25 // 25 players - 5 players to be the nuke ops = 20 players remaining required_enemies = 1 From 9bfa6093a26da1840267a7645740df68d5fe8bae Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 25 Jan 2015 23:59:07 -0500 Subject: [PATCH 214/282] Fixes portable generator balance Adjusts values so that the portable generators aren't so useless. --- code/modules/power/port_gen.dm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5b188f0bca..2223f2f9f9 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -105,8 +105,11 @@ display round(lastgen) and phorontank amount var/sheet_path = /obj/item/stack/sheet/mineral/phoron var/board_path = "/obj/item/weapon/circuitboard/pacman" var/sheet_left = 0 // How much is left of the sheet - var/time_per_sheet = 40 var/heat = 0 + + //produces up to 80 kW and lasts for 20 minutes with 50 sheets + var/time_per_sheet = 96 + power_gen = 20000 /obj/machinery/power/port_gen/pacman/initialize() ..() @@ -329,9 +332,12 @@ display round(lastgen) and phorontank amount name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" icon_state = "portgen1" sheet_path = /obj/item/stack/sheet/mineral/uranium - power_gen = 15000 - time_per_sheet = 65 board_path = "/obj/item/weapon/circuitboard/pacman/super" + + //produces 80 kW like the PACMAN but 50 sheets will last for 2 hours + power_gen = 20000 + time_per_sheet = 576 + overheat() explosion(src.loc, 3, 3, 3, -1) @@ -339,8 +345,11 @@ display round(lastgen) and phorontank amount name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" icon_state = "portgen2" sheet_path = /obj/item/stack/sheet/mineral/tritium - power_gen = 40000 - time_per_sheet = 80 board_path = "/obj/item/weapon/circuitboard/pacman/mrs" + + //produces 200 kW and lasts for 1 hour with 50 sheets + power_gen = 50000 + time_per_sheet = 288 + overheat() explosion(src.loc, 4, 4, 4, -1) From 37ceccf5a4603a4c1171cc7cd6d4acd53eaaf28d Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 18:24:12 +1300 Subject: [PATCH 215/282] Fixed removed items being put inside borgs --- code/modules/mob/living/silicon/robot/inventory.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 1b132cf27d..794b983f66 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -234,3 +234,7 @@ sight_mode |= module_state_3:sight_mode else src << "You need to disable a module first!" + +/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. + W.loc = get_turf(src) + return 1 From 8c53e30cfac488f80857338b830570ad27c1d324 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 19:53:42 +1300 Subject: [PATCH 216/282] Fixes telekinetic cat stealing --- code/modules/mob/living/simple_animal/friendly/cat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 4678531947..046d27d9ad 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -65,7 +65,7 @@ /mob/living/simple_animal/cat/MouseDrop(atom/over_object) var/mob/living/carbon/H = over_object - if(!istype(H)) return ..() + if(!istype(H) || !Adjacent(H)) return ..() if(H.a_intent == "help") get_scooped(H) From 9f5f7f0915bab291b4f6f1fd9a79ee82f585f216 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 26 Jan 2015 22:22:44 +1300 Subject: [PATCH 217/282] Added mirrored manual T-valves --- code/game/machinery/pipe/construction.dm | 31 +++++++++++++++++++-- code/game/machinery/pipe/pipe_dispenser.dm | 7 +++-- icons/obj/pipe-item.dmi | Bin 25353 -> 26654 bytes 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index baa5b9f975..c08eb80a79 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -48,6 +48,8 @@ Buildable meters #define PIPE_SCRUBBERS_DOWN 40 #define PIPE_SUPPLY_CAP 41 #define PIPE_SCRUBBERS_CAP 42 +///// Mirrored T-valve ~ because I couldn't be bothered re-sorting all of the defines +#define PIPE_MTVALVEM 43 /obj/item/pipe name = "pipe" @@ -130,6 +132,8 @@ Buildable meters src.pipe_type = PIPE_PASSIVE_GATE else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger)) src.pipe_type = PIPE_HEAT_EXCHANGE + else if(istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored)) + src.pipe_type = PIPE_MTVALVEM else if(istype(make_from, /obj/machinery/atmospherics/tvalve)) src.pipe_type = PIPE_MTVALVE else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply)) @@ -244,6 +248,7 @@ Buildable meters "scrubbers pipe down", \ "supply pipe cap", \ "scrubbers pipe cap", \ + "t-valve m", \ ) name = nlist[pipe_type+1] + " fitting" var/list/islist = list( \ @@ -293,6 +298,7 @@ Buildable meters "cap", \ "cap", \ "cap", \ + "mtvalvem", \ ) icon_state = islist[pipe_type + 1] @@ -369,9 +375,9 @@ Buildable meters return dir|flip|cw|acw if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD) return flip|cw|acw - if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE) + if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_MTVALVE) return dir|flip|cw - if(PIPE_GAS_FILTER_M, PIPE_GAS_MIXER_M) + if(PIPE_GAS_FILTER_M, PIPE_GAS_MIXER_M, PIPE_MTVALVEM) return dir|flip|acw if(PIPE_GAS_MIXER_T) return dir|cw|acw @@ -925,6 +931,26 @@ Buildable meters V.node3.initialize() V.node3.build_network() + if(PIPE_MTVALVEM) //manual t-valve + var/obj/machinery/atmospherics/tvalve/mirrored/V = new(src.loc) + V.set_dir(dir) + V.initialize_directions = pipe_dir + if (pipename) + V.name = pipename + var/turf/T = V.loc + V.level = T.intact ? 2 : 1 + V.initialize() + V.build_network() + if (V.node1) + V.node1.initialize() + V.node1.build_network() + if (V.node2) + V.node2.initialize() + V.node2.build_network() + if (V.node3) + V.node3.initialize() + V.node3.build_network() + if(PIPE_CAP) var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc) C.set_dir(dir) @@ -1168,6 +1194,7 @@ Buildable meters #undef PIPE_VOLUME_PUMP #undef PIPE_OUTLET_INJECT #undef PIPE_MTVALVE +#undef PIPE_MTVALVEM #undef PIPE_GAS_FILTER_M #undef PIPE_GAS_MIXER_T #undef PIPE_GAS_MIXER_M diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 49f566af57..fb296d2409 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -20,6 +20,7 @@ Pipe Cap
4-Way Manifold
Manual T-Valve
+Manual T-Valve - Mirrored
Upward Pipe
Downward Pipe
Supply pipes:
@@ -48,10 +49,10 @@ Scrubber
Meter
Gas Filter
-Gas Filter-Mirrored
+Gas Filter - Mirrored
Gas Mixer
-Gas Mixer-Mirrored
-Gas Mixer-T
+Gas Mixer - Mirrored
+Gas Mixer - T
Omni Gas Mixer
Omni Gas Filter
Heat exchange:
diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 2fa39fec047240b45cf2935f19265cb76f240631..1ad833316d1f02c2aa981bbeb2e89cc24845e12b 100644 GIT binary patch literal 26654 zcmZs?1z1#3+cvs~?o_%%P+C%ANI^nCM7mMByBWGcKmh>>1yLjgNof#JkW{+68-|>- zc;D~)&wsA#c%j0cy*E47dY-#hjHbF0As!7L1VMz#PZYEu2xbQU%HUvuEusCN{J;;? ze%g8-3a{KP-E3VvY@MAT$R|5txJeydfB<{{eD{8d7uK`&RyX_xJWm_bd=>ZRoUfga z*wyiz2OurdYPX+Hq|cZ3xECCcnrGx&rfM)PKeP_ET^xLI!UWGiV$`z-QE+M^^bD>_t+o! zJp53k7y6sw>$hzFs+io1*IM4KjB8(|7cV}n+9Whb2_JQQ7M0STRUq=zJ$TFO^C`G# zuY^`|WbT`{jnxCHRM#^sy>_d)+dDC}ex_%e()%F=f|wv>1zByM?CmChpBI1YQJ3%S zU-7s-wj7+13ndlE%Cce6!&`mLK(Hd4u+1w>xU9u*9j23bem(wz!C&)DRiMMfE{BtW zQx=9Ynt)Ejb8ZF#&D2jecSA^czkM9W3Gve9=fTC*@BJki%w}m-R=;XwKih4fzjP!i z`LcgXg4aE$J7X`Po65-2lJ&U4cH|x$4rhS&ms2&|8h9ZpQ9-YC%mct@f<< z6)rUc(N1`Hc*si2Zi|iK!VGcG2jEAC7S!#=FVBl^H&RJ>mAta;>Fr%$^xqa(US8h! z3sPzb{5r(micvIzTRvv5W5DtU9@b_?)%F@Xk|Zt~vHd?=WYZyHA|f=Z&5&Ud8F0z* zHZOnwdtmZ=Z^&v6kKhDBPb6PN8(9;G#hU43_d=j(<;DgJ>k{B`oE;vFia7s;p)xjBwk?{#10S*sq<5!8#N$rW^i|UXq#8#OC z*Fz;W7)$Ns;IQn0yFWkAw79g?=IRkJdwat8AsBU??C%<07*?ba6pXr@TkvY^S9{($ zZp}}XtO1@lrK^-#;?lfZJqaVD20Kyu?IqIW(?{9A4SeX_nO6EDph8oG>vU@uhAzKg zCM571URuxQwKLfj5f<1)^*%VSrY24BNW41Z;j7p(aUm_#^G|9+ezE2`1~2;lHofTm zdQE@-v`cDUb1kdh)SEa%W(wOr@;WvauerKfdtDj(^7ER9`1R>!0KBuS>-?lW5T45~ zjXA+Pvv+hp@6{MFQDQSWCXuQuD+_D!JF$~0!h4gRegv5vi(_J9O7f7ZD=W)7IhASh z4U4C+lv%T$?0JYMr=(b@-}{geeGCIH)Wi)OsX|g^j)7 zA>MW*`7@pxJ#oq9`ohzNjzf}D;Yyh=d(GE{E-EL7VcKKlX}c%b73@bxgnfI=(Rny> zWu!0WGyHvT56BL7js*VE<0*$Xn>&a-@iBf$rW{G7#z(ZSbt9M!YNhn4~ zBu1Brz*dlC3eV<9cy>>U?VwUvSeOnPtZ@$is$0Ie*cB({y_>!2o`6IYsl5vY+bkA4 zV={L#L-fLN1q1}z4V4@mxGyd*BgC1SbPur>UBonvjU8341rLN36)q5#78aj_!Uad* zz9crXQ_UtlUr)}D)(B$|Iqs?|Dn2Y$)%>bRmhU%8=%gFy|BfHmBZVD{w6lR@_ebDOCoFAGac7!&ue+=7sTn6^PVaBa$;$xD-5Zhs$J0S_Jc zM3%QNu?^=j_^8+3+SD}n3vTS4%OQ2Kx6;b!?vDkI!4QhzJ2^K2| zX&a2=g;5YU7Qh_;vule_9(ow5?K+uR(MU{229=#E+R*K#JwKPABLc6!!bL$*;lmd0 z;duZR71e$gU8nl()wLI1^(!&CSR4bK1YTWT!b54}AU(xXm2mw&G|hsxJMWooc6hsGSo3 zZ|Fi|cqfW$Wo0Gc@ncMlaD+J{J3G5%x2s;I1?FxGD(KGLyN?~{`C(T4LR#9|o!wns z%+k_~)YR0Y6fa&8koGkx z(C`ECiQDhfY4JHwhu~OL|LHCc?_LrJC~fjT%lwqG)SZ;n5^(NDOpW`*AHHm(^ux)d zpdBNFG|fknp}C}_@6A>QdwV*c>F$A#Mmu6Ls5#;;{PmR+C~Kp$JJZ#&hzxulG=kD+V?} zFSDflYc?&D7^LhnjVBl7KOW$&c|ErY%rCrZCK9p&%4rFtaY)bH2dRsZsi1 z6_i|Vf=HaVeBaN5*WP=FOB$Rf^WCuve-WqoHKGPNXcy2fOdq~AR*p`Es}!eTVN)Jc za6L@J4BA3bjr!kJ(}3*vQj43Lc75*zy9dv$WDNssgy9Pr zi6J2{Az|VCFJEvWP@{RiTeAza_MlsJHJlloM#(*Z6nqjsnGT#UM#^w^>cm!P?-xj! zxY8U3*Rh!S!KKbQM7mf?M_EM-U&qD9YMPoRsiyPV`hBLQr9G%^xh8!4_%SCRpD2%% zS8S4gLXrui(0Lw}dIA%(loWj&CEw4$vze$rf7GuQDO>nwB8@SSh<>9p_-GK11v>@x zm;ID$za9I2>5W&h1MG4Rg*b6b4l54I{>yH@L#e2S+6S*@w1=^VHpN~x=HG`~3BzMz zV!p{2dhblGcqgeODXXa|czb(~3x`63Lqj1uQ?*%sPYo2ZiS?#0S;nB_bJvp`F0V(N zO*w{`u6)ssF~&r80WBD%=jryyo>P~DuqBixT3La*NG|5H&vc7OlvD5JfBcAUQm*@U zW^&Si2m%}BCcPVHz)@YG0EX>yoLX91Mm(y5;e71|NWp~;JE|iDyeVFmfL4{oPs=HT zcBZN~^7V8jo0wcDK3zekDfhmQjrt{4FQop%?f;q0tf8Yr0a}_^B6)jF0Gx4hax&Z! z{8Qnvp#_m7k`q6yOaWaw=;rF2ImzD6u3d0IGVHtk7z+;%;r;vfA;goCRyDfOxw)jnLpS(` zfY!yFv=mjA3_@18**A^e6{ayk;V`q?QPSh}Xs%p{*i9sKhvO2_YEosiH&(*n>hCY{ z_ecrd)6+AE7|wsZe|CC`*Mg0OrDKCRpMly!9)WigN=^+ZKQ%QN8lbMkNBzP;Q@y*``qW`yQrIC5m<;e6!^BM^9!t}VWf=v&%ef^(;zgZMl{byLR03y z9$b^fFPm=S>)4U>f2gmgc3xdY@eY5xw~G*(Sb>&oz5@ znNfX;VT}VdF#(|yQ+L)oBKC(5AMS4y`nZ=(w;yo3a0$Qtp6Si5^ObV9U0G(~SVhO0G1rxTOOn z9iVXpiXPwo!$^aA*qsy*o{j%0&;J);EWSU}SMd3B^gvIKOi&Q~XCnPqKYem6OCe1Y zlRvuJp!1QpS0w#^NhyJ?M&|`00yn`@kBz>=ul+t+9ymi%T%0^O1DN-EYhh&SMbA$z z+*K4xpwxY03HjuLTR!U5|M6g0mG2-TBI3tn3-!nJwl-P79>w0Pt1jhHw=t*o&@x+K zW*j4S3?wyG05z5lz6t2dm7W_67mM#<%4UI{6m`VsR}k!w^b351#gCtPAADmch`bv< zC5iJ=h>1GpF@^Wb!M6Bh7gDZPj7(mfpX*&q2m7yHy^>8*R#B1D)z$6!{{c#8r`Dh7 z4}=p;I&3oAnF+Oga-x2(JY3n4xV@MFz{BMqvBwYffkJl6vijH9+1PM?zu9`M9B^@Q zQ4x#^+Ma8XUOw>aQhJJBa4Mdhjm3UT3077UNGj2`-RdEJX{rvtVJ!|D_*&MV7V2-* zyo>T_p<`h~Se)6zOoc5i(hbHWFCV^?YD#^wT9|IK7?SV#rDtw&hv4X)kH0vmQ}F=y zT%P#+D+?qlZ#s2fs2$k|pW68;&Eq>NG*#WTRvvuKMZs(I`TR#(8bwD<*R=m$Q|5rJ zjSasrA;#h9j*Hm(31Y@cv{O~EamGm=cgS+C$3QJv9n_E=Hif(7BU-Lgjb>NKw|emn5>A zv*+_+#QSa7j6J(!hd=WT5zn7LuLLCdmbHonUDf3mzB`#T{oy09+qeh!@bUtH2^mp( zy0f~HZn_E(JW^ushv2$v{;6TVDqmA)@cBx*Y|@u6Uy_?-<-7RjeAnLlfK6YJ*?&-9 z=&hwCqUHhzIUW3w$x-Njt(BFPK0BReBxjE9luUFmDC0GHEUdlV?~2BG_$)m{Ro zD7&gu5qcDC*WLT?IoQP7>|8I@`SYj6#qq|c7W#7E(}~yJKW=`~W|n<1L=5CgC#~fM zn;;!M6ry#+#ld&TYXPF6YluH zsc}bSTI$Hj2)T*IYw{!d_8pv}AH7aXi;St&=!_`m)vF1j<2hiKgP;FVzC}?pf_sYI z-o(xIevf_7Aw|Dd)8K2*R^el0{tBE^{k)rC+Hb2gC}9vBYG&I;?5g@pjP2gfCGD;I z;5v|nGiuE?&e%{%X$c18;X-GZ#)l25scVb{G*Ow^*etcSLUf==HFT^U;WC?mM^)## zgaux;*7N5>ph4V!{)tIcl=9uXcb`j3yV}CApZ4VVf%2adbYa_vgR9Ed8r=E`W1V??{xeY+=2tmk@Ze(P|!4_PToA|n5uE? z_+LZ_?gW4kzaz5;N2~oEf4}NhI!=lF5ByWIwf(YP*%`8Xbgl`iEA6}9XbLwLhcqT? z>c3;7qswbqI&SyZJ!K&h3`J-0leCe}YHiSvEoae>t^!&GKWTK(dryaK2!2{hO_Ii? zrYxZ}SdgLDtD8SWxrj%pMw5Ecd(^k>r4-iwlW*5jl`^L_~Ca3YFE>u^<59(V)qw z#^q`oXJ;ipKXHJ8aLkr}J6l=ZBO@aVmpl)E1I2_n80bKtK?$WY0B&iqqmY2#{yE9e zdGGu%7Zp12=UOx~stcRy5VrRv5Wi?3`@|ilH-!F)2Tm!$yYMrCRxHSZts&$GEF11l z0fjT{qxIJ7>+3V;Hud$Xfkq&GoqV`*F1>(^p=jwr*TRMducBDx=wH5i_3q6PDHyZe zJ5*%m(D=NInXxK9Kiz@sG`Vw4&7$nv_ahmA-fvIWKlfyLqSqHg&ha`WB@}?>fa4*h zO?UH$K**|dSwJf@X~Kinx3@8%AJ?Z-u@G=-;p!R&@BT|K{kwa=k$yd5U1dnpX>XE z`)6P7i9BU&>)VBmP~=wSzQ^}Lf2|k-2JCIQZVRgqTHBpzOlK9W|57O&bcI9$UByj{ z6z+a1NGA~#YQTmEwe=&ivy&5EW)XSdy8vqYugv)CRK+u!PFNhK;??)uD=ARKe;g01 zN|v^vRWq}w{p#4}j804>vdi~M-F-q#g~OZ>#*WSm9Z81{QRHTyqp+J#b`I)J{@uAP z>kSPJXaTLc0aq~iVKx!;B>!BIsbG^9{suK249VZwgQX9fnbU>@8K%+V!8X$|TY zE!jn)B55#1CT)R2ejFr(zfz+~<|IKvT>c)u(D%K${zvKcS&ZRuS?t8UB{XLlXdS5suhEhc5`_J}M9WE%B`hS( ziXvPB-3J9L`y6X$tn6rPVu_&%doo6!`BSfv9aCg6J+XAPo+nKSn}`U-_4V~9A(2ST zjQF&zy*<(Fj3@KAo%xA##ud-3xd!?PYJkKCSZXEq)%O-hAwEU;{SaQL^(nh@L z_v2)#DCPlSgUnPv@+;nTV+=Vq>0TGMiPfmUdeR@u^pTy=BKjZcj$o)c%!>Sjpdy#s zqH-FB9{>!=xw%O|60_`1q+j3N6$#v+MdTnc>=6Y=LQlqeQcb#Jg$51MHR7o!t@RMf z_O0O=0+Y-O&wwx!pr#f-7mH&hy}ZB#*TK~-D3rw;5*M7kAjGfeSddXuBQSiQA+QN{ z24xQDk?rd$UvZQUVyp_jYGqZjCFgU!?iIws!pa~Xx1yn?tp`HE=7^>uYXSDlwbw9}q18bJ_#JIPL-O$6$ zr#w1F&-tuGS|j~hm$8KGBQ&vC$-p#U_4D_CrmGuOQzK${@06JG;91yR+rsz3m4Sk^ zW`GbpJL|oB_pT(r(0e0&{dYS}0{?~lS^&GJp6tbQZ{`^yL>(tPySuw-)ggJtED^^= z=jL-OpC*$BE2dztqJjd=ssXcjERSl{$$(k_Au6%PB|UKY_4$)tK=d~0(zps7_}mW_r58D&e^6Fb zzL*(>pCYBfiU!)yicZ<9_#iNaWUyecR?)ct`A3hFf%3fS%fOo+Cxv*EXM9tD-8man zvXZRC@a(u$oxEQ(K*#(p9^?Zgk*7PKQiPNrpMlR7O24spS5G;0u- zRF!u#qJ!qAl$9H{WW0&%fa5~fU8$?7GRTbr!24r!GsDTrNzGIu1%vN0DclJO%jGvm zYep{OL#^%uQrHl3;As}Wa~m4nqX50})1zGCr+?tShcAt2Ox}$}^B0pcnkhgliJ}&U z_fggZIbG)(aMDB6eh0DTWVLPDva}veA{{*57oTGOiX(SjJ&YOl=>(5kRQ1h!^7O$P z;z2Idj~|jjy(#Pv0#Mp)Nnf(HKkwyDOc+|6=isY%gs2ba$&;o0Pr3iRm%xU^+>rdx z{8-D4@F%r*iyWO6u)#2cgGw!^t0u-cCAgLoRUp~9!Jio{Y}@KW)BOHTfdpX#M#c|6 zaXKP9srgY{@_j3Nt{@@zd*W&j)}K@c1JWZTB$St*-=@*)LQG^*Iag|AIV0?KqL!7T!d`&bLuMX;NAt; z;EIRAi|rAJEAo=Q79;xXIv3c8b>HAytiP-a)g?q`kDd7^cgQ=X1`Acw7mqhaY#bdQ z2L?)QuZOIztQ_o_Hd0hvUs`rgT1Xo(l^+dbqxv>R+65F4IN&T0r1tJ%SGiJg5%xt7 zYtp`gm5{8XVaP{6vlczT=@-y zQb$I|Z|#Lahw5=Tllm;tV@L1?Ra^=AouHYlTIZE7Ckt^ni>J^|UZZS682XVwJHyDmC9?X>~*`&lw3V}F}t?dg9}{c4`vO18zYof<>$XW*~g7(*A4F*ncG zG-0b&mmJ$X*&36b=CxyjZ}N0?_5A+5L=Ny^Z&e`tR$ByB6Ns9F7kk^=ohj_9S7k+M zV6ejVho7gA72gz=UmNhtV|3)h__lq9^~=a89pQJfc6V>KiA4R)LDsMNb1|SK~uQE2!=rbkfA{q78bxyfy_8# z!`1G8)<)5aI^8LgEvr3?pq%$Td9fY1fXO{k0Xy0Hw~&0Yb+CJJ!ilU6mfvZ)!pFPW znY(oe-g4=p4eFvsoEiz&q|Y&&2m)PF7QO24{5}RFvj@n!U~4Czi5`~_EyA{TCK5GW zjSF1`l-MzyOM~g0va~ojF%@U%RR8!haqhsH?x_~xWQ`+j^Z6<*TXz@kGa@%nk_Uuy zD(XLjohI*86A9t&Q||24(aW=7K(us3CHA&31B38u=yql^s3|`SoB=q)+?O?HO#swu z;3cYYg=5zo($Qa2Z(xmLNIMvEX9n;-a|@1Nc9i;naAjraVgU#S5Ph3u0u> zU9SCGxo>^wBl7BKz|(YXHOu+u$0YcJH$b4c^DFjPo0f*=R+7J}E>=MXPkejjlV6Od zA$fqIuA{>OoH9P07q^BP6>qx#ZasGEV7E%{0I&l7V=Q+BUylXDG|PeygnQ=vAESWW zO?&bmBC}`=2}b${Eu-|StT0PapgnfEoxAI%ldQ6z3j9f}s~=Wq;X6IX>5d&3LnmdF z$%TTr9#Jdt8Xv|{{)-htQTqGwKVz|4oLjt#8{h!s0@riy;Z+}+jD|+ioD|d3j@u&j zCh{mZ;6sMeQ?!7CD_%C=w{PpjrpYgd`raXaF}Q$4hu7XL z;h0Mt?`|Opkbi_H=Dyog`uRmhmNkNegeZI0)=B%?(X;R6lvNm-d>mX{u5NYA4~HSp zi~~+5tO0O?xf@3Ne=MkEK?MWO0wF#sB@q>_Eh{ge_6T#I>*}s~6F@CFWn)`}zNo){ z|1R9`J?TL?w_J-rW@o!I5CU`nfXF#8k&qH6VPn( z-&*lHxb}BMH4+I0Zx5NzoO@|$Asn^%UJB!fYNHp}BE7Uy9B2^vSE#}&^4W!pyG0?R zZM9JxPU-Sh`0b+Gm)oY5Xg0Q_o!zw-nEc!_28$NIfBmZa@PQ@g_)c`Ly5#f=BYwMW zMsW{LCdGHv4vTI0x2`(BP!q$`OFw>9=)@uof4P?l%VVo@q|28;~&BNuxeS5W`kj_ z8U1T~-RvYcJ-s`wyof^Z15*z+oz#iyqUH(S{sd^$pOK$QWmpLz^Ivc7e_EE-z7u}T z!1Rm+l*c=nm>EB;SUId;eoSBt`7i@-+vVrK?-kWHM6)dG?$SFDeB&;8wci0nD)2N{ z3C_PY-6VTL8WBOAAd@!%LGl~HyY*|~iqQM_up6B((mIlyojo$~-gANJ{>#ZqKDP8W z%3(fCkz|<|NDw44AQF9VQ_FXc&aYLdWBvnXCC(`u2X=hB_ye~yWhHa!oxouy2&aH@ zIyF1KCHjzyK0?s}`*(1~%Ff$Uen^t}f4~r&*Ce_nHUi&G0~7BSE<_O&WOsBmzg8p#3mL92WUb zC2oW?vW=Mgu8iwVNIt))#Z>IoR5I4zs{9yc-e~Yp0xmX+YU-G%SbH90j8CBRaB|MO zySagsSLiLB0ismN4Uf!L__~{(0QIAJY33``cRyk19CyLr-=A(>b2yK);h+)+wmcoFaZo$L^+GmZTlQ9X7#PH6UeMm-xz3>q}QrpUyi8mSU2asU3j zWfszh)%Kx(%tsfsFkaZb_TOo&AJBIW*TfPxV>yQiNEHt{AI=3FC9unp5}}Dr4jp48 zFiOK2sPxmar4SxC>4(;F--em*-^V>#8|VfGR)yP&N_1BSss87n&@KVDm-=oGyBIr6 z0G1~WdRRr-;rC<>o5~m6g0YR2(b$;N3w@B?=vQuOtRv$h)eBJN)i^tTNq>9B)4Gj? z!+4tk`B6jQ|K-2Dr_y~*z54t2N}M-1in>%ZkoiMN(x%}m}=qG zEe8SD+&{W4Nc9mmgZ2Z?q2z-yo*TEhM1L{`XKlz2L=Dvp@M9ap=T9Czx>AMU&_3Cf zGnPc2V=n2;U^B{Q$~pr(j@6Q%ia_Ny$pQYOqKWM@7a@?mt-I|)zSG>*V52H1Gr_-)a2CE(DXE2g|VOUBT_50+f$Ie(V@u| zv`(Cp9ADf~S)2A8GmiDj0EQ1iB!NmhwVGxjXUxM8Tz(MC zI_5?c=&a1;0~i@?W*F?*nPQqk{)fMG-Up1ko(! zYsXGwIY3j1dY@&A~;T*V7}I zNpCKG-CYgkM|(FOp5};{MgI=xh#F%xu_~O3-y&J~$lm@4qRHnYRy@r8xI|YacCX4& z-}P4yO6nnY#uIsYbZEY^n*kmAar8$5LIA5d(}@cxpDuzVopSaH0kC_m(E3atUsOz> z6v+AA#8NYVLE=n^r0>o?r9q;K$ir`i7$F{BYN7C4=O&T;m;+YRbJDQX22WOY9O8D z1dU)26)iv2{4APeqdzL`D0+YBhUAsi`^N^?zb_D~T30ud#GQ( zRGyd3O;5)^a$iL{lAj^^kw`@|v_5{!MuqTITKq8HgoFemFdk4Nxi>=V0*X5z1r?Fq z(Z>Csas5~FwBHgo_2Xf;{$nu$M=RC^FxGeUgd2E<`Q6#*$jz|ANK=Ny%fn2faReE` zz^{1Y;ck7PB1scxjksRodf)lx3)W_o&H6CmgsL@RiJP%95=X4z5CB}!>QCu1l8>3aOHPe z|K87gFF}O#eh2ql#3S4FDOfR2X)evm$! zcGuocqIkK4ke5<(sx=fLc|>Ip5I*E2tvz`gGBtY=4brU@GitQ?iKN)?Q+4;v))MY9 z3JegxN?lri*}LJv0z4T2^^nIS8ea-vP;qgw%N5eq?o62Y8-x~ zvQ!*qzM8^hHCZc;S{Q_&wxhY>;n1|SG{lbA@*Gb7FPQ{K37S03*9>BWDEC`YWn)tK zYObq`lauq-2o;e+Ngf^^A_Ff^6EbV*8gaz$=x?+Q9m-IXYDu-*Mg>Y7YBa(Kycqhg zwz^7$3}+zQ5S+^Q4h>#}QE_pVdBu1r&qa*Y_u>&9U0vhaFJAc@D55j3g=%KT>k(S@ z6;k(~%H!sFI6in3kM~aN2IQiWQ&U;hRCuCZoR7ukJjAh@`g54RbaArvxx75xF?wgQ zXU2Oe?Rk;Q@^0goLUW-!yN3+**c<;`mnt^D6y0%_VQnw`8N|6=!RVk&R<#|~pzh@* z@}G7xP|{maIL7Qr41p$-(uBSJE0}XMtqpmw)V)#ZsB|9J3&?#sw>}!wGceHIo62zu z!>5cPX}Bj|%a2Q^E9B_?A35)A(w9RT9VdKKB8F05ACLl7yvsB5Ve^ zI9vbj^yEW#&}S?}g?R^--6Gc*30Hm%jHR-A_=-!o&Y&h$h%+MW{)A3wbVcSN@hd|< z%gbEM*WADxA$EwsS8#gbZf(sGJz&_^dEqy)e?~7Nwt-6X$hV;6 zHVhAw_mo>)mynRi_bAKeVLxQ6DIl3bz+m@?^NuaECvIBD$MvSgow7}nECFDEu>@?@ zqsnaM30ZgWR7*mN!6AgZGaRutHZslqOWq49J zcF?JygWrv>5wceUV#*Ud2DPkX>%?NQ!BcF%D%ZUKXaIk0H~8d*gWm#XfRy_^5y#1b z46l?L;2YoS#D#^0-@26@X*XfNrNWp0is|{JP=KhyRS>zq7HQgrIe`0W_BaK^c}R5a zilxzgkbnT?UmmA8`1)k*`n3D!&tD>93(+Z@sj~RQaAaOZDG;MUvK|Ee$PU4p0+7o| z1g0kQ9})0p-ZNLIrt==uvg4NE0uucD2y#Q<&8}~5%7HEedc$0gNa#QD7vi&9CyV(} z40t^)q#&{amP#bCtEQQKAY`^39&;InGBEX%N{fr}Kx!x2y?HIiAA**erLawnjgl&_ z2Q2zB1lG5<$Zs^%)j=N++?R%|`ZFU;iK2S14|f|6Gz6^|%OMaz)HE{M9$SxbG=aJ7 zHJx3&zZ@^oM+zctn>Ll5M?p<_{cLMp^&=S$e$P#9Gcm%ju&{RbouhL!2Xrh9y|Ohf z#ru-VTmS@+G%Kh&J5}<>)TUy!#`EVrj-$XGyEFARwgUMv9$BZ^_g;b$G)x!q_b_+- zC%?7n0-0v9T18wblv<-lIMvg|W`O9QyMH!Zs2UOVYwc(O1oq1+L`vpVBX1NXu|#)(_$wIV`1`FOKf8 zbtV>k2f7wha1#8&20{BvlPa@X_X$%|((0-eBrpH!JCpYht$|QUpEe^V#cfd$5r9Oy z`GQSN>le?M6}fws>+U}#-(7%R zg{gU4-MWC{3u^dFKVly+NN(f50dUh+&K73rBZ}~g`8vOCJ%{4r_62k4-Gx3iZeSa1 zR$3^R4sW0&Xo*CSrQ1b3lZ6Ln1;*&yH)>_;m(&Q!)g zM5E!V=fVRUUdw(57z;Z9=h>k!nRocGtK!aFovZxNN*-G~t%!q6!>_C0tAp<7n3%Tt z`8-X1t+vEBHrTGdJ@t8juCAU<0S#{Jgar;a>1ml>UbU)+flvzwvSK7IVK8z-S2t%Z z*!;_36zNS`GjUt87qvz=Q&UsP85z+)!ax=lH8#>}z|RXd1C#|uP{mlbLWl{%)*LDS zm;U<(tR%N60slk(5P6t_>=R=&m9+?IwI7QDc z+nRmi&hFDw_BDIlrv(5^m6oZ{Cdwr~^tIFNy^>%u-CS@*X|aW-ARqjVF=90`Hs(=d zrs2kuGdOMAG;wOIi&AqC6&1y2yy}Y$1zi*lEWDw~$=HAYbOd?7yt6M8eI0+2HZ`mxeMIg63Pd^BCUyM(R0q{E2cYHK!hpw5+q+E^(%k+ z?TobV)-x5HOS{Y?Os@@%iLE9%;v!6%1L~EMc3eXKdAwdE)>_0N7NKs0%i+0H=uHyR zis(ID$uYR}l9_@t@u7hl)%xLa+~D|lG%y2@fyY9rn&(BvD1)7^cTJ?mYREH3Wbd)D z-G-z98Mwv6=pQ7gHgO-cswCrB|H;N37YV%ZaM!v6JKbT^M*l3_sg9rj3)OtNOYSEt zv^l48xuALG25yd9zyw?tt#Y0>&B^STnlz{>NX-WZNE$h zGHn3BZMf;k-+g=gu+!hCcS{?;i1@VN^P;gRjICW&XW42!DmAM*^7PyGki%T@<43=L z{}wJ}9uKk&DqLZXdbd(eDX9CnroF}h45M>^zwb~`ECOfb8q2GDn2$myo^6)$c>HN*jO_%jS=Hru-cMl%6 zao)ebpj&1X18VN}L=`q@@mh3`g=v`4rUwTRpyd!{i8|N3fYN!5f2CgBJ3}Wo3)F)% z^2f=Pq{J+7bB5Z)q_l zS+x14kqS!oJ;cXwaEKz4l$6x^&Q4cX9Oclze-y*lW+F2)GdA}29UxURI5owkW@kxh zQa(0t1L8ZSfG1Yr_yao298qFZX+OrRepPFHy7G^?>bI9z;l~dj(QbE?GE*6F_Wue7*Rc+@qSrVK1)>_#nfNVkDt7XWyB z95<#x=Y=luf1RKdBB&0iEfG5k;lYQgx#KB`E+lP3B-bBQ5xtYffFx?)3-c0x4=T0n z)2D>+>*MEBJ4uSSi9ui+f6%LD6P2Cr&=ObNaRp)d0Jc~cH@Am?#Na@B-(JR;nuIVf zRFS7pwErtLthD?4z+t*>=-=CiHqrAoG%?nkc%eGTq=B`L)>fHTmPCT3&$ff3B7RoF ziFSUo!e=;yXaDYi7*JVD2j$uY+{)<5DAg{^2TU= zN0NYc3&YrgIKH(qcS!!pk>YAJ=KiG8ZSzQ-M?r7JZ?v?uG~Q`d-wbOHdrSyqhudoZqZ#Ll`e z8f%j?J7Wd?M&A9Fdw{^@Gjf6j|x3UT<6~pC5l1^*V%5<^F%QnGHnT>CnO}a z0ij|EsbZg4Zdy=a_FzZ`#Kpp073!a_FC4o<8$l@Nb*gh*60sK#D_Fkr&W)bu^9hVA zBE)uw4g;S9ADfZ?De3mcMt-rh)dzh<*Z=MDzmgi{yqy;rB958c@J1cQ*GD@B^ugTV zc;+$k8(=XCOEE4}r)H&#Y15Q!!&I#|Qe*RcTK>9g-)0>}FAWYp3J4ClZlt{Z1leSL z(pH@Xk@rrx9!rl`Nk4~2e|S{11l12 zY0w>GYT9aO5bv@q*dQqy!u!T%KUfG>I`yXXo|^_Q5svJrU{)**vr9(bfzr`V4cTw( za{@({1q_ayI0<$DDC}|$I-+GwA554bM9h*ZD$e2AOb|v=4-vX?o>)jAgC;ik@a-Kzf?`xC8_2?mk_35Dtl@ zU^3qPt+nfO^JA`NsYqSlDt8~{-0{1n8a!@ZUF&yQ1V7SthST6YbYE42^07n1#s9?bSA%(wmzO7l zC`<#!uT(?T5`ybr2DaYyQYOZls|v%nLj971!r2TG}4l~sc26T_A~~KxBL<|1%X#p8w4P#18lTdT_WP+#_I+D2UhlwOX<#D@xDd ztzUbmHE*-@o7atH)VI0dW%#p;3?0C(K>h{8^eaee{^ioivsqLB;W;3Mj7p>M0LcLG zn0=JG1TEf-{!)?k2wC`PcJ8)NO93nSZ)7*ZnoW-yl5YV? zfJeXxmr*Bz9MNzHR^~Q5BDupr&?Um;3^ncVEHkUTm;L6&=dGIW-yhfDx2xSY72qP| zW3RZ?4}#Tnz>kA&0W`!^@cSch5;S6NC~|3U7u&J0-IcvnC65Q?k$=mBRz%zC{&VBw zQ_X=AfZD#MGq?8H!W(%8*nOn8TT*cP`BZU{Dv{^!>>_EHQM1c|36 zjsXS;V|OMHgsGL{m_s+5QmoZ9MJ*e1Bx+rKj2;Q4ibl3s0I4v+wp zieH6Fi#)yav7Z%5-{ZXF1NHuB^{=1a1swKr)W7^m9Z+^q#A zH~Uf2OyizlQDg>j29t@kD$!F$&7Qp17k+<-a8#s*L43y~K`~(Th=v1!zyk9TUw`BCH)nRrvyL(7SaL0RN%w3BAI5aH@c_B`3^e{fT_6XK zImEW8@_`nSpJZ=vI*|Qngd77UAy=N`Cow zo+G-5Ly=esow_Ga!nq^w*UqR#)5>id@VmD#be`pS;8aYUnSS1yc$;YUBnsUyMsGfi z&-Bm0J3(yJ)c`79`f7m~!0@OY)&Hle>kgzcZrhKMkv+0GRuS1-vWt=#iDZS0%siP@yQBkdayTUfDZz$exGeyHD@;{_*~YJfr8_&;7f8*L_`=JFk;`?rdFkIWPS4 z<*apJNr;l7?~ai+PiY4yBr}jP3OB(F2j_Dgtt8YcRaHE?o+7QyB&%#~42}XZ=TS-c zzVii@dQ+-$(~T8#(Yv)YyQ^c(&#czxQL#VMz2(6HCaCZT@I4ptrB|e#r&RDBY~_C= zW)r@o_eRh|ofQR2i@MWIv-)Niy;rDryWdE)Cy>y|gc(Y<5=&-aIyucI%j`e$yfMBk zEwNTr#btQd86r@!p(u+A+N8BZCLL-Ls9ZiEg-V=qjjP#T!(Hh%O-uvKZWFxVeuNB&8 zYh>^{tdKaz{`IBKjMu}KztkiPp4_*a^jZkL&|-Y+mgbLB%BQ~<7AE)$wpgn3^i~TL zzxEqm4TG6Ot>~lVR10NNfHj6-{_nm1|3{J*`mR(A)(?9`EjqumN*5!1eejefNPP=; zbE!^j<_6*QdSn}TF-mX6PMo(@e)pe>usajOFlIL@!&}#DhF988O?mL?s^sDn)B?`) zjqAf$%v#2`Z?9`eukcsav;fDA%Mthx32BCdaIz7t)pOvUWw}vf~d8v#t;b<>HKDWd$?Zy;KOG(AqTAS*?WhL4>x)r@k zL=sw9sdoMP^?~oFKuSy|y4uT+ux}(n8piz)lBV|0@X#j_8W>%PiHcHxjqS0oOQ3r7 z+nzo&Za)5j;Hx_aEZ3UPzE>t|ct6o3^7l5bI~BX`yl1m!=0$A?|f z^p1b;*qGMEtK_LnrgS=$qNz#1`PJ@e=j=!CjY$c#bR9)La&}-RY;2QvtD3NPbW{Z+ zHiAnx5x8O13dY}WV4TE0qEe&|zM(^_#`lKs)**6@@neZ8;jjWGcgoeu#F6HvaH6)v zNoji;XC8qZ@X^vzQfImqw#c6+Cc3Zu606>u40t(8rqM)aAjZwud1*SgYK_wGX%hGT z<$#NbrHbuY7u2Np|6@bJgx^ZeeY{}g+8eV=LVAS*@N*vh2O378l}#CL;vxZ{IheXc z))%te5soUonus7ey#z}o`h+(G1yA*!3dKRX8k{_In@FvbF4u=h`t3hB)VfCLo=Sga187|m?+MsQcp!RudenViA+zV% zn>SBDG;$a8P0$W5gQo~Q;13@WQ+>$H4A=daB@p>1u!MO$SFKY4upy|~_V;~TCIopa zGs??-1}aUgk%O~#O$lMNH%cGyeSQ@6?hUEIwgTc5i8_L-A9dI4%|`O+e(*ooS%z2sH9XiMoo+9zx<$2g#=s7zUz@M8~dCB=p5<=ik0@qtOWP9~r|1 z1Q$+2xPJqK!Swd@aK1P%I$|%@PG88*Z89#X#z%ao9}_tN}`Ku$y@osc`ZC)M)c#2>SoCvs)O$7Yt@Y)~Qdsh8(u7QJ|@SQ?#1+350c)8|9 z_?IvG%;p9BrBQc-GMHpzsPF4DsBL)J*g~+bv^N>^ap>lBS^)lT&B*W*;%8yR9KOiE z=pHJzW*qG?;}$w6yRH!5t%xCqCsaL7AgEI%d7^U_8;#`UfpOg+a%sLx|wGbPULe!-g)=AQ4hvLbKkSZ*9m_ z@mNrD8J9(rO-7lWK<&PGU_&8Rr)PC4K(DR6{V}m9)ced=3_J!>>Ut<= zx1)jcaF&QbBvt`A>FEnQ$RvK7v{1gLan}yNA{_ECh_^Ww!tE!k{Zvqfmg)mP5{_a{ zX;L{heSZI5#cL$7G@|k^$msD9kkTO3f#y^OAFXAYsdUo_HF-qMh;2^5S*9vo2V;Fx zqXkbGZ_n(n1@Bc=%*9>A*~3V|FhPS%!)lF$mQMxW-VJnE6FB!%kD8i?L?e!^zBfYy zPr1kkSml_^OkU{K{F8z%<*c7{)62vbc4-NoDj?TtL@ej==rOX^qGWiIUa&ZWt zE3N=9e-30en6m&gXkx-sFyBa}w48(8h!3GBib1F&v>}8F1iTYfJ`ZpepW^y`*@9oZ zK!x|jItq#2Dj@!9omIAS)pXFzIF^hk)FOLqW`;x7J)mWKy|&m7E>CT4*?+ zMcvBj2T zi3_co^r@S5Q~S(JpzH$+iIc|p>-2b4M>DVD1sgkHzhS6PS2_IZte(cimZVnk~x|{n#u3| z&^M7TrHv|DO7syzoK2@HWb5kXs^X?bj(Lm6lusa3C~NuCUL~3CY1F&@NBuT8p3|{? zAvhXTC0y!!%f?0dEAEJ3yDiO9$@_-+Lh20;K{NyW-!&Czi`1!7n`4xV^ZL2Ng_$=CM(yFrRKh> z{PyJeb6Ut3qo-0>N6K8M;*{V+eiJx)<$ffYS47>p`|9=Dl*u(SbDbv5Et35D020 z>*4%6{DOjH2ld_8?M2#{85xPe2n6H*yU?7XKT01?$+9)Ymyz^@!M~Zm=m+0$EEUh8XbG0bG_+CWsKLrgkEMrR zWi-YkqVdTzx&JGZ6B?nq8P4ERMxv}!+BBIp{P$#YNxI%ezTQFg`cOM>kR`(%D&Hpj z;ZT_3c8lh%3KiUi^(k4iCJ{45lHM@zKA68q+=Y`>;!Y-5hXie8)QIwHYql$alzq&( z-~5FH+fBlIJ&hfQ@tT9bfO^;)xtDGQI`V11v^Mn%Ro<(!pw7_)ht;cBud-82zI^-` zG3Uo|(dV!F?b|7NU$nsI=m9+wC|U2Zx}GP~Fo?w&o8cfEzLk4V%{y{K^4)!dO@w?E z(suqA=P~N_mQ+|7Qym;PSL_}8ctuY*vCFB?jJ`O+F# z2;BDkF>WcZtn{y$84yLngOPEU@+qcmSWXjA_@xR+NARy-jGxq259Zlw=LSdjd=&!0 zur`YY$pvV~4xF99atyPDI&U$Ew0P6^?ze1Sc9Cnjv)ZL;U`YPBS7cCp;XuA#Qnyp8 z2&!2s?XI^7ALMjWL$fx3<6gKbsOzm9P8~Cm@7Z<7XCiAT*LFuYpFNj+V4!AXFP#hT z9F_{?gD6ufqy#noor8Ro%Gcg6ZFu|eOLK7HR;ih;tK1utlTbegX$)2ZtZLNwtZ@z$ zk|@N^qSkH1)*_ag)mhW7J58wS5=fHeBrS{PT$yddLcN5nKfspUA_K zY8WuwW5qRw6Zk9MRj<+YMD~hE{mPezBjrQE{CLuh-^aaN*kvfcr1_sl3hjHjO=!do zTpaV&BHl+9-_0Z+nCH59@ix5em5Q94^W3@p45yDlVwvORE+gD8 zYDd$uulZ_@3-=wxtg>J7H|+h+Y|Cl9XB`01KE=C(qeEwit06&W2Nk%EhdrJ;VMm1= ziLsu#$5S518VUc?1Ls6=GFm?XZ6;~#!#hy{mXez~DSER`XW{a+oYLo>6bO{Tl?E;@ z6NY~aqCAb#@SYNuJitmaa2QfQG2cI_q-42 z3|zkb7(hG7ndkG}e;Fi|a8G$P$oS43it@2MrbVr?FWO&jVy^WBBo{G3dsG}?@}gBh zLGOdwTF2#Jk^(3@qCnv7wwkk}!6+_pAj^Wi|Iy}zgCXX{ix>M7fi|KKJud_Rtpd{% z?Pz?G%aG~lniV9miRzfTFv;ihmIE^~GGg!Guz?vB-YZl(oL|(yl%SEx|nCk z*H^CU&I0=5$Nrq%A=cL1@a4>ozwO$ktn%w;F*uj%)O%G=jVy$bfgvB4mtoiOil)%< zJdF`-mtbJ;>E*>GEKCWJjCBbivGklK&LilZ4~2!I7siFG8N(|!uXe|*B(ly_fSeoQ z(UODs20R3IrQsfaAWE@aed4OhO=7nl2o<5yxr=wg@k-M9+9iqSA(olghtmgOAl`Z4 z2YR9E{pWM@=VFYVlmOld2?;fLfd-k=?6&Eo^+xqsIcBBc->=^t@I9k5-K-5h_Q$PB zQx+lY!5E~1*u7R z(-z-7YVH(U_`jvW7)+JP9x7K;FkwZvXJe*iyVj~Pf2+FbF>K8 z${^>j$-Fn=J_3&6OR;VOIyxk1;mPO7_<0mlP6($jmWoZ5+D+(NT3YGDSCGtSeemUL zEr`ly4BIh8Gxu{&J5{oK;Rl&BA*pLYz& zL2WNDit-*BSXCc(%IwF>OoooF?gq?JhcM!CR-cjvHNqH_CzzH$9b#SY-&fbs(Wx7w zI?!H$)BvRoqia=c83v(1Jq`uHiU}MA*f)|cywkvXgDv`hv11|dE6>oR?K`vpmhliA zjk-zsbpJEB@d!~B`@YHt=LkENNpX4)uGMtRiUhJ=a(4BAC}2PHfH>l1l73>yb6xju z0teU^{>!GTTBHoFLcdLo8DZO?fAi+K4nw;uSPQ>}Ge?_@wRJM7sSVOOPE_l)sD(*o z;L~Yx_xN}HV%o!xwA-}gl|O*;19u1Vx91Py zKNVH9*Yuauc*gqIDtI_4f`WpIB@%HGV2E?*xLpXDmWV-I{3fcxDE^?~c&CKv6EB zIuq>UVZS;ZQeg53HX!E z82;qiU60AfYaOW%#24@V?%sXNSXMiB%Z22+@4RwXO>k_WB2~YnL)6>r9^cpiSQGS1KI>k57H}-T zUF5RDw66X0Ji{#p{eo~Oq9~f1Mf5L+@znh&b)s#?IUqlW|i|OZ_sDo7Uy?YA7Ulb@g(&n!FIEi1-N4jr8zl5be!uZi*K_ zaBC-Ie2@2$c&AOhIpTHnPhEy;{~N)M1mn|DZObf=gCQGtn`pf+S%n9!F@e>I?%>%C zTz;6k4LQMxnaC!m`%kC?Row=m=qk-1=TKIr0u*P=63UVX-Tpzpz#>91k?i5^c?rk2 zo1wY6xtvMYdb574c9*@Jj!j1ot4IFXEk_UE4gZSgqT1En4L#@K+}zz4*Uolt z)TVqaU>O`PFtw0^Xt0;)MO!;3hGV@%w`I@K>sba&tgMY)U6dfS%v8kB>UY?JfgBSD z$4`LOMKv`-MkgQ*`MtEnKX|ga5L3`6z!Lkhh?8{Bh^CD|hnIF~X$hC}?eFhDZ4{s_ z*=j?J6O@276S75Uqr(l4VP%f_-X=Z+hxw7(hJG0onB9;S+RMQIz#iYMpLa89sl2R= znUC`_<)Br7u&c?UVj2V-(rmVpdvQT$Huy zDVb-{o}>ANK)`niBsg#Qj*DaX#*pGKI-0h(%DWFPmBU#ov&z5RJNw+2)z4vAEn!V# zM->@7R9HE?P(xiKs{Hl)IhG2dUuYsxZ8|g>ElI(~Oz_ecY0UjWIjSO?*N9?anH9dw z#=_#!3CU#+c}r|0Dy2r{wT?kD5s{H%Qc{mcMobj^HVGlpYyWUZ5ajkt0rMyPdU*vj zy0Lh1Z3OfV$ll&w5h!m;CYB|vwoc0i#ogaaA;0ug>N6`V4WPB<7s71m#H;jmQPz&G<}1IZ8% ztyA(Ux^m@8g}L4fBl;Do5yKZ*&qxahxV?I?Tf-LP#j@OE7GD*q2Cs-X9=}TrHYa4K z)Xx(kv(Tqrp;*_t_bH3|eIhZ_0)_H+ODuneFaz1`#MO_i790nGY2L~Lqsm#q=Mvq6 zLLdw(XUC+GudU@?iHX0Nh+4L(h4jP59+vk4t~~UQc~?2r_L94F^5e#Kv-M407$m`A z8@Y8Utv1{e4aM8{?Cg4mh9d4uJBfvv|4gs@183>z=s-f(mdFPW#Yw-?#xbGZ4KZ!r zGBF|bJbH(T2@CHX*;%!%Bh92MZX8Qz>pySUeKkeFeSdIqbuDYvGv9oFb^pU5HluHE zc6~ho!xxjigX2!e#+*j3JPi>}ZiJMbC8tU0DsaZGX@rD?^e?sZdeS~R2|oGTzR$tN zX6f(G;yU#`k9nA@ej8*o**CvP);b6zHDIyd@0C6x>6S^=Nr_g+A9Osky1ELr*x%pp zdxE_*$T#`YLN|Ry_w(=P(zkBi3bkT-_2!NE-6E#0?g9yEctcpUI?XY_L0@R3B=AEJ zqPMue5zu(4&a0|~L)cHdEb+LN>A1cg&me~$Knvb2)J9iVSH;H2E_!cMa&@h{v-2UZ zpEXQ~_6O5bQX13A$o8>&Q&MB-UZ1B37N9X2~r zqQWC?h;HXC#XBccHNpREwfgyTfq4x+QW^NoP+$g{2d*Ds9*14wB|Qw(Bh*?<0kD=~wcbNKgS z)w#tvdgdDI z=un*I&CeLAwkCqR%uGz74sQk!AM8{B8rm5&V)Dj9CS}zGR#AR%uNc;v=9zA99Vi&& z7t!&s$u*OC%|_MU_58QmQ5sUb+{$W+Lu#f1Sp zhp^tMskPVBZLTcMqVdocnW3e{`?ULby}ke{XsBqYqa%%;Q6ps z>=tzQ!Ns!-mDSa`V%S{DwXZ3RH!m>cFszZ*>C`l$E;u(Ykdu zVejNl?X^h`4{jq4o9qb=Au%^IHdRxJabs8~#3o zfG)_Im65SxBHC%l&(B8?K!>xAG*q4e0b?6PykiaiKOsAs;n+s}YIpLq&3H|jkCLx) zIUL9J`noB{BTf9*>f8^nWm%itY@4+SOx^awlz;u&yGxueF`Am5{@~u=2%68lB4yDj z@@YNo+SFv4`L8`H@d5R;m%mgARCZi1rYnVf+{?bf|EeZ|pquBc;AWJJR@}%Ee5&$< z^(gIydg^iD~Vy*r!kV zQ^V=daq!rCPKMm z#l>_~x`(OeU+EBuMoC{J-yU1Zy*FNvT-J{@@96A2cp{g-he^&`Tf9|GUC19SBe3mf zWf=}0Rcjv~2wPJsKU)3!SN@7nG>KYbjtJe1KDGEaiuO>y1aH2(jh|~H$0D+?d&Pe4 zW|g^PZeG?jy!k<>MH-`;@NTXUs;IB@N5?Pb!|YhM0l!mWjwN*Wa}1wcoMAY7Uzlh& z#Dx95Ku{Hp+vul}oz&+?;d0)uI_~3YPyTd6FhR?9oz3qs>QsHL(z2EfZ9a}m{x+nE zJaiB0lxDn>lau$2eag>vtbbf8QBOsyd{t~sN@%sY{w$*1m6B-iu-M^=8MU`a!p=TG z#;lVPePZr}Z`G1fyU?{l(bP(`c7wyieAh+^l|yoMQjsyd(|-vK(U>qPN&)eV%XtN( zmN`Sok3|SN0>~#vM;lsNH0R@M&CM+hWzyT+6=hZn&-&pjhwT45G(pzlA$zD}kjAZy z=9frufTKRM&EO%+hA)ey48g1JMV=t_y$1wOb`i42VedbS7g;!e`fnXzQY= zA3rWz#orH>f7scnt#!uQAnTSo@jKJ>=FQFG_r(H5jzQXF)liq6yR!QlWqjw1wfYP62)$t znl6pHG>W<;ZN&bt=1*?VHWYXkVdfzD#-6mA{u^Lopf}*hFEuPjh!U96J-&@6T$Pq& ziTxR)CphyzD6`!+mmHQBJ%OYia3#gWkeQmymbrO(**b)H%W7uyN>ZH=I4Sg8N$};6 Rhrj!ST)nKLp08>d_J0S_>vRAB literal 25353 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 pCKM+`d6k7Kl Date: Sun, 25 Jan 2015 11:35:48 -0500 Subject: [PATCH 218/282] Fixes radiator exposed surface value Fixed the RADIATOR_EXPOSED_SURFACE_AREA_RATIO constant. The existing value of 3 cm was bad the value needs to be unitless. Also replaced the RADIATOR_OPTIMUM_PRESSURE placeholder with something that has a bit more substance. --- code/ATMOSPHERICS/datum_pipeline.dm | 4 ++-- code/setup.dm | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index fd933bf94d..7f0b838a1f 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -203,11 +203,11 @@ datum/pipeline //surface must be the surface area in m^2 proc/radiate_heat_to_space(surface, thermal_conductivity) var/gas_density = air.total_moles/air.volume - thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*T20C) ), 1) + thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*GAS_CRITICAL_TEMPERATURE) ), 1) //mult by density ratio // We only get heat from the star on the exposed surface area. // If the HE pipes gain more energy from AVERAGE_SOLAR_RADIATION than they can radiate, then they have a net heat increase. - var/heat_gain = AVERAGE_SOLAR_RADIATION * RADIATOR_EXPOSED_SURFACE_AREA * thermal_conductivity + var/heat_gain = AVERAGE_SOLAR_RADIATION * (RADIATOR_EXPOSED_SURFACE_AREA_RATIO * surface) * thermal_conductivity // Previously, the temperature would enter equilibrium at 26C or 294K. // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. diff --git a/code/setup.dm b/code/setup.dm index e3cb2606ab..e61da1c4cd 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -12,8 +12,16 @@ #define STEFAN_BOLTZMANN_CONSTANT 5.6704e-8 //W/(m^2*K^4) #define COSMIC_RADIATION_TEMPERATURE 3.15 //K #define AVERAGE_SOLAR_RADIATION 200 //W/m^2. Kind of arbitrary. Really this should depend on the sun position much like solars. From the numbers on Erebus, this'd be an orbit of 23.3 lightseconds. -#define RADIATOR_OPTIMUM_PRESSURE 110 //kPa at 20 C -#define RADIATOR_EXPOSED_SURFACE_AREA 0.03 //The pipe looks to be thin vertically and wide horizontally, so we'll assume that it's three centimeters thick and only explosed to the sun edge-on. +#define RADIATOR_OPTIMUM_PRESSURE 3771 //kPa - this should be higher as gasses aren't great conductors until they are dense. Used the critical pressure for air. +#define GAS_CRITICAL_TEMPERATURE 132.65 //K - the critical point temperature for air + +/* + The pipe looks to be thin vertically and wide horizontally, so we'll assume that it's + three centimeters thick, one meter wide, and only explosed to the sun 3 degrees off of edge-on. + Since the radiatior is uniform along it's length, the ratio of surface area touched by sunlight + to the total surface area is the same as the ratio of the perimeter of the cross-section. +*/ +#define RADIATOR_EXPOSED_SURFACE_AREA_RATIO 0.04 // (3 cm + 100 cm * sin(3deg))/(2*(3+100 cm)) //unitless ratio #define CELL_VOLUME 2500 //liters in a cell #define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC From f6b3bfce1c1ae4eb41b25d9780f6e4001ab1c2a5 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 26 Jan 2015 13:07:31 +0100 Subject: [PATCH 219/282] The AI eye now has a sprite. Also defines new (see_)invisibility levels for the AI eye, to ensure that cultists visiting the other side cannot suddenly see it while still allowing observers to. Uses a black and white version of the face hologram as placeholder. --- code/modules/mob/dead/observer/observer.dm | 4 ++-- .../mob/living/silicon/ai/freelook/eye.dm | 9 +++++---- code/setup.dm | 2 ++ icons/mob/AI.dmi | Bin 225452 -> 226052 bytes 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c1d577834d..f34e328d17 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -26,7 +26,7 @@ /mob/dead/observer/New(mob/body) sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF - see_invisible = SEE_INVISIBLE_OBSERVER + see_invisible = SEE_INVISIBLE_OBSERVER_AI_EYE see_in_dark = 100 verbs += /mob/dead/observer/proc/dead_tele @@ -409,7 +409,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" if (see_invisible == SEE_INVISIBLE_OBSERVER_NOLIGHTING) - see_invisible = SEE_INVISIBLE_OBSERVER + see_invisible = SEE_INVISIBLE_OBSERVER_AI_EYE else see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 590ff71ea5..d86d71607f 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -1,18 +1,19 @@ // AI EYE // -// An invisible (no icon) mob that the AI controls to look around the station with. +// A mob that the AI controls to look around the station with. // It streams chunks as it moves around, which will show it what the AI can and cannot see. /mob/aiEye name = "Inactive AI Eye" - icon = 'icons/obj/status_display.dmi' // For AI friend secret shh :o + icon = 'icons/mob/AI.dmi' + icon_state = "eye" + alpha = 127 var/list/visibleCameraChunks = list() var/mob/living/silicon/ai/ai = null density = 0 status_flags = GODMODE // You can't damage it. - mouse_opacity = 0 see_in_dark = 7 - invisibility = INVISIBILITY_MAXIMUM + invisibility = INVISIBILITY_AI_EYE // Movement code. Returns 0 to stop air movement from moving it. /mob/aiEye/Move() diff --git a/code/setup.dm b/code/setup.dm index 338181e50e..ebb62c5858 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -482,6 +482,8 @@ #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 +#define INVISIBILITY_AI_EYE 61 +#define SEE_INVISIBLE_OBSERVER_AI_EYE 61 #define INVISIBILITY_MAXIMUM 100 diff --git a/icons/mob/AI.dmi b/icons/mob/AI.dmi index 4525fea606a643590991a0c296737aa1db2f128f..0653f3b482e552b0f341021669b4aed9b3cda671 100644 GIT binary patch delta 12872 zcmZvC1yodR7w!-e(jg#9r%0%PbW2IMv~)>#9vTH{6hS(a5D@7cloX^vBxLBJhaQ+= zX72d?e*gXNT9@^57Bj;-v(J9_e)ita^L|<-i`^ni;{>Kc44?TuaqzYCaq;qV@$>+J zg7RjKwLI5ZDP9d_9i5k0%!9;VFldasxuSWGA>X0kqxk*O8VfZfPk! z7+#Vu$l_Q{TJH3#8>oKSpgr$i5d3}o?m0NT;u(7H!I8k$IYbEa5ar?)Fu?Bp{fLGB zo=%Vv_;j$w^<_zf760V>7HJs^Oy0kRdn z4(@g`s}S}((zEXkf~l1eta^-E-$<$8MFf_YGo+1FifOEkfI;vf60*3VC35I6}4 zoIk&~EeISu0tEn$R(NYMn-7I9{eV}Q;p*M|889mTbJ4lx_WT#E5q){KhZ^5A7MWt0 zN}1|xH{0=Rgg_uxkopq^L(vWo3jCFclu{K+`4bRaJZXs-gnU zAq<9ZjfMq}bwLZHdZ=~>zqPIJc}$N~wJC>R?3rKmubcgF;QOhSYbjYrhwFs+;Q4*61k)m9uRR88dYg1m{T8FD~`!Wo1&_b0Tu~;jXVMwN9K9XZPZUb0o zd<@Y>I;@%Ne6*G^D7s62J;{Qa6s2glqz!=}yC93_%V%1U|5*SnB3uH@E==g;7q?Ta zYVj6IK0Lh9=rMS=s4Bpyu0=DZ`;Os7@=R$_I{@n}U>Cg%8Cz2^bt|h- znT&Nsq3;6h*QR0xP}+V;;F8n5^ZtKUsy2?7&fqskdGO!sH1v=MgO9_f#r|ip zly^VGzapB~v{O#Gn|t`4Ijkc`PI4q&X_~g(oXNpl6xT36?J>FL|2hkDmTakAu!|fj zc1hVkbDsI?A|TpglUy!HxV@P~-xAUZkR4Z5R(2Qu@8e_tPSuC};#^#L`C6meFVdt?#hWIwIA2`L>>53*S<>b1T7vOW}z832>J^ns)^sYSEV8dO74ZR=lfs zYf7X))H;G$kwAV(&LBCJ_#DSbS@h`JT!AP`U^^S8Or<{DMw;uUBnxKa<;!YU2c@2@ z&4JrL?){Sq7s!TLgl9N@g)L}QFyH!?P8-dDOR-&ioz4DTx8-rDN!dQ=w(v#hXPMYO zHcEg+_9{l@i9Ejl@eCaqvj}Bg?~U@!h7-2TATHq58l~curM%sO-T^TG4n1%_5}wx^ zM|s+Y%Xt-{Kn2x(l^aXy6^lPa7Sm+`{0Wv8NMX%SU{P^JW%HVLFdzHSKarjcQmWpC zMskbp@H`2*#hB{ZG&3f38nwHeDV&u+6lVoZ-g^+PxPqFb)YJV<8e59zN8}#`q8-(a z)O7RsmP7Rmi)C5EnR`CSm342-S2s>eRRs~<6c-WkR#1>xZlPl7Arv`v?r4Jl_xbw~ zo=JEjPoW<}t|Qvx>kmGOPCY!N{LCb{Xyp|hU|@Q|S1TJeV_>1L#0~K1Wv@+1sxc~2 zQqzZST1*9R-=g@sGBQD^r>xi$M_2Nc=r*IYi*DIuU&7<={2a9LIf?tWppG6L5KgKv zN&1D3`cdN~E2q1mF+?!579FZYtPe_$$_FF$SX6cMI_I&FNS z-xU_*2ztF))r=9HTL!xFtkba{O9Fn)*UqjXjFCCsqcJ1?CW3t}^gM1FSz3u#xyq@`$3{#|+i$Y=NqB<$lJs1Q z6TdH1(YZKVNU1@APiq=d5}{xsVMv@C)tt^x8AcLDGg>kUOutQPH6|f8frp{sCEdXM z!QQFoIg2N%#Q^-g4uc*#IXS8N_DNMFf_b~MP^#PYy&i*dsYtgmH{qQ-!qZntdbbs2 z20Y~)8Kn-c{aP@suUGV}@M7{<8CFFnJ{|;4T}9z=bRs{Y2$LU=v*d3M6?Y!1hG7b& z1Ec!wM#9B_`E7}u{QOyVlJOe3UavHpmHWHbV~f5ku8xTrPs}; z@}h-ayGr}XB<@4GMFnY1dWBTo$VaQYx4Hv%r+aq!#1SCSF-& z?HUmByQ4IF5HE9~A`yICRL~iu8)^;X6i&WX$(U}$1#J4wzjtL?Ycme=g02W@7;5liZjCB z!28L%kBTyH!p$+>EtrZiOaKO*=ah(jHdw7QrugnZx!|>p;|NX3ra)x^P{9XMfq8LC zrQXp5w70nbY)M0mWh>kJmOFgSYsXE}NA{irRjc9&e? zh?SYE*T^axUzzr)Bq0t}-bKlg=Msp-3aZCgD-t`*bd1tTbH5A7* z*yT7P_f3;fF4!x6FyRw$3>`Y}=eVrcI}!Pku~Notx5=eo@ib#5D9k&3OUQ5+BHha& zRAY(Rg*fiPxXJrYF;gg!_Z_ML#~g+=oJ;9Dktq*Zosw6^8sO@mVU}2}{Cn*h-hmdY z2In9=6Cx%aH{Ib5ItpCw5ZaSFykI%Mf{Z~5u@*|7_N{l6pb~QN8aru|3zG&9?RK|c zot$2xgZ6JPe|?aaNl&r6(dI%o#smvl5n?uXT%Ewnla6K1kp$Zzk_O*mE4Ddf(JW;} z^f!f^`7u#IKi(^hE>*zS{&1yv=;F)Q3kcOg^tT~_g_5Em;AHLVYF(67jDO5QvoW&w zu_d02J4DB~HwBhKTJzV*FZaPJ3t7EXni-@9TX#IIz=^=izI}~1c7r~BO^+;c*P=OmMW5#@ z6C$^zXrCxNilv=#uR=SR)={BeRpN-DFt`ZC>b*5tSL8IrGb&)aw*P2PPA^e^71x;t6{KxB6WojT&zM>78(ItaTAQ zTogt&)+knj=idpYXijLAok z@#^o^`OB*OytpCdO*R3pZTTH81|Jn*1&CR3{K*>$#Ghp0a|s5`sSt_l=@w#|C?Dk! z$6+9 zfv|~l&rP8IuC^`Tv-E&DS<2LMK}U}a{KNc0>sz?+qvV)93LIi)`jYgfc>tj#BG24? zOjE76GEfO#K8I8b;k$}y9yLR*X9a&Z4X;pgS}41mccBv|A+D&FDk1zsWHK-y){PQ~ z3^&DiH)ATs|K#|RSWAz4Af)U50$@iz@%6T)IDKdYeX2l1=NafUX_6?%`n3!g8-Q&= z``ylY`(FHE$3-v{7`Vq5zgk4u95FyK;Xrh&t{P&J+R-Upnn2EE2JgHp>8F;R9XdQy zYU1A=G9o-dRK;MRG;T8Qa6qvbNM;B& zoW|9zUcj<{*Fv1)2CTX;b5(QGA9Z|fU5bSj*_cO7)>CBMfZr6XMEMV5($cDmWR=2I zN*IMf4(^ISdyx0>-C37QWhoU``lfKLBTgC|Bno81b5-f+RX<>c)@-vQsBp#jPzr2b zz1uu&Y{cp!FS1U2>G6rX8w!c|1mi1S7FFRXtq|-~)6Ddri+d@ejQm~e+EZTLv3_WX ziV8v##`Yv@06^CsxU?{>`^%UR`aS$@7t9FjbWl;><83UiY679V;9!(C3bS2^xsS$P zs!#6jw;)nKq6U4@El4;NYnx7?>>sc9vU$~i6l0X>GKD0@hON(U+#UTbJnkBA79jSN0NQG+&Ejqa*VU=s)n z3W1O8YiJZ(r~>SeN-YmtO%p}Nl^HC(nRTpQt{T2?BXInHFq>xva3U)`8yK zlll3;9Sa)@HE-J(xb6g$Tzj}<4zS^WH(~9X778ZtML$h^YSCs6=u$&Z zT3_7Y;qCk78Wov3A0ZOYdMV9RRiPSF!nV@IQ+x`tqM3%IMWjh@$*C)_#fDkSi^dlO zvFK*8-ez|(c{%(5(PYB>T>oxWVqg?zU2M76-$jH;_H07Qe$>pOFh-iPoX)FBl98K| zO7ZQgnSkP{)cY#TuXD@cjr-h}fHed)Vi6F9ftp0zhzyiPIJbCcbKmBR*5LW>wscXT)K^H?kg*gbAWg7wp-DhjZ0qa)s-*5H_>)C zL8OtpT;TTIq@;vl_JPW?f4Q?6!_IPe(`!<3NU=-;+J z{_WlXKl;Ae5OyXEj|6BkM3lMRVjJT%dbrf*@Oag!6}#p0<0G5z@A2VtU2@wKk4~_= z@HOi9IbB}k+*P8KH9hoQ+?T=DN>Ub?>#g){EC`K5Fuf`0z70+xFR8l)%&-0+(R15~ z?ov#BM{6LOAN!Avy9Q!YJ}L9oVN!F}KxDOP3}*EM>;P!DvPM-^PJwt^GaSN@n@N_1 z;d^o5EqTfBnLW$ zRb(f90JbswA;=8#iAJ0|!pGVw(L%3*!c1s8S;n`td+)4&kQEF(tu%-*p8q)f-Ire6 z$1iu&?t#C3Q$W*;ekas0#5;n4&!&H95lrFDR1mX?j9^pf4|xCZ1Sz4=YlSB~oy9>t z>sGWoA^#$Q-PhK0QAm*4tUT~UF=A9WY|%5}wBgPIIJ=~~t5n|GvS7yp8qw1PSmmXD zBaYTKZc-rTXy;Ea z=E)W48qIPkWl2%Ai}zWJ)vdYpaxNRxdNMV#f|nDLn{95NE#!N6nmX+v=FKjGuF6kf z{qbf`Ub^cVKb2pAt&k}h+iC$xVZpVfkQXAYE-tUelhrUE`jIYU`B91(`mv)+je0bw z?h?(i?}~iIzcVG|hvO=vw?9XiAo&%}e}PVfVHC_Dmy#JyQOI=bcQJt*h*4qwE|FFg zW|{+5p8f482x*7ONR>YG04-m;ffvew>lTR4(aM*{3(lFA?L-+Tz>o%9crFhwAORgR z2N;3({b9kD4A0@1g*w%PHekVMIpBVgi6HfY3Bn3{s&ECosU7yG30cKsvTJEK9>;PmbWoOwDk{U@o@p_2 z=J64k4M{%q*ro9y zE0P<+)00PLRv|?qepNC{T`z`y?d1R*(~EXDfBQ4j0@i0B`uQ&*Edo46aB+Fi{Y+sq zhKw#Gt%Ipm$a5nGO;3rNh&NsBsQ3lP9|zVCc&m+OL5Bi%UsaM(5v$s6v!N5Bx)z1A z2S`giBaWb83GUm^st=-0a#=ncMAfE87OO-DC?F|Zk-KfX@b|i2$KP)J)JOtkcr`zn z)IG0;19f=#cRC0jhhiwI7EhKG{!GR1J;5<@vZwrVD1(O9J#H^C&D9LX4DrNQpV*@* zq1}{{J9$Q@prhg5@q~cu<%E;f(i*y&Y6zDI z^^|->jRId^XD(eYENX<`0G7WVgl%a-gsD-XvcMY(-?wYH6BLlK`M|u*D7Ibe2_tfz z$)h1i^#H%-F5cG`;%q_cS`i8KeC85*bum3~<9u#$HE?wc0C$~_3-+hIn*xpG9$$ku z`8t`NV3W$R4nqjQdgVzmSAiJlq`q87Sfz%EC^vY*k;c8{vH=*s?yuSdcn-k|=deJG zdowx}l^J-H1V;YquEB^e0(nsIb78O?aI)hNu~mzO;09~PP$WgbJ>T_@2;G`^qVrNl zlL)Lcjo&Swg)k_mde$j?_K7kY(~(2%djAx;K$PX&5P#%vm3ZzKvbW^6bhd{h*bEb; zOJY950yog;6%8Lizl?)#^GaZE95`#fgGW#@s3UcT6OUthj@+y(Kp z@3TugHTdn>Q5O|wH)y(obEExd<2<@KfxWQ-f`8SG`}zI?xbSqkTF+u6Ca(}nak!-r znTS@MGb%5_eIt{6;P(yQ6xT&bch)`CgV*H+0~zJzTr&V8M4KqNT5XC`eXUP__MM7I zEqr3j$2(~$`3{Kds)Sa-!?l?E6@H$L>D~4be=s3e+zV4zptphI5 ze}?;JjQBXlI0De-7dUz&+);``O3B|^|7g7wRBtNBQ5DGC@A$gNsXf#0D|c0;P$oBp4j}8T zke)m-AsA$nx95CFYC{1|=iAe19p4Gj2~YG$Q9w&MdKjBxu3ta*F&XPlh3Mo=nx!1GT~;Nv+2lL|D~MHKIK!KNq6sn*S#F`hNApT&@VvZ^s!H2hXb zAZhgGgzV8}^Lp3;UE-_Dm~W8BieSCu2&nsW1}mMQg^+tWVv>xrskT1hqCY$)9ui=C zf-HyXv$5%Uj}*=P>`eM+x41ig%1ot>Hh=f%z=V!;78rjO0O~?zc)*v|mn$sG@to0( z`d;pNzV=lQ7friWVy09?WU~y{qXXGuwZ*e9q=OQ(CSaA-P^c zSWvIp8B0MS6hJ&v1rOmuVHK%Q0A0FPn_XC9t-`s?1`Mh22#R3)n{gr5GW|wJ@^%ua|1B{~0X>>W~!Jjte=CGaMS3 zbT;w+VOAo_nA^!u*cYeD?HTEvMQaACO|#*#5UoEHpHt-8tMtoxx( z;EfIa5@yzp)D;sg3ccx3k3u$uD}Y12@4_)=n`U!u@AGF>x_P0a!k)1Re4iCiMyvFN zq(W0DicxPZ@%NhqErsI+7v@l=FTcz`-kx$Ul|8yPumBQ@BSFVG;9t{N&Hzz7zdQ&1r!n%(MmL=xh0hc# zI2>rkC|(p!iv94uxegsF-btDCjkt5uJ3@JwwmZS`3`>D-0(VnJvrf%yv8^$-O@1F%Lyp1QrTpmCj8FaAQ23+IM~rhd>*x#h2P&$u?J*I@CchxlJy_oVO=%zldln zj+&sYnz~%`?5hjX{OPWY*FtF7qc`S5I^p8Bl7?Y-ARTJ4I}|lSSDYYX;^jbiS^(9W z1xS&=lmrF{Tl}lXB4Ie-njeJjF>RBwstXH*{s4Dyk z{lwqdI_g%GHCXm+gDPd;;G>htq+Q;W-Md5lQ&p!H$WXV+pIYOb=j8CE;pK^Oeo?ZQ zz!GNjiC&Z;wHmFpruZmJfYpuc4XFwa5`nyE5Wv{ZVsJCIgm7YTse}X4Vu#CSTzjGd%vn<-Ivc`FMjD$Gd&bXJ+bZjc0?{~g?>me|IWtZ~q9j#$| z=ysxv?WGb`sX&lXhSCtLgVx#*|*LZq~wRBGk6=Bs2Ml$cx7Yn5>tmFIR(|A zr`4Zo$H>-O2e;W6SLkr9P{(S+`hBgw-GfAt)O)6Y|LmqjZ6t0I?9wE$GCSZOa@ z^O*I~zw#$U2(bma9dEO5FffaB#43gi>rWVy2X-T+?d(5&dL2kUvcJDCzDf3v%1CNg zR<_QJ#tOW5`Tz4qF9XxPeVDp#hXUlU68U;kcMPX}Cjr1uZ~c|V>8()8-k+zjR-!sq zz6tQvs%NA*+-6Ty(~qcSyHCNa7+F+7yR(h^SL$0ZO7q?WV#(_^J4x%66??ayivP9mSfjIfWD-BRiaw=fUC#nB%;L9 zXX3`Q>!^8JA)=0?zwc;V2q|4`N#@e?Tt&EZqRAk}VD;9}~thFhUCh_I3G`?=8$gjq#MXuN} zv0 zdvjS3K_ z43YTAbnVFMe!bjB3JTFHM7V-1nMAwlicg8|W!S5!_3*qL*KLa);g%QfZVz)bQt0mX zi8lvM9?b9z)C$pvV)dkLKdy7}lgu*l?13^OYSn_9?p#H=Jkm$^81;$VIW@d?iB0c7 zX%wrKGn%dzG7ABg_G0Zq*_s3jmgR|N>~(9V(qIc8n|^;{SB2tU55@RWe_>778_qVG z?4Oe&Ts2zqKA=7Y0ZEpzwnrSf8{G!0__35;jJi>M<@nGv%^nHEN8dQhMhUtPB*tkm z+XYg?inNF|G=0XyZSX}w=+z93HQ%|ziKK<(t1=hBuO~yKu<(fl?uJFnY57JDBtxEv zm@%WZjv%k&X$MooFZB$sf_v!IA2mv1KOyJ?2zgiPKel1bW73bTtI4x*aUo9U@uDFl z%3$Su$-&JfZ;NOsO49-KzHAeL5~Fz)oqE_Db&>{;rxNQdvC5HnePfTX4wfHTp+x}d zCs*PN?8LQns!@hh*W&qpGi;|D>I+^&Z_f*Z*N%-4YCY;q$u6rt?g~c_CGc<(BG2so zNfMox^!4cttdaQX_}QF6>VIxIXS@|}Mz}3n7feQ+w=>}-QJG<~Uv zfor4iELsyEL`{EPC_X{BgRiQu4?`o8E;O>&AHSaf9~^dEZR~uMxagB%WpjK#Z6-}q zGC50g<2&UECqQKOy8BXm!Qh7yJLo2330_%B-+jv7<7gtRVsm8YdA*@ac8)b2=cr#O zqW*dx3ZS7QbHEWHpxYhsd(Uc6416_Oobs=akvN1$n>=zOugc@zJ!Z81`N(|*bxZLl ztNp`jvywyv>G|!-o9b%sT90qdSot%Zo6G`V`}du96Zc=RNs_F|haHOZVwKDw#M#al z%D4!NOA$#rHy0CYyiQcha_=9}Afx+Bfg8m~%-PO#-ZQi9*Ap*Q`;Am`ajB&R4VT>x zdE;XZ%d1~x+)(_g*LDHD((@q!=4qLy1 z7DBOE2g;N5ui87^z34~(1yUPQq9|WN57wEzR*_`ws3cz?8W!8-z^KN((0L$+xdAfy z@;Vg^6;o66yUWPvY<(@5NX@Cl8Ry>%R&=^kNww>bJ>F7HZPDXm_F}dl%e)driebq% zpK!0R6BJl!y+dmO=$0sx^^Qm_tFWgPevQ=!f)yC^rF+_fS|fR4`BN@IvO0qTyOTxE zL_sk1mn2Od-1xO#jvn1tj)$G6+Op@BI`yAFgPuU4N2|SeWy9X-gzp+G1w->K7wO5< z|IJewHZK;`sn{QO8G#8R3A~FYt_7n(CJh8S04f2<_WUgvcs9z|ZCa|e!a>n>XIq?g z7r*f9F(g9ntC9ds<0Q8)u3&uRZ!8nMS^pF@=#=xWooZ^2Agegp^C#$!H%=#2uO^fz z-V~yCkR`$am^u_f7tu1h+{=?aelj_}gr}`GMVs@9YKl=1C!13@w7L#r|WVpNmEBB8RJToS)@Mv7X&MIqMK!rbt3&^m!|}i>_ctPhmIA zI!&`Nc&`*jSR$OI*{DGXl&!E_FD;6vY5QEA7O9JZ7BeCDaHf7ypzUM$xWmz(vWU3_7P+1cc=rR%hhLy#HFU=Fn` z$L8Re9>`7=rrKJx-{0kKvMbF{u7Du=oC{RjdG_d1{zJjmCfz)+Ig*FGUT<8~$|Fh! zyF%H#?u_G_jG~*D;d>4V!v85&uTh#NL>A80U*qnbO^K~`+!LgjL-Y}%{pW~=Fz1V4 zOG(hf>rX#7U#8i|f(kL)FgA93(|ETg=f7NJEG28Bcd|xf?!)({At*A?-9qF?Q0Hb~ z#795i+aL8v`tnz)^uL^HA?^nU zn|70)(F`7&($Qr=e6z4(hjPFUb#b^uKKITRw(`F<_^7>e&;rr!vVtKF@mMZFfy==> zBqSuAdzP?WMD47r_r<>Hi-(5)DZ@bTHftn$#my6{Q-I*}M1Pm^%FJx_!=)Pb51hL5 zLDz`d#M>ti5BiixUUV##_~DhQAHHE!E1mX{`#0<^-`7HKOpjduu$23D>IBA@FUC*+ zYlG=#OgZm*Bobck3925F;&dLY4?gADuLn+21a=@{NT%!K9H*qgLdwe|1wD?+(T zg@~Q(h|0YNPXM_HTJq{8+hYz52ngUf`3orCT4}h_NJER4hA0*)v)g>?c>qM8|0sCJ z!7xkHP0j4nI0rs0kIRoQ#w*l@Z{!EnkAewA+?`h5W3g`KzLO-|^YRF!+$z(I! zJ(`rC;Q#P+X#9=i%_$W_5Wp2Hf0iC5-6HE46?##*N~b6jdcp4*)O)9W3yzHu0Z-F& z(=ID0iS;FJAS4_fpZZ^@kE*2!t(thRibKTP9QEhTsQHIpb zDsQg5R&wVYGxP9xN9Hh3@)q*t&_=T2{Nl>D+RvPDCT9Tz3^OR#;f}x(Q_NumW%jaJ zr8)|>V@FtC>b>(1kg9Gpk-nr#E>A2;+i9khLJrTVfQ8hZs;H{7u^W>9yR^Wm7|;t3 z8;5&c9<6Gz%>A7?E=X{UJ;a$deLV%At;Ck zn8n7Z%U8T1*B~ms*3ms14xCiU)RDUqQMH1@B`}*#Al@_J?XIcWzr1!*MWG-@rIQnkiuClJ;JGc#qf}wME}u zIp9ri3u^otUI+MNb*#;%#HSd-tZPawngKZ-tt^V>V#Jcg3 zZxF(sPx4ZX3jZ=TVTU@>D%rKT)a`lsRf3Vz;)pVUEvZyFmo546F5bA@d7M7LKuEMw zKgc}Y)+Q0@BTxiGcEj#NaRdYej#pwRJTBk;GaCNssF1IwutVL%ftmnUWx2CJN@vCW z&XlrsQeAPT<7%JxvI&CF{tCrKrFFhWvrGQ*8<5ATOO18EpSFs;x8@JMr<^RsY!=EG$*)xZ<@1CZHZEz?_$UXma z4E0Y!)q{DVpkN5M_fzgPPI4Vqwy_4ikFiVN=xw>hjlAxuz1$l!R8?yyV$5WS#U5T< zc5409AZN2A6S_2gLjTg){Ogk?x*Z+P1m$4!SZ z2>5lV-z=a0AiK3io}-Fdc*XE|IEF%&S3^U?EF8QU!}uQ@84%TWz#qa(jMe>+CP)fY ze1aRyn-0w_;>61T$Rse8g?^AXva5L35r>ctHKSm|Pa}mer*@A&;xyoNTW^Sz+$n%( zjuQ|6=C`#4Ug)M9Iq-=TzvJNihYQ(UARr|AvGee6<*~WPRJ0PVdHN~QndTPTccw^6 zaIx2eD%w&J^@0G#*>@n;lqkQcXN1WHww!(vJRK@>r)nh=0cy_Jq0cWG%Y&%CKe?e7 zURXx@rWA)fTT0&Q*7y8J#7~c^nI8P90KlJo4Ja5R((TY1dgN7`H$h$IL>oIyq$&Cp z)c=g|C7&z{;f}qkL6)ryn*a@=;q8`g$J=Zh+B#mFvhofas*}tKANj4*9~A2kq-7WL zt6ESs-FN%Lcl@(TOZ_6zyWlSIF`w6#m~UcZsYd^0CGvUV#zLgT*KNUj|IY6Z8K-Qi qbnT=+VR?=YqW|0?zTWc^gM-hVCl5*e@)CsoQCHS}Qmgnp`u_kV^%JN7 delta 12244 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 XTq=R9bfgFd`lF$u`>;moam4=zdq&$1 From 9497afa40212878e30f861b7e0bc9dcc399bcbfe Mon Sep 17 00:00:00 2001 From: sabiram Date: Mon, 26 Jan 2015 18:40:13 -0500 Subject: [PATCH 220/282] Recoloured spite --- code/modules/client/preferences_gear.dm | 6 +++--- code/modules/clothing/under/miscellaneous.dm | 12 ++++++------ icons/mob/uniform.dmi | Bin 256681 -> 256640 bytes icons/obj/clothing/uniforms.dmi | Bin 58633 -> 58644 bytes 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index ef812c3782..d773a5c260 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -288,9 +288,9 @@ var/global/list/gear_datums = list() slot = slot_w_uniform cost = 3 -/datum/gear/purplejumpskirt - display_name = "jumpskirt, purple" - path = /obj/item/clothing/under/purplejumpskirt +/datum/gear/blackjumpskirt + display_name = "jumpskirt, black" + path = /obj/item/clothing/under/blackjumpskirt slot = slot_w_uniform cost = 2 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index af03523468..977ee41d36 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -400,12 +400,12 @@ item_color = "sundress_white" body_parts_covered = UPPER_TORSO|LOWER_TORSO -/obj/item/clothing/under/purplejumpskirt - name = "purple jumpskirt" - desc = "A purple jumpskirt, Sol size 0." - icon_state = "purplejumpskirt" - item_state = "purplejumpskirt" - item_color = "purplejumpskirt" +/obj/item/clothing/under/blackjumpskirt + name = "black jumpskirt" + desc = "A black jumpskirt, Sol size 0." + icon_state = "blackjumpskirt" + item_state = "blackjumpskirt" + item_color = "blackjumpskirt" /obj/item/clothing/under/captainformal name = "captain's formal uniform" diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 9d37041415566e0e13f65f6cb27de0eba40d825c..2ac56359324ed74b608fbc7ad5f1dc1d9b2a97b9 100644 GIT binary patch delta 75527 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%0A%VRoXmI=X``jaLxsa~l+b#3b&9X}3H^}3TV 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 delta 75649 zcmYIv1y~eO+xDW$(el`)XUKE8F-t%AZL*wesFLt+= zj57o17{;isp9La_LJ>p+wFn}ZZUczH*G_%aQ9Jp)MSLP*J=c?vO{j`O9P%t;J+jdIo(lQrKogEftu)oo!C;=U29 zEB$GNzM5_ZqPM<(a(-|a>ACnG{7_+7mm`aTbFPyx=-<5MVGht_kz7b|ZkTDpJlEaX z8kX)YcBE5y`d<(D(xUzAaGO+b&63L-?X)xNU~b;^N0{dg-1HcDi$igJ0#|&xl1RR8 zZ!i4`+kdQl^Gk1p=H|5Fr^x%JmE0*S6SM})d69N617t%+Rk^4C3Y^bYgYrtGSD#EP zc>IleD1Pw{OgH<{d`!S6`~<=!z{ z!{2U5{Do2V>X}>Hh;iaiR$Z`KSFxoIr($T-RrG%G$Ijvwo9Pd|p^A4Z35ki;B}Nx@ z`-;-oQ9`S^;+J^!@$m6)203cm8soF1A$iTDWCHexEKiIF<7|L zH56OJL=j9y#qz$bm)>1$xgBTecbj~a)VHcl;wBy)_OQ!|I*q>ibj^t0LGLm90^tEp zT`*@(m%95ju@(Hu(dz#E)`fh2bo6#kj5k=6j4O6bTyNy3zG-U0QoruwEIr!wHtH8L zKh!L^9q~HyJ_+8z{4<)>>EaQL&_UFa0dd<Z9SYz)YH@Raoi>61WhevDa?DzC3WBMrzfptM5JKlnM0KWypmbjHfqtdMjeGZ$eX{No;?BTKGqE&E;CpHJ zdGdCz!kroTeC)f&^W7_Wg4bTyUd=uHUqfo)Lm%5!6#r|Z`xQSL8>Krs-I5I4euYOw z$h~^Sz$CS=C?^NgG0Ix@D8sO@MfzLUjc9(|nVo;2=tI3vnPk`rqW}#XxzrZ!WIFC) z;SVyO>_@%3@cw9R#)#I&tnBPwx7tK6}<$+|i%(x(mh) z;*kumRZGf50e}m5F8}1!_=?}fVTYEUySn~+8iWNdFE{tQ*rDGT0?v565d4PoKy5cH zBH}~81yV&O=mWP>jEVNLg+zwB79GIL%j@(gLk|M3QVe@saW%f}I#UyRO=U3rVD-S} zeA;Bg<)L9?_T#Pd>ged_v*Y}MR!k;}^=&c>bxT_Jy^)mJ2JyOi`Q-u4Vl0?W-p6$V1%|~)6 zu-5fikHOQMrd2{jT*&ey!)_Rlco@Bl&`^(q(rM@8;?8)F*2tiM_h#W2vt1_4%0r#z zB=)K&>8{`Y7*inhmJs9yfpSxRz)g5<($8+#P0%BxbeRAUbC@NS6>Pk4Q&m+}Go}+s zS1+*ejsNti>b{g@vRp&Mg?~ zDc(&?Ec-GhV(Q4dNiXKyc`w-)+ndC%JF|}R9xD!#{(a4l8G=c$j+-<3Jt{v;QII$i z%+0--F6E(~<}*|9f|G%f@lsEn*6+8Wk?TJsmi&PC#lX*DrzG^Lr&FzF%^cmjsoEUs z`_lU_FJHb)PH_{*96uNMMlGKu<0l|o!nnL#&&FZAp=utvqWSg0Z;=sT$8NOP9boH+YU?}fwqU}@mOYB4vv_E1ErLMQxd`op22Sm%ru95ZK3yS=r6$KjFf`Jd{99M<_M7*D zAGxr_&jBHrGsdkFn^Tys9dNnVH$5>!a!k3tDDol7_i5R#V(`)UXHe zeIUkSc{|Oap3Fj>VDUg3=pI*Zoi7!+Ut66p7e#To=DjkkhA zQ(tRKz&UjPq8>sy5*T9@`U$xsUw>&uX^74fCh*8>WxwlD9)DP$XYIY4D|M4$lnQwF zHv_)BvVyJYNAMqZvwaUQe>ZCVI;eBg_17b*)bN&t4E5VP?hSYOXq+eyeFtZ?|NKOY z+cI8}fpN!lB)4hr257DJ*f#Gh6up1fVmBV+368!$Tvm`?^o){>oza`Au{W)pa?qqG0& zNx)u9DUKX*^ti>o!@d3d@^`~LAz-ff6=9ggdGX26y&HYmkT%h+*1boNu6{cm?6$Yd z5sscxJK|1yXe6uPRdho7DuiFl7%xC*WCkLY@Ue3j!+7(!xaL*-EK&CdqYs>Sh>Zw_ z%9?~I5#8Kfci09uxD=kNPA9^AUbnr!kg(UpFRegi4hZTztdv#H}PZsW+hv%iD%P}X}78fXO zpskU^Y%FlNhQo-K*6xVP)7ea&_*2MTq+v#xFXXJArTF{fGL=_3ewV6~xvk?h?w{+% zm+2n{8D!BbBNrHsC4D7jE06o$;P`18w|%o?&MLwpBLmx)hA6&|ZU%wvO9J0uh}#4b z6-jUkhQQ?G#dQY=Uk9Gj9Q{$r(KEYU!Q{-UuLCpN;{k+OtMS&6(5**%Vx1Q*;}qbW z(6F<(5!B^rF0H?o#eMBO-y08EJgyRgY}%!zCC{SX-sI12Ek#YFxw*Ll54Qaq|8|Ox z{pyov-~TzN)Y!iVwi;`@QE|M;IT6qT@qtqJFB<#B@MaWdbbx@v=R4#Mn8@Nr{~3#+ zA8stt1uvFm+nj;cfDbDN=`!Il-`Z`^%I4QZts~P8CMW(SHE%AZV&r87ethm0%8LUX zaP*4Qh?(7x(ZpB?9ZvN}rnNImMX#cMN*LzeNdNsRpTig2Kit$_ElJ@pq?h$$l=bx0 z(@<*3<4)ip)kYin?!T<5-WCv0Es+Ki;OfuYKRH`HGg>L3=`q*WZhkLwd+qHjm7hG6 zDkmzipzabrQF*@8l6-lhCp7YYOKUBoHKZzcJ^}2)YT`MqN~}#r{PWi;e*IE1?Z4*N zM|aU|RbQzJ_7PUujP>mM_9vg0EB&o{otWIm#c&GF{jROL8l*7?IvkYSlsAfPpErqN zjyDM##&j7?bZ&lN8_*c&79Vw`$1!Mo{qP-kAb$Z%hNMqh_`KJ0w+2ww%#N-$g@1Iz z^*>0}cc_1y*cwd2pQ~ULSjDCgDXoweTNN3O=(+|v#!Maz{=Pu2fj|}Qe)1%Xy#k_< zaGtpPS3juTTx+n>5;RQsv2LOy#V_w3knNne(1^|wo6BZGa$e8jd449k^gPbQsgc4d z3ZtB6(FT95+U#_uOu68b@a5Uj(BdsQ(hppuxpgjOxpI6;)I^XM%92VbRKWB%IB}xI z?k;%uZku5P)`$Jz+*ni7OgU;>vH7buSH`{28amnM&&l%N%~1m%$AFK8>Iz;PbX+-q zn>DRoZMh#bJQ%)7U3ga3dd&GVV*l#>2S*7kZ(E`Jc&+;ey>`Sw=&y6S6r z-=FTyb?X`wIxRj#s(}K+RJ4`nfCv#b-=sB7jskAEl?Vu2LsJK%*AIAPvq5D<$S)Oq z9eSM?E1Cl0QrZ4usoyS!SQ*o0-v~qEY~@N}i_Z}or0?MB?DiUT+0AQNr%!1p>yufm zNqy@H@lmNVD(P39p1Pux0cRBOfh#P8rf?SiY7~$QhOk|IDyt<2-@4xO@<8L4?qh+x z^A?UW>#iPh?+x6!xegM9bE^rj3o=dl6xHptfFtNL$UPQU-b9V*(LCS(nx3FXdSUJ@l)m6fy z*6`4)ufVyH;H8=~Td6LhS+3p;s&S*Apv655e2tYBEaGywO{p?25+B0bE(j-FXc3s@ zCxaw3l5H_qwAtYl!A1IuG>_I%SgFmc+pnpawFKA@^^(rnP|&FPW!`3JVv%{e+M84z zH%QL>5VRV^_z9s1-W?~lFqsR@gf){b8Jp0d9@Jr>~tRP9q!qtoI@fPlteIO#>6nAhvWMNwR zSn^GLHtLByOka2V&~aM3Bb;f>s%j4w(o+FlTc{C9SK!g`(w zj@U_08blVYxc7sTyEG+?9lQT>Ol6ad?ns@!i^h!C$%-FQ-#G_Z(m<2}Q0NZY z_vm*dxTUE5bxHoaes}bSC-Ic2~XQpTkaT67JkP!^R*FkDwcE2`&PDlMt)#b=?#H z`&h>Tlh^w<4!Jn|e{#;o&tSz~68m?HsC6PX&O?W0GjXExj`O!oHS#Y&EUb zJwzOO;vPx%2^}!Bi{e~zZy4@z==QH=d;a54R7d{joWn6*ET?UO58I;lUE<@P;|XTj zYFpLO{~IYTn|yUG;J=Rv4c(d7XyH46?0*OHKOM4U5K=EsNn+lG(I)Ngz@#pJZh%9@ zH;k)Fw+M*=m-Yg^4{Yk~0(_ZcNfVVPyEBBqtqisTYkRwf3<6m%FG&uo!`Ie=rOl0* zhZDoY!_)q;-FZ!)iw3>W|CDt!H9u5klBacGNfMGX>oLw+%i&%%;!-DeF}y=Hc67QF zrT`5S6LI+jIq*9bYad_7eB}v^E_knK!MAo*hOvX&|;g4OR!-x+pLi9y@D3%+k`q4upV=iHz226UhaY87SoD~Jq0 zlo>Xd{rkegLs4>F@&^nO?G{AAa8#=iFX*m|Sy zdtM|1o)kT?brG? z_Lobv8?6+}MDyn7mlB__#-3Nnzw!|17#j_0uJskwz^#2nprIK%Dd0Eecty|gY+=>) zrr1OEdYRjz9)d_6?WGKlg|U-<@8g%Qn3rF5Kf8*&E7Chc@IL_xIGV2a_S_5l!IPzrSJRxEe+G_B-7wmdSycOwJa`D;i-Ra72&4N zWB%(`F1vgFDY>XM(yaaJZ;=@Br-?wTk_gC74lXdOa`*JZId?rsp^?VL`yXf%{Z@t@ zY`4;LAn?@!d}OWt@RmIU|6OiA0zx2e-YP^M1oUOCle;x%a9M&Jwr9bwEhGAXzdn=@ zh)@o1(%Lz9woLD>yZ?6i$!p$<9-SmD6%}Ouvag*BxjbCS;m4p)LInWxUZ;lg3JT9h zV<31Ty_?Qf)3_)37ueeXt8&QWGt1nypB|Lex?y`#%j8daCK?xB$aodmQkW5X7&`3k z(phRtvt^6z5yeiPKc$DJWPvmFw^3cbab+`ppIWWd-OzvFk>aI59=Qyd#7}G%wEWqA ziEB4a}Zy z-Sn+FbaAcpcpAy(ZPNOhGv~#^HUONr;FFH>d$PMXNV5C|HbU440Hq3iq>K1*Yuj9? z#^S?Pzjz0dOfZ%1m0HqhI0SR6a&)23JWi;Jj2uFbGMNnj81=2!HFi&2U8|PD;J1Z^ z={aJRB4oO?UIkgDQL>3U1dZ7!EVl*#h=@wdmnXZ-Bd(Ir^s~UEn&lKW!*#_OP!PLWh=6QC40D?Y| zS)irrQ`1M*TcS+7A*6t8QrNh}OD_Vz>3bDjMYV0r^QMPsO`6pX_1s-mw%;uMw`EG{ z4Z!7BZM=lAeeUtdc8nn!e?CE`~O%ZCe(_N>KjJI&MGHXQrV5I;SA;c5hd5#eM}$l&Lt~p=kma{cKaM%UU%*P|D>6m%8H~&K4?Pc(P}_0o={rfJ zkRC`yQ|C9+a>SAhi?IRV8Sgbk2>DEn`oyygs?}Q%{M!qOntiiynBQwq-eY4ZC(r`Z ziLJP_rjao*;}k8!&cbQ5?*}p;Z#QsY|JgWS7cQ&KY$|DflKGgx&n$sQgAc$%_I~mA zk4lNv0Yc*08*1R+w!um50{S84u|cMo)$3A`FZZNR#t>4VY6Cux%D)RhbSF?QGRaRI zX-BVcW?d&-lrjbcw$oqyWXN0ilg~o{sR+)e0q=KIhj~|j8fM}G_cBXWN{=|j#jzQ7 z53n&U=7XZUIQYiiA3!$hxmYgog!p!PWJD#w@z^KerlopPakt~=e7IjPTi^H(ejtmC zDUCpV;Rq!5as0)dKZoCZJ+DF6DyRA^D!%xx(P{3oo$A6T`)NsLBUpXSt0;H86FEd% z#`caYF}B|TGFRQ1=9C57EjCFa!j0*JUJq$iWTve1#o%0!*H_M+1N9u)>B$({7rqn} zOzN5U45P+K5JJBO;dsw4_}_4)Qn`-XoWi~dCs3K&iP z(4L#$YJpp_BWk|}(}usJkSHFVznaagELb~#T0gG^41E4>@#P+*+mO;IGy9IS`lh zFiAx?uReHQy=d!Gd# z_Z7O3k&&_DYw;m8?f1!A>WKXuw<5r_y|7`9%U00B8}7NV2#ho_ZkodH@l(tBD3UA; zBZq$>C!{in2esu@Ccv_r)9**G3woaA_{a(Djo1t{#qAj_Y9DuTCU|F#(k)7;O^fDFIH%Qv}AF?-XDM0>E~y}MGU z>n{QtWFrXxf2aBnWryw5a1+R=>(#s7jnYgDpm4M|o?yYAoq4vOc6E2#axb=xP|Lr6 zFT_qoGG1mFX+4@x0K{CJwkXSW1YJdN-?w)zFh@06!8Sl zI0GiOkzhdo$V6Uw*vH41!6j|L;+5fsS9hju8xa8Cq1zDb zse>*8Nd#&H{t>%P%V^^lr@_mfPyr$bJ%;JN?p$QdX9(735cv=r1rP7u_bl+R-2JIa z&tc>DIFg>hkRw(z8}S2xvBh=1cT+)eAIPE#`D0k$ZOE+ETyzeRLWimfb5 zY`6d{{c9OQtvn>YyuXEf0+4g;hw+X^2m&%sAA$|+P%hSt0&(#LA%vMHPkFj07s+_K z1WnVhS*PD`_9GG=uz@m8uj`u7RbyknW253%*N*2ON)Ot8^lzdA3?C_KZ&$RG4NY9U z=pt?8D08l1FPcXa)gACfF0C4A8=fYOXO%Dkslx9^N+D-nIru z^C^LBh&Ut1@36C*XXf5KuG@RmDCEfZoxkwYnCH8Boy!jU=9ck8kPSc_vXG(KeZ;zd z`OpOk5m#1)3^cMXU-+mS+jHPV5$V6!)HnfRdBsa0PCrDha$4NFD6QWUV*+I;W$$CD-G~5F4&Q+$Jk4A54DeX&+vILNu@_?+J_$t0{9(Y5vUcG_< zt7X5Vw8VLBrp*fYb=%O{+uL=v_DUVhmgh1JEPCH-_!}m1*E&FV+rSU$oC#hubgUIM z-1Vqtrm_#npCuQ!p)+5Pe>sm?_t@!u+d%^uSQ#Rgz?IDw%gx~_pbt2I-kayi;LjcVc`MB-wb<+seb&#c0Xm7nLde& z4mV^Azk@To)$VK5Vx66zz+X0PR^gB5nYqNpnX%5_USVfv-%zM13#IR8L9@u)0BCvXQ3m#86xco6dy-u)KvM$rl>($97)J*4 z@5u}Gv1ZM7V}<~KZ_-rq!0(I5L+OoAGlZ>RVK?BYOxl`o7eG|d5d!U9p+e_eEGdpL zthdrnfuU`WE%tCIApLp@2w;5Y6KD{3wE)1XQy9G&mtj zPY<=un2c%FYw>%HbNse&GE4GdCcyZGz4v7XlEmO*oKC!uAMzIzlO7rhy#M!XXS$mF zwt70EdnLfdwC1mI3}g$X0WR>-qv=5)a)$c;#WxWwa(z&D#^Zdq_Gu%>#vL^dgr>X9 zQGQy7t&wfi6ZCC-e5n9cbpfma*!H!ZB0bdo`-aby9}b>|;g zQAEI$|KX~9XHclS?|>_=Dw|slwR;L3RBN0M9ea7=1z?KSjJ+~g6T=~L{r8oR7vDN) z-gmW$6PbLY)0#AJ^T~XY_iMUHm%cSeoB5z%EU!AN9{!D^KfgAnwLK%xnc2X^D)Ay5 z@wDXO;=`)TF2N?yO}^UmZ5IvF&e0ux^p1gv33BKOJyB!2&Wo)Cm%B%+y(1F=El`HA zREG~Lg)yx*psam&gxM~CdLOO+Mli^E4$Aj7Vzx>&QP&#fdH)Yw2l{%-1#6u*lGqu!WV1mIZM8L(1WfA&Rob--+QhTp|MWbyxK{@be8a z%9n|KQa%{_XM8;aPw=kl@qRh{#yMy3bfd5ES+`~PM{KOzKP;-i=J0njv8d>ha3Fn| z$`~}%_XJ*KdCX6=P%&C`YiZHT2;aFkP*wwb0(s`6$6o6oc3Wfk?{b{l67N^?W^nyx zRrd}0UOa?9XVzAYq3U-i&$nAmH5Du`;E7P=f8}9K3o+CTp3v!W%PaqOpP0XvIed4V zn0dyS+mI7@UtXuy&~@5qf#k!Vrg3nEpDo*|JQ<*#mRvxlszoYAJxD(5!D}O_-55Bq zi1|?yC?hf%PX?u)7rz^nae{BL^D2H)$M$!s?7!a2k->Z(ImUd;kXf&$?PDqv!EQ}H zqOdPj=58b;>b}f6XlVwx7_qexyKhqg62>|q%j6Mc_ll2{qXYQcyAD02ha7tyU?j4m z3@9&1HPG4rpuN6mt9bi-7A1IqWTJF>{yf}TFlx@b{N$;H;;By@7`NRe09-oR)=&yj zKK`5Iv$MJVel!{nh1D#J4X0*Dou%jStwqb7dpZiCQWb!1-BoSdJkKQS<2Wu=r_)Lrq#g^^KT>j@qKzk03h^vrkbVsuQtK&Mk@66 z^NI-_ChlDn+tNLW*hvTbs`bB0_+b55j|7_!NGZ(P%=XeK@HWj!Fyyj7<;CsPRA5o? zKn5r=>KoY$jY7tDsH51T%3Z!|Cle1*r#$t(30mt3rI-13bau5@e2D$U=`d8`JBHFm zI*MQhm2hM7K}V_lw0h!L@7n;-i8$Rgp$tbeo72PtP}1>BceZh8)0ZzDgI7}G0I0}B zh~0keyk9_8Iz}TI6eJcTGs#Ea{vTd4mBb8|&9zSQ#tx)3NW=#@G?j}!AQ<`vo>nVY zK9(IN0h$*m=*wQfe#`933Woh*(fC zvmx?GyFMYB*FeOA$dyde#jcj=g$53sj0z8 z0NcFA!%jsShq9ZA!D#vjz4+#A|bN&T{}XUI?fbfII*;lKvf+75)<# z@b`2=HIEO7D3-JQC0C?&ro8`D0ZL5$A2Ti|bWUx2b*dszvFaY4?3|jUmOS5VHrN4g zx?=M7G7SYW#t&$RU=POb0f5AGHV?#j#|Ao<;SH9mr>R>TUU@N<0F9^;n3WR@0gBJt zUQK3I;cB=3OiNiU^WTT=NDR`!ls`bN+mc#_20Q)x=M#PDX%!Kg^rfgnfim7{zWq$W$19b@gLt6ibx(>^d z>e;{>m>zSc9@ft6hDAn;i{N7(_c+(i81DN0Sy;<0>pen?b6oMwz)ui+K5)k|7c+L) z@4Iu+-swMlHR|X}{l6Ue}dAF6{c+! zPJ!){j6Tc=3Al6FA&g4nt2`MrhrYs%6Qb8`doT%?Pg@v#tjYGes*unu3#5(Xe0X@S zz=mF;V>-Wx)T=5C6yfec5dhcgVHxy8WAl_7>DhLKny5~R`~?nz?VZfh^HkOwc%|>q zrteY1?KFR%E0^N@Q4V6UAHx>seb#@8f<5@tDBFbSIiLME(l9T@gl$6Ew88<2h3bM6 zEBY~3;LBE|^Bd~cl3O>ACw{5E$xC2qv{AL-A&8<77ynmLt5RhQ~&;OVULqNr$3LUr+iKASZL(IouaErE6sD$X_@9lZ=86S9}7%H{ieD zag%ScLHd?TmBK57g4;V*HGeSS?xoF`C(i+S?>zl4;?q@*#FZ!smC^jl*tMqC&-rSW zZc__y^isv<{h=J7Zwt*PF@ec4l=^=03Q%xAu*4=!Z`3nt;>6re`s0}DMeE!Ec&wrukAO0E_;lPiJTESmYlt~O|Ws)@ftv|Wo4BZlCxfB8T?m} zE(D^Vc>stk!We0{V08s@p819)YhzpcPaottC_?)CWM?YSXW7N+-=zL5eOBOOpA)W! zVjQ(m_4>+mpzPn4cYphn1K9Pg^}+q`m$oBT86lUfl+ln~Y{!9GPSgUksxfDx>s@%#;Ee{ zpOjBx8PSjPSZIU?G8RaH$>F=yoXM`=zTFiI`4j)cu^l9)$dqO!7qe?^JiggG!oc?W z=1zAAcP;Kk96#kcOLzyT2EjMwtR zkNE}c&ns>cI*L3Jdx{9NPJ)CCit+u-VI{jZO2R7p!p7g zDtU^<7k=3WeinNq^KxO=z1^Xf8=7ul(RKB_X{~!ZZ=vui;#pzJS$cI3_e)T8mLIDTHLRZCh+rX#;RCoJ-K(jVhpy487B6Kp?KGLpXGBctxV`N-56NB>eTm@BdI^DQg~{8DrG0^;0%VJKacbKDD}v3 z%-YZ4NV4{BA8ID^sKwS+`r+%A=I%h{6C?YrCwHvr$Mm1WXl``Y`xSUG%HFaeKtOZy zizxEqh()mf87QjtFXuIMVOlGT! zMRD74d>jP_3*Ox5&&VrlB=;qo^@1)%q3$Bweet*q=k*^NF z$UjG-D z7MAjBN9}il8|kt&`>N&5Sdl6CZvr?M7GHmjepI#fsJ=LGTl)1u&|K>=EP?=hQGxbX9V1E5iVeo|3XEQ`Ey0``I#?X`!8AKG1i{UCK&VK1lepq^ z`HRh$ZeQsDLvT#8FC9&+^UeE;{uUC9!IMbsPvu_V=2Cj@30AF9I|Sj1EkB#C_3^lF zk5dv65$RR;1f&SZf7zJmi0;1r6NlLrM0!x4Z}$HC_r313AmwD5~M8>elBuYXU@g;NBIWZ(1~VPH4*lXpJ+sgaQ*njlMda z_ncQ&I5qJ7UUr9{){C14%m1}-V4}AOXu?C2&01rZA^z0aU7_eMhMR zM6KHJ>gt-KU0STOM-zfR^T7t)V}hC5{%&rMyF?&Dh*Dr8>+1>EGx|(pEy!`v2BcXv z0p1&CYuJ70#5Xfh9psCA;<3(eO)N*8?pq}4S%tTfQZNF`GakajiV zr;oja3{(@vN?k$1bt-U>qL`|#AH>~2Jysz= z?9Qy^sT^Nntq1`RzC^~M#Uq4Sd?8~RpUpC$Q#^%N7tQ(hDP%_jOuH7nNG>eTk%`7=H>)l zwYc#xP5CPk$zSE5o4!#(wS&0>@s0?_LItIq_!~*3Q zW!21GR$~kO&jOn6T|`g+)`aMIScn0%7Dya8NcL=R2`dSdTCaQP)F0ozW^jh?5yK-Y zE;5^E=O9a(RDgjg$g18+S?2-5w{Sl!>Aw5TT$uE*3h7u0Y-lQ7ppp0H4o!}R8=3X8 zHGMLH&HUyU$^h{Xr+!&MBB{?D8f)471WEVLVQeHY>>-!gTvC$yIkfB|+C^VWZ1QfL z!sp3om-4>zhfXU|Qof9&V#rTG8aqMi-W0`Y4==)^l_gwJ__2I6@pk**jjpcN{uWY* z6j|GP+?#9{ILD&-_g=V0_YF2dGEW%{Uyw83mvi5KIfBw{ zLNl@Z2w_j8PTrc0r8$D4&sxT>$iCgT3c24bI=^@w3)m4gssyB0YsLd{O?ioE{QTF5 z{2U?;^FBEZbLX}Rrw2?C=ykqIquO&BsN%RwYi3Q?R+C;;Q))Gb4Wi5SZB+HQ+{ICz z-%;??Q`pM$5T3x59~wPvU2>a*T*71r&=5^hRZq7CY*7YufGmbjVpf&zd`)7@N%cpG z0umfP443uI!*Kx|ZFC|gZ6TB!B=4@a%82IsZMnlQZ~N_Bvr6*RoHFJVapWRErpyVX zbj{TB2k&Z?Tz4;=_O4>#?UuWYtL2focC#$@4D(PJdqW==D?U$-8VP)$r6UAbiH|fY zetZ)N+NLS&t=<0abL!xGI_D7<71e>m`%uKi#hvXn>|b{ObMXJgfYo+v{>sadubvSB zwZ=@a(|kZhw(Ej!bhDmOd7})4pV?yHnah(F!7;dtG@_mOurNH}yVn8l!)qk``1Q4g zoW1otynDlSh@^u2E~gu3@6NbK@+D4kBcj!Wu3;za`2#*BlNRGbDE-$T ze4gNkf=wgJ8)jWtPN;A)H#YP(u~_jBCs{nVc@@xPa#k04gTGo8QQxl2kp(6V6V{wV@g9l1oOLL9YRdu z8CzArd<6M)B~(K1=6;~K@U1d0Wu_ne6K;S7j^%jVE1umqKX3^3H;^?i0rCr7_7&)* z>66-UFeX^W^Q0*p>;agIDF&jU#Vol4P0VTsbZ4=+$W!=a696p>xrWUW@v1OpY*oCY zMeyNkIp>polGRzb+K(UHHiWGlHuq^V-_3(BOG2-W#xby+U+T7OZ?z#tT_Ps~HJgmS zlgAxcI%hS5eAg756Imn_g_BRc_q~}x?|azF%uVa-8Q7)<#=NR2;z~3%DddI;Xgr5G zAssE~JJyID1tcCz#j`#jV7co3P#GDTO5_CZ5@${hq0+%8$?9g*F|Qz57q!z59BX5dho9 z%gyO!tNY-KHE>^f5xs-qvDS?O!Yip98X(=0a9S>Uy(_7^ld|W;9=QbjP=9{`3ab3S z?#^E9ZzL43g3y`-fdW{VHnrl6cV9Ce11*rvClLv1J4jI*zHnJ7X~CPbv!2m5i)af> z)|v(yTT6-K&&BM9J^^MaGW%*E&HavIl05sz77HNO6(KuHNcw>kCbV8Bnvl;j%BZYm zBmdhvLXcMXq3^L|LjP&1@=A-!X6);}ou?Wn-FH80r2A+U0i^l<8M*{eYC8#LYMaAi zXL`KQz(C4I;!r>5ApR+YcV*~fqhf6H^=qHHp}lrpf}t0~M-PJ`#vHWMHbXvCSX@J( z%pqdHLgZ+$A73g==F~6;EysuxxzDPuE3@M+bv2vi@M|=C@VXW?`v;D!v1~_JVL9xX zyc64!TcFv)%DI(3C^RA((kQ(v_CGiN@+Y2hA8#s3 zWy`I!g#H_N{R22J@7^L$}BtgucFFYMfy@J1o zxNc(?PgDAr^FNfUyjyAn!R@{!xVny z)*&`KFG28!;AFGCj1lAxgNw%) zWx@kd{AfN~wgqy~yzb7Mc#{Q?1d*}j#g72xh!5sm=F15HV#i5b%nd5$rlKrn^k43eL$?mcMs>`S_xdgJlFKVw~5R_j<^W;+R| z^ra3fe#{J6h=i*MlWn$Jz%>ip`3;xfhSTsJ=O2fVXf1IpTR;Wcpw$q3AvENlV8eF$ zi9TfD;=i`iMN5=Gb%=;w%p-#5um?v?kRU`~{*yV;PN zYQ}I4ikG*nx6Nr#rtc}PJQ3kn?hdMHkuOBuCC-)nPw@iF$2_|$-nf)al1!M!3nVo= z#QmJ&*NsILDT9-65m`mawmHWwPKpnS&8LCKVJMkBp&+3g#ypqUrF$i~a!W zLl6it<@ur2gDqQ}7yOFwUW*>ac*Yg*SNm_hyFeju5RKdJ$9q~u<0-&CaP4CQ4KrK0 zD4s6*Fx#rkxuFEZZ@&c;(4F< zeCJ%}-}$lk#F|;NX3f3sjy^!J-N2~D9LDe;_ph2H^U0Re#i4&CF$Ev2}y_DT?5@=D_owHrn0=oLPurH)iy}rTjG<_@)H?8(g{zhu2K_H{3StOmvhr0$F{MY{HeGG7H>bYy}bi)1sP5Otq@z`}8Bn>6a?wGSUSk9dcFzMwd zNbjz1Ay&~yTz}I%Fm2r^`#H|yuEWx=^(Q+o_ZN{R?+kI9av=*5qpM%&3lHjaUAT8B zBO27Py%dY_(pV0=dn8d-GxENt)N>O*&SB@-O`nz7tqT-b%x*Ua&mbSVvvRwp$Nt;D zmPK?mtgIL=l~C>Ks1GwJumWi1wsXEZy4%Kj3aKCnk`a=kFL{d9`@X?<884=AjU@R_<4WuxxzhI9>j zV;(wR8d;m`xaTS10_pPKiKt;zwRHaG6_MtO(a`k-&LeUl$})VIcuH)+4SabVugCB0 zHcrO)!QWj(-wcmaw6Vpax1F_nh7r*4#Al)Z*P7NttYq$?p7ZwqHm5P-JmK@x`F|J< zaTY@TZvS_ZZl-GBRvHHMU-$r>JVJkf_Wil1sE$BDw9tO+Utl-x58%%UxKjz zZFjw>Pb+*+@_p1(E%`66Ar$XoI&W)Rf`4ShiapVO_}&J>cf+KM-*wOp!^oyonA;znCR_m0clJ&i1+UM0M{4wjd^$c~i z2N&>06w%zTIPIY;)PYi4R!_^G@XF<3a`9BJ{?Ed1E+9PAX0}2AnlpwCaYuLm$^~~^ zW4}jTs$RN0H@c+|f(Cs~ttECMEf`yMe-jnvXB4MXl*1BsJw`clLvB!L!Sn!Cc74k_>&2x!Ch3@nBkjJ3F?u1J23EtpN5aGPmvXp;Xk8B zB?w&gk-w*r8mVaLsC+T}GTTXN^xHo!<^H@|!@fI?luPYPUEJQ@TiUg0eor$LeUYpG zl%AIP>RO(jw$%at5(W^_`8Sxi!g%Nqwy(^Dt1t)heFby3I9xLiATo`l+QHt5ypqy2 zZ7I~=9F3Z~>ni zuy1wE=x}ki?;p)0Z*kboGv1|uoHco(JV$8#DDf*JzV~3}LPqI?b4>fdJ<3Cs4=x7X zh1=P5hbma22}>4V8`0}xo9~LcJbE6EkqDrmq%)F^X$Je7-Ql)_NKAv5Ff>;;7ItXJ zeO>A4e?qMmUfI3=^iPs7?6ZuF7)j-Mji#@Xt^JM|=Q;(Klx6s3;|#7Z^FLt#5pBTa z20bthq4AU8rQ5i$Kh9Epj=jwQ+tdNY97adVb6|9f`C(o;S$?>D^XWVOM4Iv1fwqi0 zpNu!hTzuq995dE71<W})$M!(Q{C6s=++U$p z;4}Z#$J)1b)%)Tpzt5Rie<49eL^x6EVuc$Q+Ccv2dsM0wAf_`P>XUUxzM&OoaDCO= z=k$v2D|``Nu(29QAv%D&rYgS@4%4&6#;XuA^#7#iv$`mL`&{~NlRhr zx3Pr8O+bNq%qB$2N90maNB#6(eA|}hrkcZrxcqs$^-x8m z__{OIZgt|7n$t?sS7H#S2SJ(b?Fr}HjTJD1Vpte3TkJi3dd5umGKZ9?M|yJE=?%cN z6PtpsUz?Fqd}yTY8!`;j0HWvy!E4aa`8Utqmz|$qBdoMwm>sbwk9 z)rIo*$_WJs^?XfKKFL**kqM7mZ}NNAVgy~#&?!!sDct=am0F z;Ej4}Xo&G*^_pk$1YF!W@AJ|w06>7h`ZlNT@f#h%U-hyV;$(kHy!vDvKS9BLiH`XZ zXUJSzz|7(TcmwWVRwX_yU|Plh<^&L2d?(7 zO0&z1Z31V-ViBfsq(^w~9jOQnQvaS*`iX$u)vf#rNm$LQc_BO1$G>|S4bn&Ie3&im zUT#s9yt=2wp!VF>%8COlDh%kU%T~zv_;@tceqlkEv9H69DT_4taOD?GZ=(?m-b5z9 zP+(onUxP5aVN0@x0wf53f?qZ^==nD zJ&>UXR@Erf)Gx*!e*jA?`Vj{SRQ73Y42!co?Rn%(TZt$q#ADwNVs&5EuJB4wUg-WK z=?OpYsU>{FF>*AU)Iq`RUNCW?U4Q`IFF4p?WKOw}!FpSZjlTyu6&fEU?ZyS6-S zY|Frd_;)4K!d(vCm*4O=FyN`)g+*QnzqjA1o~h~{#P$X8`_I5S(~X&9d*^1^#IimM zMg6uZ5xZk`=bOYpOXl-1hw;Rt|55 z%T^Suf_ma1b+gP&>s)D+*d;RBdGsrC{@lFG$JpSa&Q67KD?w{m9abk%R8oo&xOla` znp*W_0NWSb+HxSdJN+Aq&*CoWLgKdSNToLX*`2?hWlMnzPn;ToY)`&N|D|j=#8=fQ~S6AhR6E#+56m)qcc^*+vW6-iyv6WZqHC%+$%`_URvt zE0w>TS*TFMx38@&3ByX^J$d5Tc5YNIf+d$uV&9y+pBRC?Exc#)r#Y6qu{^V{U<1A1 z^eZZrmiEmARfJsd7JhjrjbTd%Od9-n){8V(y8|}fsT0-(9oROUvn(`zOqaNOCA%)- z)0-qr#cvwkKLa{``#ZcjN!W1@oY%U5oBc6$i{D_b^u6*uKcvXXQaaMk)Ahr|A0EQ| z#o%XaR(04gGCITH@fqH4!wvt_`#b&LKPr8_Q2EkQ-iM+z+$loR&W{q-`Z{}mXAHi8 zZ&8S|eEIrD&PCAKn=Q&_IJ?va(124h#68 zU$q5X$oct$Z`uosp)M>a1#)9}5V)jaPd89LlI#KFat-Yl|< z-pXdh9&ZdV$G)GsHble3#57*F{wkbW0FU``)T(?0br4uEf9@8u<|NEX4VID8enX44 zsrhArBJJ_rO?b4nv1xHP8Oy$C5{Wo0tm{&72nfhupfb;p7tD_yk)=uE zOB+kc*%p*l) z4lK&OSKQ$Yk~8ySHA89zUMQ+OG>D0SI!FIgM1_ym73>V-y3}9Y5w|B<^k|6KL!7+k z7Px5qR}euAXUMU(Ne^F{Rai3jd-D>Q&tJWLSh0*uy}57JYE14g%pI0c5l=onIk&=J z2&q+~ju9z@>3`ATR4YGk>;loG?2i&nq&obz(lz%OUtUL6G$aKmZxHs6QY_9p)2wod zQhI&DS9^eYXL`4OF=Xp}Ml=$7d(p)I+wilB`PH!MlQR_ovjwnq)BCdbRswHjnRci8 zaN|T~)i7SvmJm;F+fiia&+iM|+c$3PA0CoWP-H0*K&~Z{M-LP}*H zOrSdm4mN#Gi3E`K5EJ$5uFkXts z^tGg`Wwu4as?D~Hj?wW2yiF&5NytEfgw@?_pCXakCn!4cr1z`rg+x_r@SmF-jBE3lnb{s$Pr2D${W3p)u zHrG6kxkcqI*56WDYV zm}fs$!ZUvnLDJIF{wYq4707ZVrN`MG{Q6e^W#{hhB^fr<=W}{n((a1>UcCUJwUMqm z`+QCRNf5b$A`%aMY`3}8w!RJZ{;ZM~x+QeVoa%YTBaofuIOJFLT{McR##|_tEQ+ae zwml^SejQ>%ePS&9q}#KfYb3`isBp zGc1lCq0n{c>y%=1coqqjp;JU;(Noyz2`xp?X~kyn$?w0p^7~FUHJ7gcN9WtcMh`^axLl-Ol z`{;8N;bae@iEl`)L8$}Us42LCig%Q>+uy%@l={{8-sriUf&va#mlzHEuc4tNEJ#Qc zX(4p|Gc|Az9&{kQgJnXFHi%{6u>OXxrpdm|s8=pCM&xpYPA9Z({=OI7SM-bSDkbXl ziASeaingAYu`%NT)@PhuRsXwXy9R_m*a)kZ2)O6bPqAOH`(OO+$LTy z=a*q7wiw2}xbsgtklNWzw@mdFJhCi(xrBY{0PW2#te&xv)}#eBV@tAr+ukO5$_*hP z1iAIKR|aCNNA}Ei-|-S2nh_O-be-LacZcQiG_>#}9zGlzy35Rr4kAiaq@jh&_a-Kc z{s&@ppHo;;GNvt2JG&?ERLkMhRqNDMN2&G_Uov!_SXNb+ac*{Y8K4Cd&ldDhuUUCj9JNQHn3~Q8ySz@2zpeaP2rd(ARZe;I?h1S_?4)ke z2mVf9A~sIU*JGElb)2ZGW|C#c(HbmU^4ECm>c?3otnJo+ct^iITr=u>_`LsVFWh`B+?DrhQT)8QK1shRpn|~U8daa7gZHyEH|vnQz)_7Mi!Q`kEf=db zQz_1Feeiy^wZPhR?PK5%jv1V46~>RSkjY1fsxMYsEXo%;GSiI(6N7H~4qMyK#3D|g zY*aiZxpRlj1iGwpA_D=Q4yS$j*9#(cJ72vEPU$xt;ET>$`F5N-t@>M#>jt{ihn3I9 z0spKhtkh%@?RG{b=C6B9OYKm15;QcO$7Tjv^?1=3K!4#reP+~5;Z3uBNN6uvmAx6O z^q>AWM4G?g>utJvJCteZ%PQ2am)=iP^z`}ScWcPT@G0@@&6`O{d~9oo+HSQjaz9)- zM!>TI^Kv`%sN=8SH&IVybT)=fr=`DKSa5XUYF2arwpys1u8ESfPtDqq*S%Hg41`QW zQZ_bREUF3qTU%E1yzYZ!A${!iw2UuLQy86(GA{=XNkLdBqDRmUg?$ zQ@C?Y)ZVRq2#xCWaa)(bx92S~UP&w&aFwB)+=sNyUPfp@5S+ZqRfmX+q8j?}5`IrB zO?VrC6;MC7b#sU~NrSpDayZLVgsFs#C0KjTa#RU2FUB^x_cUCe1F$E?dI54-#^HBf(M@!Npp%krh702 zkLEuOzTk%HrP>02Q{-_LMfn#_N57j@eO@LxJCOScF{k34_T(bc(9P#h632KN1z03S zF0EL>7ZfSdkBOz_np9JIGJk0p9k&Zs4H1@y5u!o%LS2r3zs>D0T*cIOz~a9CT=sjp zj+X}YD(0d-rTc4Fa1@8i1ih2yvVFe~bL=EaorhtmN4?gy#Sa}jIypIlnbc=Nq5Yh7 zlyHTJR>)U9-RQ>;wq#SOlP)p0>OHf6Y4I0M zqE0pHLffWixxIkB&EpoTt_El%M^^<1c_+`a3h zm(}qqv+rSX|_^zAySG%TDBZP;u-3y)fNOk&7OC{D}SFoM}et#7q^s>=h7)Tj?z3DA$+mlgSvu}$-hc7|vL z;mO#P+$*UDfAf|~5e=nqj9Ua{a&vc3<+QwZofzSZIAT02|u9Oc&cyM z0}lc_JX8c9XNLHb-4Cc(h0rLVf7aXzOjBOWr%Ek?rf;d7!}PWld9<`cLo zb$4T4+*1~97T=#T_W2vnOW3iDhG(SMhPMv*%o=^kxiq z!asyhCBXul(1ZLwGzehrW@F6&IB6(1ixiLr9ha(lEa)B0672>6)x&hTh?dUj#dA)X zF-NU>ZCpHje077G3jmcl;n%QwO(a8*;xw2TpjBvh-XTvP2muGd6->u>J`cy_@)f!q zd%A9fkzmtJy+(gY7>y}OWg#89qvg64mC;AerP1hn^Kp2nV3F+n%hhX(9AhbY`TmVFF-S0|m+6 z|HKncIfHW>6jW3`6c!fRO_@DmUJ8>=^t^7O99;skwcf3>no-L}D zx{c7=fLH#J#i?S0tO7ga!a6mw8RF<8ewgqB=^%34Gf>dy_Yrxk8#0Ff&(lbXWsFuQ z0$s~QPqm0aKeH@#=?lHCTm56zo8QLLM%-W9ED#!QY<+sGmrUur$^cz@)o*@jy&2o? z>gKi$|8=xoPc zaL^*?4PxZv{8Do$3A$pST8eUbC5(p`mit#h4SnI#vW$9ZWvO;LMUt8W{bnwy!X=5( z7gLwJTBj?(=zm}J=7nUN@FRxpt`VLrQhIt1q1qu;dS8*=Myd$yfF?$`(iAP)I8ZLv zJ`NXl+hIdDR^MUul9onLR3yV1+&?%=Ur_G(`1r)%Im6QOMCLR6L2rtr6P>H=(dd8Z z^*x+H(25FTe0^zSAxL~Rl&zYcmL?^%v$`4#GAn6}#Z7$wpslRdolDE&Tf{97$ZZP*-ut1fxWI(LxO6b`Rx`I_jt*{*G6->__LEhs@T5*E9@A zUOzM&2@DvJGmP*|y*6i<$tg!Idb3&-rXAaFG15aN)|tA}0E=ChX8j8}JeNU7`Wg}!3@8oyPFetsjeyh9N}XBn_6nE*{2^2KmJYl!?bqUzmJ zvJeW=?3Sadc>4(EVL@DFAGJolPORF992$fRqY!lEBJ*dMiR8Nsg0rzc`TP*YvQNvZ z$z%Z5%~$Nkd+P@2GFWSJ-hNv4mHhYK%}FRaHaSAJI#sQd>BNQ>201m(kVrJ>s~pXF zJG|d_pu}#qe|+2y@D{P>lFo`CQX59;svKjtTKNb>m3vy0a5O zNOS35$C3koJZJt8P4oF<`-1kMje6H)+a(74a#7T`_LDT3nM3V{S>$&wQ(n7L3^$J9 zfoIv@QMx(P=Z#u==VluqwXuegl{`FlF6Z+{=LGxwGL|u%nmGSm5U)R78<$?fPs#`} z`gGd((B`Lb;I;}dN*r=`R-lg zV%@pz?T8x$y)?gVoeEQtkRbG!513t}R?*SX5zzPV-*Gr3gNuW@NpyW+LU0KAHZ@5# zGi71gUxO=N^L?Y8@XIQoD$eRMc>-kJmX?-107wA(vn#XBP{w63M%w$RMpoYf@(%OO zxH7XS04FW!8M2;0|Kk#m(r-%yKXj=>@lwrA_=oJ#NR?~xA;U07|2*x##}@UpN%qvp zCElwc2{CtAA!?|fm3TFE{9Z*Ac&6~Q)vKSxA>W&6g5RE_XpU3^EAfIyHPAod_OsM6 zm!(jH;|>%7GJ7s#Xb{yXjS3tcvTu8}`4b^5uLN=snTSa)pTAt2wc+?FL_8eaP}ZQ2dt~U+(gMMJwIhL2nC{lkozYeSvdHTAs{fx4%M)0(g#|&unK77w&Mp zEWrRWa;neCH#?gJBNQHYzV`m#!0}r9%McRgIe;-(Q@w5%)*awwsisD{(+0bX!BGI# z-You(5VD(tfCygXec|#{fI2sx;DvXx3id%dDHIwO2J*f9TvysQo30TU92zPH*H}$f z5ZK$>pB-ez^`FHV@gzHt`Iwi*G#>7?o^4jnzS$ZtcAF2PWGsKS?#bGF+H?EDr=Wob zh-O@dbs>awBA}+k-F^ow2$o_dmCBpV`?xt4b6Cbl5<>SBzi89oAjc}|NSN~H3A~9( z=Qg;qZJTOegr4TO+jhPJ0w|425q7lBtbPcG>+p3-S^0%_`sJ>B(qM*PNMiUbgwH{w+%a7{z9^?yh1%Z^5 z^w8F+GBatD>nVrf*n149$-_-Fw89$=(p^{#xFahIL8+88zGnhKGL#QZW%i0?#b%G6 z#b2Luv`C!6QFi(oPNd5cJ%NBl6ZM2%)|)<@A!^$n730T+)EX>-14<+RZ{ya_U1wR= zMpINjro3xQ=9hBc}b%ENxd~{NGQvf(JwQJN#vRRKDKZs~RwFnk@Z9R{DCsMd6yf^xyi~y7uce zpPnVBI>DQzv3Gb#nuN+|ds-*x{E$UCA+R|B`|Zl#Zy~5F2kV)g6tLwp?M?c4b9yl2 znVa>7=DqtYXwazF`TfhwOR^D|6lh4deLxKiDshiT68oneK%-G?Jt+uD0RpX8X%j)h zEcZZ=nlqb7O5yxoU)hmm%TibD0D$?T(pQf+^h9f&WfqNmn!(ARmI#+@*CzBxLR$|H z5g}U_S&LF2hRi2KI(SwCU=(zvf)14t<=kJDK0AFNdmbZ0eSX6 zRPBA0uf4Ro$_@+O<|dQ?nl1qIc&leC;(^;>9f0E`5og6O&mlDPfbj5J0!x}>WMBcL zZStc@aM$@|WZZMYjQ;$2Y3?$1>}*Hd^l1{HnzTtUWVWXKBqE7zr|zp`-@oa8hltjw3fj~$bpGQp|#Tz*310Z9>!J29!} z1HyT)4(_#W4`j+J{bJrNI0Fzq3--VFAkvh=zB2y9Rg?yU9CsHagx3!rTD@C_9nftI(Y)y^tJ4l3r}!T_N^sQj{M>_96>r~i?y zug^cV@G-#aVP7+RbuEXQzX-+CvX09Dp}}`3zolqE?RYmag1k`UQ#(HMIl$>Em3X-) z^<9=C7S6hLJSB2hMw@I9eD4aR-&5}2JPz3!#EcTZ7WzO$^MRL>A#ZzfBmr#O_FlK{ zjW0$qmnc!L9eY?!lyx-=W|Bm4DMf|-Yw#8Y_&6D`CUH-cX30T1UJPTRCzrN+#vtdX z#@KUJ)eaOE5d|7U8&-lodzt9BK#G*}ac~!~4HUoaAS~O1|5El2*vWltRjx3o|M0aT ziPK~Q0f~+9HBK}t-@kc4iiNqYBOjgriFc}m!&9nbtgYUx^SI?XJ@WytK76x=Rm{CH zD;TsV26`%YwIZ5MD zPk)1dp*dn&A^2MC^6Kg}pRoMOu2yOt3Y3YW<7@Q5&?m2`udm0X$=A+(gM0xP&6rQ0 z{6Bvt3k(Wk0@l9;68Cb(8lZ;u7tbI>C&&w~Y)wd9x7*4)5~%)GM4xpi-kB^8MbT(s zi;3Bo_=KVXN2km*{u)QekA}9 zBM}#WGEQhg@gN)tUrkd<~+vg#}Tx!CmM^vVUiUym)N*-keOFK1RW`*r2Jv zuof>uJ3WMyYlQWY&6eNq2=TPzVVp^f`^Ug63@@0yPjn1)Oe8F5Te~iNd%glcyubQs zIT7`7;L4~YD}X)dZQEBMv^;rLp20^x=ihTJIsS!IB{Fu5E#F}1G{48v&l49~(sTiA zz!&vhL;!Z~R|Jpop7Bc>xUGUsdTUz92h=(7KdiT3lnXxcT-fvQ^pwdSdJXsje^Lo= zPR^dp^wr(nLdCi7z>$;iCDEG-+u2B9_iit%>3w`)(%V?oZx~|I zrM@p=FE=Ted-0%7(}*@OTIN#Z{t=Cc$x$++$^|ym+B!sg(!L6Rp$du{awW%LT;EmP z7$dul6J3E#aEnNl^vLWGFntYxysFGrE~ukILT~`_O{=OpXk7>VCB3-Eu)B)Lvuf5| zWj>PzBu$ym`~=iZf=*k8rZBKVUBb3}|n^3ifY#bLrUnkc^Dt?MQ<& zz(}HhdkS+&xv~ofCXNLn=xVix;!7FE9%gd~JAF3DtK5cp6}vRUbd_q*AV97w-`}?% z{Os}Rgj*RE=b3+d!nRLw0kD!K-=L*&%*2uTV*z)R9yX+1Xc%!;B{Yu>J%byu)AX<) zKeJaH6m1>tua7rIG#_Oi{^=qjSlA1N-2gAx%_dI0p=e~2`k~?Tk5Kn048DUO+E~82 zLtm5?9dd^y3X?MGlvd{-TcR=1U2RQS?R+hHY3ARM8)LJdBSzrOJA%nHh08gq!XWHl zL03|J^Ftx~+P-v*E&Ps#t*Zu53{|`)GzDS}6sY4=wmP|W67%Bg9WF=As~b9ptgZc< znYD{|ouKR%Pa2i>;Lu=0QY4ITcKPo|dD=2_NARitxi7!SW`I;wgxg|b-0m~BpWN(z zd(PstG5jq4(C2a$g@A5&Jiz}oPfosaORi$^r4GqvnSxdIF!-`lO%Q9y@TS86R?Xgv zLZO1CDHz)8tVV-cl6<<^-8hv46`pvH0>CR2_ix;1J0-2CqU6gc@lYeNFr@EVK9nSey8GX*(A}RNg0EI1et!dk}$>@^kJld{x+3>lCl>%r!Kfx<)%$a9a@zEf#^-hn<}7BgzcDo1RUf6yc1>|xUPjSVsO+pZzm5B`eX=^G+c zcwY0vrYQysO!`1 zflrQV1Z4`^F7}vgVsT;$eh#kfoYV!fV=$$Tn%^$9w+x72UT6i&Wh_p zbpQCI%;9yX(7&y58?jqx7oMBGv>oStiknKj z-=5>(Zb;Q$E1k-Z4|n*a(ztPj?hB(=LRyB*}u&NG*I~Zq+3%8;zn@mM`8wP(N!mV z{rNsV8^MGxeCuV%brCnZf>j2tz0@-jG1o}{S~%AA$BDy@qUxEaN$zJ7rh@7;r*@c^ zI$w^;JC44ur>o|X&X*b&A`dR9Ooru^^=4HmD00lT0lTs>NM6bH6}F6+fowlKo0%7$bRxg zqpfg1>r$TU_Fju;BI+Zbd@cAd%H?^AIIkY|qfeT?KCz5a8;faO{l}ODm_|1<6!mt| z?x7X2vv;)!DC{h0?JbOb0YvvCSi%7#$a~!)jBU$u7u#GJ>vo!2H{mD$zM^zF&*5A_ z*BC?^mV50OGq*UVd+oZZ{<9c-#Sk5gw1~2U#&`>KLA+0n{FE6YjT0f8(6EU!B)84j zTbgvpoz=90G$MG`9u*Rjb1Zhban!xLSLN7|V(q-zYt2LjCX0Po@vsrr={$l2gr*K}&~Yk_{XzmNAti@D z8%fEirW5`RmNa;3sE4iFkY$0UvO6YR=B{j&A)TY19ZHz)Lvk{9-M?1*Wbv&Ls;)Ij z_cLX(eDyNN!Cy+v0m;Kn$yYd-5-Tm zCZW>6bP)aJOHd#gzD*!Z82fSN^hcLT%jjO;{;N2r|x1Pf}@La}Xr z{Feg1M~RZ6W|S2ah<(D)nqGW4YDYI-@J>KFc%_)jsYOfPs*3P=E3YwT$?Ni{g5_S5 zS2nG%@VQ&?ClzNPs-2nVo&osW4~1P;KSoX~q6;Cm_1PUpBgooOwY$aKP0 zadz=GBQ&7#h4=j&Ev%;LT37pwZMJ!$4Fz~onm2q6Ly2S`RWI1oGqOgjAb`R^Y>-59#^bfye`Za7O?&Sccyc? z{PQp7k|Z`V@px!c>fDgd6gDk@Mn}Eitm7FrYTT|L0YbYJeDCN zE>b@Ja?X&8c`_8YP{N3SI`J zjZKavJ_q)$_BSM3-%0FZ__)?8#E(%6eN=SD5mNPB zVq|2L63W7gReeq>VOu&RF=s?@-1KTXe9b&l!$~bNWt815H<6_9gNL!p1h&8Uo5{5~ z+$K^06hf|Cci43bTB;qpIsyOGJ1{!78BwGsyml=2&pW}YkNxS=!Sxdwd9K~Q&11yg z9*z`9r)8a|Umf~O0s^}U{mUI_xxyi?*GzdvzH8I0 zj_A(IF%JP}g>%-)M-O*(um?U*q#s)-a%z0X@l`%@6O=R>=lbQ=pMm4+N*?7oPzc~H zFU@?aCB57I=tKY7_GBeC)b{)L8}0r_8-z{pf7-^Ey+D25iAvijr8q8J>6J5pq3_cl z#R;0v3yFxcU#0KrO)LFOA8>WXL3)l(>Quv&N&h5=zLdMvI0sLxi z^rk>HA1J(6wlbHRvDyV!)5P#&6=WLqkK;Mt+gr;$mZyR*M$z{1O+3&A?D=qoP9iIS;-k zzq4p-AJE_)nHp~H1w3oi^(;^=;y#x`K+R?&R=90c|;|PM2J8p8W3=Y2d zt8(GnXupVcgSe;S;xx*?%Z3TIoE&eOt6Y>7>mFbz!(sP{BqXkXnP>MsThilRYY9uX zDfU4oJ>9rcwK5y{LEz(BMjS6q)ZdL7m{d*y< zcxl^~IOn(n{Wa0Tu}tpS7jIU_k^0&CwcrXX=J4wg100>=DmBehA&e>92LQ9Z80=Di}H2g=(tdokH)#2Y-3pSO=DE?|{+JGy0mN6Cg5Q+qE zJfIPv5yH)ZTm?hR%uCl|c&Db?=m`B>7My_Ah36vnfpNOX zdQPe2$ChB*w!39oN@iu$*|#tzobePg+4(kh(L1Cde3TlTK(7@foZ2=&0vJ(lzqTCe1-qKJONm0WZSw>I@Wzw~onNyV&J8wY@4ntm z6++#^XJcnq`a}uN2&dy+& zLLvxio+lSwyyeW;3oBDGF0U z&}fLnIi+zi1?j_dRNE$FM}z7ukTm#OMbJ;cz;kNipWR0$sG5mMcC%QI9z4K&GkMtwyP^9d}VoL?h7!#Cwf-J~x||3U4W`qLliE zq%I9yZ-JqEwwZyuV7-&&(!6}=|W^6sKYQa*&s1KZ_)NDKL)r# zKGtkYN4;4!$~T9o^RZ;V-Zm2#;9>w<;M+Pl0Hgk;J{2zWqmFh-y?RDg(sQ!Ry=;N# zXUzTDu~~a9{vHaEpB>?V9*pY8mnP|m;!AN&_gj?z5=2|D@h&!146UaPO2CA0Gl&_B zr8$@IuHKov(#rMc&Q5osL&Hk{{^VB=dQ$^0zzqvOWsQx~_6$_<4&48vUHqAV$6XJv zdcVC+|AT^l+-Un|-W2D&I8zDNAL#J+M@&l`E;jsl? z8Xvxt&BH+82D+dJ=HfTg8Sfzsnw)s0sxz;Lb+4ncBy_4cY6;``slq?}{=ew@>ZmBA z?%kILX-R2BK|ny1l15TG1e6w0x)f=6M?#QPP*A!%C8dT^P?YXwkZ$P#X71tpefQpV z|F~;&-CIFd|Cjoey>uRv6UKjeDw@W-!!LKx(Kn0yu_hMw?U7R#TMr!}NT1ohoX|~9cjY>Q zj4=DDo+Zl`+L~w)^J2Q~VN+}@rL?rPS>7ZA14D3BXDs+eu<>2uJC~Vn)OjP*Qs19H zbO)ELr6IrzJR07gpSJ=&!piErstN4O!}*R&x)mr8C@Cp{f$nOD!(N2J0~G~@`$E0= zx>qarEe+}AwSw?PpDzFO4tqm~dYm}*D|HYv14gG_!KEMf_CHa%9rcz2IM9$i;xe#LUyZoy@ki9XP~ZMG=fVtl{r>yi2W7^%Kjrm*lU1s z(+BPzNz5}udgYH^qzExbVESa#kH~U7#P5~&$BLj@fra+OlXLdneQ}Lz6bI{8AbB!+5{KY)x$hay-@E?NDf9Xw8gpesgqN66B zd?L3do&k*LYBm#b>axRFY2w~)th%2|-oS9680`;`{EBDe+(k#f>+ggSA%;bZ2iWC} zAzK_4{C-c=4X8CPhO}T}9_$xZfw2;mgRkfTY)@A7`3?<_9`e``@0E|%O7G{vzCBmx z@t6UB%?G%@`cf5(1KtcfQEh1GDW+3NpW$G(;JB-r=v00eOq>1 z>7@0WSb2zzcIvNp^#{uG{=}>C?-9k2Z&5!Fc@4HFZM&P@B{A&N-3zSm16=eCqSk#R zL%{^cDDve}gxmQWA~pmQ8h;QQ20m80DQkyk)bbhk4f$wHY%_Bg2rls;l|(X{YB5-J zq76^p-Ca0~DLVIsA^;82oQMbrNV;CVd>P`Lgbo1|m)%R{*Ktqn=9BY2b@SG<)6=If z=9x>dPp}4Dfct{QpuR)U(C?}sqw%aVX`pp`G&Ovdz6zsvVA3v2zYT$cOdY#|i*i@i z8~&KvYxm7wcVUUqW(!|8O|HQM#~b-4K=Sswj0`I^2??+oZ$G1}b>2^JV2?^}7-BfW zM^T|4nkJl7)RBRgTm>*5Fj5gd{SZNZPw@9baIhjv3>~oib43oD=g;-sm2%Nfo_uMq zJ&@SqP;zr4_76C`l_qR1QT7&3ur_lkX{5d7I4<|r?P}fTxC5MfI#nIInRyOubu)bv}A_Ugq48`3U7vd`~^l)KF8>irk%h9#tw z3@M1GQY!ln_wke>&rjgPb;A@2$}WirZF!^W4|0^m7ho8B(5nHSZ@oQi3&|q(*AHMG zsEw9o@%4a8%kxke^oe1m5XQWc%Q;vnoD;$Vh70Un#6C2FnOmCqaGdmcr5}s$j!i5h zX}$OTm(+q1HdV|Sg1mNS>3T&SY;^vfNeDzI$-X&&*OH(cI=?$O_3o(u!SGB4&|K|z z(Sn+|m-V)=|7DASprEboaly!ymF0iZnrmwi0tTsz!6~)iD0VGBUDwR)cFO+I(U1AI z;KFs9{~a(uT%tUPLuBgPY3z=W z1({+7&a&CP+23Uc$wrLP?d~Sp5(BP7Vz|l#1b0@FLSMa=$MZiwf1i-_K!$j}2*xG? zLe)Tv!J{=eEB6I#(@AVuA~%W*SdiwJ8qu>MspKhlpT7Gg}2zPjDeMXZ=aSQLJZY zubg}R8?XVblbIf16B82JdwMjy^9pr1F6MadLt#@(BgHU=VJfGZywYp&WOWUIzI`ha zzn6US7kd%}4G&c7`2!4mCEHEv^2&7nKZK$AIa%4^s-R2WSzSa#h0V{apZ~n@M^D(c ze|raC@HbVPd{^auf}OJOzK{z*dz=svk;VjC7$x*$ak3UqpTJKZt7l^01t!;0x9?>I z;hvnFlAPHW@;*8s$-zETzL2ZQ!k+rClHROhPYNA1kg3 zziwMF{yZ**D;7M8??6YbA#GN=k5uKlA3p;mP_Su)uA>L?c zSoYaSam2>EDNE^f((#=qL$_$s1uGQ5!_AvFj{~srA7HN|>_=tkB=0531FSe*Ew9$G zj^7?rw2IitzvM)Q<==M}yD9E1|E`EtdOyZDfh{{&0*nrIuu1(V1^Y@bu-{`ty|FW} ze;5W^ZO*1XhJUL}HAM(4cY;6-rSQj330Wo8!}fj?gSmHd^SOM{9$_9^4ePOt!nk<{ z9#20`(ESzVQi;;lw2VqmPoF=(d6OGeQ)nP;KX`+TO`7qZZSNzK-kac|6Kv+oS1-vl zaaU<@Ajg*TtAW?U)JUv%e(b@2l0?BdEbchE*|LSDls%`~0|clML;HeMJL=M)N1Iou@iLvJ<2a(~2?)B!NCucfA;!O#*M%N^Hvav> z1NkDT&8qd@0FQ)q;-Dmrv1WTv;_~JGr=>S3^1zUi3bfy<9yDw4clve&M1#ifuiaFS%uxo^JUiEDm0-Xh&jfEJPt|pS zvB;@;e~0Ppr6Q)VI&^a9F)8%~yvL4MInZA+bq1$b*HvTFUFXu&v5|OEgBZ(3l5s!A z$BiUZL=hi1VPmv)=gOyHhDCsm6KIeDHTS_;a8X5PhBp?^v&#Xr%(mC&Co)L$e--Sm zl^|%6RNb<;B!d91vC)zv_{lx~Fft`#cttB&Ord=2l5rw^bh5}O>%?eiF5Cf!k#{_c zm5b>XG|w2@sI(vACYt(~=Q`I?vyKJ5x_m`27$IhIh|N?Cqa9(Wg0X>7*QDs7buBDj z>*va6mEZ+F-?gkhWNvqwpEI!taUmA9I92CbURh?FB*UxwFoib1_%qXc)+vhLq++`d4L%T=R)50X-(#IF}EJRD|e)a1{jd# z#T?MX3(Ngw2Te2KhXc3q+mrT+g;%D09)GpvCi`!V!X!q2W#jXo zxBnVJ<9zWobyyt__^w`b`d#qnoMuPJmb`!-z{n~*NTi>S1{X$c5Z-=l-TKJ`UJ(7u zl#8DG)Iytkm^++!X#|Lt0U-|o&Lsqbtx7A8rN7dgf zMVCyQH{gCJ!Af_E2gIl=Ok_^pX=2R`SR%?WfC;CYk6?4o3wVE73liPIf<7(%4eVl9 zESIbx1$|`h>;dw-wSvDHOANbQS%LQJba<~D$!L-eL-lDN-dul3o&nAcv%YR!GfRp+ zTc?@4KhWluJP7y|Rj?1IXqaF4ivp5}-WS!@R^ z1#X6KJxY4F!Sj=lbJ<@iHo@jo_!b8a)y>n@?AQv&F~QpwO^k(AaT0sP{PWT%fDy6g z^s1xig)E|g%-KSAtZY#gi~;-Gd|iWj129QzdeLQ{@4w=XVUxK6eZ594LhVSkby>E3 zs386MQ|P_1vW3-XX0=Zww|~vJu9w`{2G1m3Z81?8{njgs#N7Q5sC9+~uRYE~wD8L| zd64j2A;lSv#mMPB4yWX`u@HEo8)11&zj)!b@4l9LPjnrt0q>+N%);XA$ZdfiaRj-q zN7FCzl#SA9Fm@r8_wW6#_a9`7Dx$oAPi>w(z4CVOz1~<-Z{f}IVwdV# zLG+-{94Y`9MTteTi5rANymq{eu%jVz1H6wBGk4cZy2nT!Hk&DW3AbfzCX~eF{ip^y7Ux0~`834G8X3zQ@jYui# zilc}{K@`@RzEhc6q$u|k*TrL-48-^V3y=0T^fGroVE=NzYINsS`PfK^awJTj`TF}s zKuW^0n|3L+yfAxy?t;onubs?OTzUbMoPtpw=pkL7Xk~8R*oX@D*v~uNueprd|EU-k zBu}sFik2glmk)JTM~MnkB5Qhr$2yysCiI6k9J1Mkv*nKhx(n*eoDoH3#r!>TP0{la zXT?GnSkp#nd=RMrqjcpjfZC+8@`;zP6Sp&a?(;9!5T zu~0plMdm;$-LIic4E?Mt=CwC_bFA5jc-P{~Fl4x(=0{G5hWpji{3;QU$=8&elEjrJ+H4;}3jMAn z1V+cou}^pqBLUQdk2gw$(wKA!*j`t5eURf(eE%f&;KY}x>3X>A;E|yq3Jh2$7ESQbBKm8+>;D*j}HjkNmnZ{UN^ucY8u6L7f7MW?)Y{$bzRG|ba*xL*nU-mgo5JjSf}qamgdvNc|5i9 zTKDzB7TJ31k6KA_TkDcH50`2`jV7Yj)<_`Y6N@eZCn+N6eUziWwx`&n*QT9oY`i+3 zj19~_~tyRHs$$r>b_a?8q6Rz8u~vXCLHia2)uFa zTL0O}{1{gl^}zi>PN3npv8_D!Rk~{}pwj@#8Nw-QC@bp@z|=hx*D>Ov64Fv5o$Vo& z4Ge4#FukBDeh@}7o{4;TB^ch4#D#cytl6{oAsZw|woIbd7nGye?Tm&jM70%=y89nB zkdag*C@I;zcp)h>{6Mfket9-8FHe7rhw0^hfPD_4F)Q;3$#R&Bg-2RnRN+>{$}*dV zk#f!dm2ft@Kj9!Thd8&5vMat+CZf$gS-~b`@5|WFJdyU0z>zpnT;lqHIqzS<*EI1m zs()C$#(26AfDehqVFZ~C?1TO^@?*mz?$Rl&YIHsYwl|AJOD06OV;RZLAqB~b0tXp1#2jaF|%BcC3_ z3Z7yB|KMa;{;RI>Aw6A3*|-F!TM7x5&88vj^I$tJV{i~i@NplNL@Ce!YX$k_9rWqX zKy1&1T4-L}7E{g?|MwiMp(NTHE{|Z~lOf0;Zauf-lB>Huh-tX7)WEPr2@O!ekY%jc zKYsqrFYL~LBX4bBt5;OX*ih#;kB8FOdHEYhh4{V}R+r>D%H}2FaWNp6*3BEu=Lk^j3$B_Qn%Nvbe=r9M&GL|b{O6IpF7~|+dyS=y4OXt zJ8Jqj>Y_2x^DOdkDWeqLniTagoiM1ydhG;4@!U_|izOG45R*As3}72^x{u`qw0&z7 z>>_np`g(w72DLYQx+A+fF~lwf;a3yOzr8{C`EAR9744A#ePpu$Umn(?(KEUzuszkv zjOGHHo_d61Ir)MkB3WG3X3t$3{gKYk5^zk|0@lTVa)-Or}?{B z?5|X-el(5ErKQb{OR|^TF0IzZc|Ujmya-(oAz)((JW#}e-Z1G%pO08!60v9R@DLTs=02rH zVP9NZGNV2hTl>D`+IZRJpchp>imp?ds%f^sH?A-7%vLeTikANJoL5lw13|<7-uEVf zuQ(M%+;BL#Fs(Cj@?6^3#$kJS@@LaJmp1FlR*~bYh5;GYf`XUeOqetD=n&^D1&g{) z`j^GogrB2(f}j*P%X#~^EZtqe7ov|01v~>X^zwZSsJY7j z2gDX${~Q;GTRalcEVT0|7fTed&r&|LMn(O!oN#+-DHIU;=YM_Tf8>1W0N^tuP#*I^ z`Qsj)9;2?DkKMcb{(Ko*u#QK?VpS>Y-eSK_!`$sbq?pmBkX~CmPUz13K8m>1NOgoT zKNkn5F@C1(rRj%ZY|()tpQr!)>bWgmcS&<#X(aUHcF%IB0u<+==J(e;>am6sk=BYO zMI~Mt01#(6N8+8pcX?|6lp^W&T0MdkEC3}q14kUb10GEwk*wJSNCyWB^tb>|0949= zoWqku)(Y(Es6!1!OzTAn9QcD*dlUaX`<#QK$2*z_XI)6fQ7pKH8dyB53(D7L=^&4q zU(DhYPmEE?=4*KWv_hNFW$EYm;~YB;Rpa^^rlMX7m-67*te5d6yE{< z+Ms`Rzpp*3%H%t86Cr^^GN_f!%B~LOZn3ktNWWs~q!`(++eWCN_n}Cvo_ufYj{rlL z7&XL6#Vbe6}_3&XekxmAis9+Zz|gE(wX_E6N=$cPXS z2~8P-6u{9(&Wv)42!<^08a~CsTA(L6S*#frQm1rL>U~hi z(#{vTjaJlkS8fe8l*bp^ZRG2@;?05D*55Osc&*GE^y_AEv9})eUzJ;-^tZGq?S{mh zhjQ!(MN;S3hx$C?@(!$IX>!t67C)%IkiGYFL+0N7Q=ad-ip@nqaG2{Kw&C z`87Bq$F2NpzCTNDYCwoK`2RM5i;KPe`tk%_G&%d>YD){>QZV!;F3hoUP^?=%EbKq1 zO=eymA$Mr@Jfx(x_Sov}zlx2ynx|vwpi8=etxTEtQ(nvL_BTk$nZHMU{a33f0rXKT z&`XB|if&IDl9KK{ z@^6}QrjI0WjEpRtYAr*qIPD%B>Lflo4HUWlz|08sibuJKr>29ZL=v{plPMmVw5}y6 z9=Y;K{R^|6&IXMpcf2aD-1g?KffZUfD8CPxe@J3}h>qXGZaE_d4swUbrsxW#`k9nW z2RK^c!-XRe#k)9?_Qv^m&>(V#EHrWl=K(9?TAV%cC%*3}m(9$$MQWMS9c_c3xCni% zyZk}=ISlkc2jYfeGUeq3b_1T->olYE42qLGM`;fl^z$a2K0m9%!KXg${oi;!9Ub&h z>L@ljh28Ta`RN#Y#DskHs5omKPZ<&(j_Kp$llHqv)?FW;(K<9TH;;A*b!n9;)d9)M z)x=MNEvh0rvxg8s3vh34-0?x5`dL5)e`w9bL{XfnTR4tJ@@L=mZ#MF=L~hAap@)a6M-H^*bUUZjF0>2 z^}fV%k~ayUis$X{8LCnTyG_joQLxCx1g!+-dTQsOiDK9prgEJ{4jU!mo(9YFlxE4@ zdu64b-+Wd#Nc@joKsRw#kD+yA_12;k^4VDWRfE7U-yMTQA;cfNS?a$1-{U;Xr30+xU2X_KVP|b8% z);UnS_gc%Hj*YZFnbP9EEFMF5{@neNL~e@b896409#H-6d4WE>!xYUZ?!tm*)yxUh z8l93u85kG{AJ`x_Q0R1)qz-l|PqJ6dw)!^Xgd#9z7e77ZyY1A3(Du@ z79sBX+MC&T{PgP-$Lg`F-jkbPZowlyx(3xyxaM(wuFgE0c^96YJH(6-kQFkq(*!GO!9<(+PO5ZtGcFSOe5S9j-jz{3qQ|{*JS5t6i>~fZfc16X??f=C znC#VSQ#!gNxbHbSoVgkott&}F6N|q)lgvEm=a(gxV-duamm|i>P|jG$Ea%x(Ct#np zuX&MZrj`o7ioRyqg#A{(wXK@>pdtD#7vBhvB>tG^qyjM#s;Spz*&))F`NdC1#bHu9 z@j!9^Z$HZ{prL&E@&z=25^dKnQf$H`SK4pHlU(YQV=))*+tc?S-=^nNK$PM%o<58Z z!A=2=2$#6H@w7?`wxK~1&=suImsp3(6nhJB*`T}k?%_b7miKu>CVq;kB02xs`TGae zVv=I}9buG2P)JzVVloJX=<(Gi8a@J+vYW%%i}vf=F*}2)+j9JTd<7Elf)et_Z3)ET z=<*J-+~fp9!v4dpo8+m%Xrf{ljac_-j#B6HX8! zJNDv6Be{|sU{yl$xHyRU6FkIs>&(0zhcJE-(Q+awU^SO^4YltGa7avbo+h|tQ{yw% zx?g2yyk+KRDF=%d@$r9m&V2f`ppGOxY|=y{>_CbZBG!&r7AAvye$uUMsT1Itr3QA2 z%5*^zoJdw5n&|WXWOPPB$yL2cvd7F!?uGM|w*MpjqYu{ zZC_6k3CBozad9v>&T(;ZmAdAvD>E`PaWEJRz?2f6z&O%S2qC(y&x<_fxz<}yO9xf< ze?0SJea3&$uVTv9D|sMvfc60JE;*djrRFUgAge&g2HM zp2xQSvkV)| zy847w&lqeEeRC7EzSKGHFflnL-4t9zW?1p01o$L_*RAHx97)?wAEw?O9>t!luG-z; z=57b}O3LO(rhz#U|ErlA(HSd8pNi#Fd<(>6IDlP_ascsx#Jihvb=H**Y4Q8zV;h+x z4u$xfYJGq?eMX9`1J(}6Jh$KjJ*6^B9Z@`7s$PPD^{Kk@6LzKXukiE8O$EfqQjOD^ zS9rVsdZE8d<_~PD-8xQZA6WkO$!CLf%aB27GJf-+ez(0HvXzZg9~J4~LI^5+j$Szq ze8A(-*y2#2Dr7~tovRbz_?E&!JYxu|66zEy6P)+d*p^SnpnrSEia_ORAj5El-K|zj#dmw;B~M=(5p;4Yg9F#B3xEE@O~#rKRKF@qOs*N0 zZb<>nTeqo9q`DRcy17*tpyfD}ID&&iiEjx2ED}HhNhz=;OHWeN0^S+W!oXE@T@U7f z3*CZ+^(jghl_3x@v(q9}6T7f2WC&$8RIqnP>gu6LPxWiqCcCob7aN+7D3y z)isJxyPeauTb-w~@ak1T`eZ6*b`mJ7<6+vfMXpN+dl4qMQ2Svf^({en=Fa5CPE32x zNd04{IKw$shDa?4ze_IDl=#Jr6tQ?Tyct~;Ce$BC%h`(s=FORD8ZJQ_G=4*TJH<6x zj5x`P9Iblbv~Z3muX+49-y`7L;nV}|0ORluXR#z*lSe`QySf9X;>>@Xo6wWO%zw0d zVS7E2-zxF(&M&`;T8U%Bs%`|-Wv0bV>D zsu;P(DP+MM_PN)YG3g47oOSq-^d!1EHd=Xb#Eek{OU=5 zA)f6NxKQgQ*K5qhg(&f`9oS=gUCAmCV)dNJp?ddtthHx~nR7xlW$<6Qq1=r#Vi6_* zhd(Nn0YkM|)K8>fSDrJLZVJ3&Ct}k1TEngmQ^SD6GI|gWJ36Xfdl$dTrvyT%vaBrJ z=Z2;WD;tr+oOskUO!%f3mh&r(WXjL?=l_%|4fi${O3W#xE3tym3LM^TV9@-HRRJ)m z!+W29n{iKSb3wK1`j(<3oH*+6##~;0nf9PrZsA!H}KOji~ z0iJEX;pzP0`CD&|tc)q!Kz}m8MY89+H4O#JPt}DbhfO(;hh(_nV&7G*v6&jTn#`i{ zRR2BqQh68X_kMkd43|YBPUxuBFK&D0!Bl`t8B9=^O+u`I0Nhrdm2`>kAPNo63nVRN zx~GP2{?(PwOO<86XgC%F$f(?p@jk`swsZ^0Z+(nb2;SXwv#T*_`sOJB8iU20ro-JA ze=I~FcnqAfAEleR0}z8n+WUP3x!=)d+v)xT9-y&1gBm^60l7PHX9cS?KVn!Tzrgow zK_(aZ2D*yBs$lpeg9rg&&g;N3nW7278O{(40n>dX0?uk(J-vltv6WQc5W?c`WQgJ| z4MoeC04c|wbgbb-Rw}-d9T$0n+UY)$uaK>dcJQp+sQ78!R4U5?GmB91$oj}|$MzBv zzAn?lAE9FdU4baz_ZV)`!nHgyXU2jIxClmkh(i(!xh=iqJh`w8X7NBc)5n$9}Sb;*S@j=$yFrFx6~p`Zc`*6_oE)O&%+>QZf;>CA6+Ua5z!qX z3gLjPoZ>oLCpT@4GOwW?Ap1 zKqf|2R9x)75cFziV`MY0Evt*IW4!WN;YJjz6n!L{UsMA{|Mc1HwZE&OUisLLg)DlU zw~^nu-OrJaEa8V~aNM?QI#0FQj+A?mIqM(AFpB%7@msmdH@_aVHx7w2YYE`u7B zc&XLAqbVC8RLCaR2P$2w51rj=v?yu`H_so;V(~)AwTG^>gv>4G=Jr%me~ZqX3EVJSfTx z4?hA-YGIm;lf$v41jje_7ru2{gu!prDd+d>`S1UGUptmmbO#v2a8l7^4RRX&a%=91 zY4=&YCUli5Gg@TzLG{dpGLBH>cTo7@1IyaUff#YPdAub1Br>KuEl}s6obY)7OTZ?~ zv$peYRZ5bDLKzRo;|tX_pHr93qBmyK?KMvaElzz}y?sl#`cG)#*oXH~EEfDs5yW0)Vq!`% zNefeHCM2gI3dB5Tx!Uri)Q*#)SS#3}O78Y(;_jj>yxv7gyfWX~ccy3LtYZI(WXaGY zRblW<`^P7Z$eo$jW9F#4_Cns<#@fBNA>#l@dl6$kwlwM*IoeAkFrE4;>HRS5cekvm zM#O&*vzI#OeuFOktt^!9jxF1GxlyNV+Ho~-W3sdG#^SGB?H3*%9*sxw26MCh{np)Y zRG9JohTx!SblEsFQ_5^|g0`PqO@|;x=ojU+skEe|$?G&30Ax9tDOR+2A3!F(cF41H zX7(>$AO#Dr&b1v8iAim#TByQ6NbXzq8>2oyRkxaVgbeHfk^Ezp3Z;eWEN=_-3w0ff z^liwb2fV`Kp6%wI6p0qpCFy~H2q!T;vrKOO-#xQ$81+arQT2WFxX$_IwgylDNUlIN z;-q3Kbao5`=$)(}-r-BTGf?*!Xl(vf_%S~;=%vUtaFg<;0|dW+CC|pqc^1EZ5=-;y z*sU{@f}B**tPa0&WoFJYxZZ_?n4HwHQiwdDYGOPqY;M3RY{JQ@($%j%&*NPOvad7k zXX6{X#(~`~gRy@`tXT`O`3SnkO51-fESP{i>jn_5`)6=d@v*ZXJluTiLXFJOu@*l8 zEju7^0q;G6yILPpLey+Q`AI#rC<)o2n)_h;yWE>a37cqMJsU~spr8M!_@amA z?Z}kpEYkUS$ss%b>wH9IYfE6Pw8YE5#E4}w1eanFESjrm*+QY$8Z13=g=tLqLH1h zE>z}jwajLyJ#BCt@hUw6ad7327M%RF(_C}U9);JhMS+VN03axfl;>|=Qh9rzUJTeU zZ()mO-*=t^A)3ee`h`j>L&l|V)N_N3n5VPu$_NB_-O8L}QkO)f4c}Po3l0jRqNNQ1 z`jYNnmKjejLt8F1MOa5^OUFWnEFs*9bUplK;t|4gq@=1E=?SDdhdz1+t%CF8ox*>v zcKoV!#0lxE)m$9aTJD@wH%Iz8z#hIXFC2IUOZ*XC+f*lyJ><{6(w1FIFDJx1i=(nF z|52YiRnL^l*5-adN|lgcrl7g$@9l%7tVJizuhfy%qJ6=M-r4yhv-tvLt^epnji&&!h;hEir?gEeLy2Nq!Xr1}ywBVHPkFs5ib2Ve8B{CfL`G)Uc4|VlOd%|?d zLus9Lj$2=FkwU5Q``EgPbKOxRl{%EkvfiIq;Or1-IWtTX- zC1gvLQ8RlE0tL{EhXSF2FbzVJn%HooywNDYs~6s0>~e>}SM;0+C@uNrho`Yy{rEZ7 zYt~-k9m`YnNDyumvp7YD0dA(@vTxtt{)4f`fyytIpNPubZt^KAMt!j{N z!wHT7Dn?qqYJ<_88Vrd=((~P(k2j|U8jXBzta8*SG;BL$PvaAiAkPMc=K-4-i0=|PWk-Ab8HoERbd1yJ`E)i6X|Z8ilkCHexw1KV(~duCe>}cCWs+!4vkubn z?3GbdQ1*U=&1C^$K-y^W7o zU#F-2tEVS5B>?K~>odN=YVHucp~yQ;zyLOqo}uBAix(d-k#AdDnKA^NZ8MDiH+h@P zW>A^5rCODB*!~gzM?DW6O{()bK0aV^)yZj{VrDXt{`g@1oW@kzonkuoym3;6*&gPG zt`X_P19US#2sTwkh5-qA{cC62F~(s{{nio9VDTz%WyC#!01b)$-X1ZisJ$$w@KF$E zmL_pW;{{7whSwA;r0k52y4qa)eqt##W62+|X*}dv6HOm2ct~M3W^dqH6`>6`&v0*%gjc z40YT8vBKuy!d?&+=-5B%6@b00dU=TZNBw;R2@VYrA-=@k#)Hmb=QOw86(QFtm2dTK zcbI`;06G~cTD*~EtQZ~6XlP&p655Qh-lVL~#^4B;Mt!MmY2+jz2rf-z{2C$dzh44~2})f8 zsHJo05ze8sRUP!2wGUc*47HNA4Y(%#6OworI2mAy&!fC=z1PN1<&>lL=)~5}W4J@e zjTRx--p5d3oJ`Gd$flk8MOzdneNh6qt@nV`1-F9APsFcfgqD;|EYZmornw3 z-icqY%vcdCPiqW$8PDzB`gySSm8bVnPgyx_(53QlbE~j;%}ze{Pola212^*7+`ej0 zk;Fztbvh^Spy1D^H;JG+=axt!1W??(&d*Pplge$%-PAWzdn%Y_*D!g{jYEdA-c;WU z?tDx7?2cE7Yj5kdw7U?bYn_oC^zeWtyF)j_H7(*@$^ zy{(7VM~dmbVZ6**J~cY;o1gD~#JMFrY&9*#>%ZK-$O26_+mn^Q3(v@#@f(Khf|B8- zb({jlVCr~)9ogxqt`xbt+Q~;%Uy*$d2gs{c@yKlLN2agPs2(ZU)%TMYcG8A?ntjnp zw*HpbL-AAQmCHBBz9WB7PuXo~u)2O_VP=kui_3dvJTL?RI7Sh>_v4E@D=RD2{^$dH zUzFDQXa8`lc_5Q&f+86wF(sudMTo9+V1^GP{}5yR1(0+=Hek6b*`PA5oziL~Tuk zOsreSTmFP1eriI)2V8hmO!UOiuAwLcZb{uM2v^T=Vo$Szf&g;hJ20!@PU`x^y@KSW zn*WgIopp@}U$NrdxSGaYSazHA#QRmneWO;R9U?i)a8Zb9<4t&lB7`1_BLdZ^rA*tt zw1T2jDUiR;uQW4pD!49q9N82#=wI3Kjv+!Q?bwX3C${#DF>oe{<46~NCJ$_BsTe`x zLk0Eh=Raw>=mtI+O_!IId72n!F@VAX3m8(AHKcR!soz5CL=<-MJ>@z#$WLQng&`o@ zY$Srm!Oczh^XE^LWF;^&LPsK`$_R;86a`Hp>A@%MjcQi6tPhN=+>#ecmLyxhL%Y7Y z@8s-yxiWR&A&eG<2ydv9Nv@;uqdUSoS8uqdjz1F_dxMWxVBZ*Z;bmgnic=>pB5{8@ zQ)_XdnCu{I9`^TI@pNe)JKi(6-F^@hh~vOxnzOiPU%8Q>#qxzsSVWrE@GYMv@6}CE zU3s*@4z+I8kv?$&8y5UqSXcn7OT?jxB>HtcFP5xDhFL%Ktt3v^_whYS44u^Z50Sy|rhU&;QPF|0g9Be+3H|24#^LZf`<*1tMT`tk?PiuX z56dW4U~$%w!gdnoZcs@uZC02h!>c3fkoTExjKA2xsvCzcSIRMeB5CL~68}d9qF!Yy zRj))L6hs#M{;iJOM)~V-%$@KjBqDo;U)*z@D4OQYwx+|TAk}AFV75rXRR8!maU(oK zQT19FYIQP?B5Y)J*V|cK#xxc<%$d4N+1@qEp8SmOe8M!&>_P}VVoGdZk<;Nj>SErz zRMe4{x{}Wbq zGEvmaNv($wtG0sDz1RMo(=b^dFV#lDbKCvJ?}9j;a3RRnvRd5kOehF1smOM zr~GIWR)h&$rT1H`{^d8SnipKd>j>>;%N1OxOdH7)1hG{t=(l;`JKh}#Z%p#d*Z^fI zQaQPM2Xy;MccIm`{RbHux%$9wbBgp+f?e6R>`j57V$lt<2uR0)hDR?b=EwN6*3wq= z3=HrNRU_*&JN_19X4%3!3T^tt-;l|1P?Yn$g}FRlgS&fTJ=&LYRc5D*DnC(T#wInB zWtr)o=gil423cd45h~0#B+ok6j80D^o?q{;%RE&vefK+f^t}VWFahWM=DALl=JH1h zT(zo}@Qw}18=4O(z^(G8!llAxC!*w&T51i$dL1VJuC2w69*)UQHe|o9aTbqb&A9^m z!Ba~inhN7df%5VzDXlR;*tnDTq>Q2aQAl-|JZQ;&dVaDuUgyfL@1p(V-8aAbkIC_s zu5+?rJQy43Ty#eM6m^?ge)SwMrXDh^Q`-p%alYWv#9JjD7E%y!ns1V@ zS(y&Ds3wQ3>PQ!L0AP21?x1Hhl8E{nwoUzl)tg#aD)e`7cwZ|g?rpj#fa}t>#`hwJ z33I=)GxmC4-*1Z-ixL)C!tC{{&)WS96)X5w64Y3iAH;J*Z5lJ!J_5b=y`gp~Wdzq;f=* zflgf^Z|=jnno_QcCy=C?nl7P#z17L-743@joxA51FuRKFVLqlU+3aq@RP=>Eh&#{y zgOd&do|cPcul{m^4)S4CLmkSqH%osH%J_%oaXOr>klM~D+laWti!Ks7-YzHW-W&uC zp@hMlR<{auOO9t!J-u%?XT_4e<FI2qrAlPM38?{yK6@ zGrDj%SRc`N4JJ$*9r_)vD;u)AQQ%g~`>Qv4|8I~U{_?PO-iY}i75nR#I*41xUOl+d z;w7K+nNFU02cZUPwTSFCislw2r^uL?(7MbgY5B^e&Sg+uj}oJ)5J;N)YoRpoDG- zzTG=I2JN{cbJ8!O#%1?c(lbL^idhF=%|ERE#_xSI#{6talWlgkJpwi%S5kuL=nx}( z)%RKM%+`FFJxpA04F1{@&sv60*e(&+d_A3Lt3}mkc(m3oKVUO>mhmT^ypPX)bt8+b zHP(qo^ITk90Q5|k)%-)4MG0LNwWnf1ACMsEf}8yC@neWko>QY>3t%YvBF2Dx1&dU+ zMSou#^M$3>5pRv z)79!xLGd=6@BYy@TSB!Rx5!St%Y}o->_i|0IKoihW&u7<1XWE$-M6?`U>_ssnTbb`vFe_WCb#$NGM<0fRQrJynq zc^*};lw|~dk+v;Wc!<(%QN69}wVJc(NfqF@u3r%A6w2k3QvXLvj%IY&K6P*u5&KZ>sYPv%$?u>dy(yK|?@;mhOxO;o@x>TYU^qy3j+>B>s z^VM^G3!jK(shFeckX`n#jCYBzILylLjn`QA{-vhpPI(sp(7UXFDhRTfvBBlzFOI(7<3(?NYUKdwH_K7i?meVyB-Vel^@Xau%K zEl=Fn#XCLe@vZt%isjDd+lz?<_cEFPT@jMHKYg5H))9a7lXvD$;~vfgEEmk~>%3?y zF55cu>Ls~cy`|9OQZe^rldUj=`wW$@R;^<;dFom|t`y5I;$+N6%q}V*h^pq6X%_Kq zS8MvuTu-3Z`5OE4!hDLF{=yXfuCT3t`DO4ned=n+5%%U9P*pT+&jZGA;=W@E*daULcutyI(rc&%@m0bMY2y{pC&i8RMQ4(b+OaY zg(^>;vYoQzFpup4F%$?&9*J1}3`V^m%8Q8hD4E0+;`i_ICBlg8BQhISEJ^zIWLUXn zkMejVWyiEDS#_8!A&^!LagOwH+|h#|Lm!f+{d?b?WB$6s6{XcY}n;*5(xioTr*t}@q| z20F?YHmwIgd5C>?75wi$Bh1rE=5|@()`}aUzKNc$0)uc)#w>|Arg!52QX}^5FxQg` z%qysHgBKn&nLZ{C>|=8PZ5vdj1SBNhE2&`!t4wa(e%zNv-4DlUcUrp6r0e*X$ z!o*;1${9*L@;{EDm}|XA2VkzjNF*EydtQE)8#ixqUcdgpskop(KJU;T-{y}z7?Agx z$iJVN>-68hmyZcwSf!w&>1!)EAVrsi<>q!d%*moRnw>q<&q>7LH~k~#XgjCB3rpWQ zm5P-sxFMg=#J%k~wjUsli2fvl6`ZowEt*5xUOj&V?yV>?;29TX@=Oe{Ft~7)hV6G? z@=j*iTRs;m2+S17oL7Ifldazd4K7kb@7xD;i!UJPh(F)`C)0zGn0bWttaP(bPA_Ih z?pw0ld3U337Llw(#^*6DvasQa<0P7HJZKB*{ATLWG~DKCevGd^eqiy85NWrEqTjM$ z2?K5TcWux~qF*H!O4k_RRS&g~_>1;yGzn(j@9LhEj-O!8tfv-98Lsp3UEwz>K?pZL z`a+SREPNh8$FFN-^tLW}8;fJL4fINNN)u%6aXy{0#_U$fS)aUp!GlC6lCexw+|ZXrMh)b(PB!#+o-CN*Ut!1AMuK zPi}bBB!m2&JaA*%?80SR48J-rxPAZ;F=+BVF?er&D;pPyb`p0?uyjCHdEn50C{-L)0uAw3w@@Q>j(73=@v?5(4!ioUkd4M<6cfHaDr zBBgYPbW2KyNGT;n7J8fWoG6;Y4Rv){DM@c?5x`1j-r^cQE2DPgn@3jS+Ewz4BevMtB6BXqP zLiwg0`%4tu)}&-?`k%tW!n6kaDl=~!nIdcW#B!`_hX+f|ljPCcJ8D&86Z95no^Kfe zWhVDICEdpD8ta;A`WNjNB}GM&1_miZlg83#yK}>!Zo+AAp2m_e^WaU|Qd_WK&Q@Q} zp1c?=CKd`V2LlFtkdT*_lKS{#-nbJ8U08P4nuD26EZ{z%0n5+NC-jueZh{9wo2_JP*WQ24@6_MTFCCS{GinjrV_itH3re zm$}ljvj1?e71*4nfxoROAC%FRCiL{_Q_^7<=kHg@n07hOg`B<$`>_uevB@6o7i>fS zq8i`!Yn~|?{lq{Qpdn*5+>R@Oi!aaSJ=uY{sy@p2t`T%hje zwIuO7iI;$cS-IUG9Vgv@RPyH1hP-1RhwNE%dk6`q-Mo-cqdkLi8el%UHBt~njMj|g zTVPhUczl$Ww>O|nPH`U{={sV!zD9pWU#r$3c;~n9<*fV5(j%>I7 z4Glw&suADD_&+#709klQoGi5J`;f7A?ve%w>YV2D z;>YHJfE)*W7`J>-N``Jy+2Nw_;YCg?ZgpT%6{*8Cs397 z3^;snDTOGks%QN@6B}W9`@z3GvURIuw~e5hX!4hH5dh?5J!Nm1ZToO=xUc@z+v}zlpocA@hj6y0M6rF3dgn%J{e7EV+7> z13-JY9yekIW-m2zv2XG&_}T}+Mv3HvF>sKehf$z(RtxAA;!<`D2kC>wa0%!ZPyVzZ zu+~S+9I_`oD9yifk&t31U}J6l!(xz@TEvS&&UWO(>Im~dlhb2gkfg3@tWJw*x+q@E zdu4DU)FZbVCy;u4Y++#$N`U%4kLz}Q+ByOAn3$9lI+vbfbiMV{7_IxNYOtDL?-S?G z{2hV7RX*T6B)yUAkWM{x7|F)|=e?J&-T)LHUVAJVoSb+FSG{>tfyDv*rpcIS1~Rlb zg$0@s|A1^J6lj*MmN_q6L%}-W4-bD-?!4!^#qvk9fDB*|8RlKlgu4N)dwENX2s#JL zDTiTBX0xN!ZdCdPBp`$-Y~?wF8SIEvHL>L#|uV_wg0XeQH`kfQztIB)DTi-=|$>8k~=h~AwkT_;Q z48H|JJEK;S06J(U(H{{?j*?zmB4)!YthBT2qf~m;zg7JaX0}7UHzIO#Y%*Lno9g{y zcdKF0>dL#}%*6AwpY=2+!$?mLXWo34VelybJtd{MB+}YTJ!*W}>v0R{w3Ot})!}^K z0BvVV@;bLJtp!wf12w)Mo8Q=8v4uilF3{E+t2fAS)|yff^!RqOOx(1L@4 z!+BHV9sKL+zU3h8<{zcSvEw<0>PEr&Dy8O#`z*Kb9{2>`L5X{cb>8FK#sA9H*K*5A z;Fi%s@a^~JnW~5rUuV(@Cy?xnK`rKzGvprY>ETh?3%w3WldNV;{#7NIjS`&QfWcUr zC~xq>eM}?oJ0Mjda6MblmJGRqCmfI=cjsZG9S{!HV?0AL-prE_?j$BszU%3}<*a?< zjcgl4V2%36Px3itjgopkOgMh|h8=zx>4hU`)PMtCk{YS=AwSrzbcb`W>V$yaZvB_> zeWK031RF_C8j6lG8tsRyM1kvJ`bBK%da%~n)hoDnm99deNu3+Qs;ngYGXuY;#YP2# zn_oSns%K;6xjtZ8X}SiMqcs>wl5{)C167Cv0@b`x2A~@8ey9z*4ibtAzdXu6AXYAl*R0#m4V+^*lo*eBc9$vfR$DFV+eO zSN{$O`ejIdw0LCb+5rCp)BD%Unk!`!u2*z-A;^-{$4)k};j8U}?1AfsKu%_6X2*pp z>OX#M>uVNYo~@@tg>}vQxH+ON1=FWSY_^MS{@kBJ?*{Y8J``EbY$YQ5-U3<)OPhc@ z@lVC+*zXHBz_3<#=)F*n7p61?%lgb z`vHN%$G`k5WU1Tekl(rg`cYb_Gok+bs3bu75JoFZ34X`t`hmGC#iwb_atnFFXUJVc zW@f+|fB|`(F9qk9mV&HCvao_wAI;06#ztB?pYx1ZB}d1@IJ5+L-^0-UGaf1#+dB|0 z%{Jc65;Gh{xV!QPAM48KDUl(2k&h+=HA4^I^>!p!o*#?gi(Wkhufg!i91F(%B*`BZ zC{6eX}7XUR)q;Dt_Q(Zu)CWXI+|Q@o;wW zN(=^_ZTpILqBim1;sC=zeqo^m*a34Q7az=1K0ZF?qYmFcv=QmRmw5=b2Sr`i4@1uZ zI5eZM@Gg?dk=iIB6=mo^@t(>S7~}xVvj+}e_l*=kL)JD&KiIfade`j`(NguCKbX5K zU`W;8l--i1l;vjBVtF>Re@F_}rWX*P{1qZ5B0_Eh4JpfkZ3KDHSuNmBQJ-*K-Cx9b zS@-=6x!O6bKjwKq*r2&^zAt&&plGiy_iy#-FXev9t)g%?MaOudF3(06j4(oS@LqPiJ5B#r%WouiavhG{eeCH+4#iX z0iZ$LUVQ+7s2cb6klSMu6Sw5)0O+7{XW(C43Rtnb#8d8_U)spNf1W55i)UOp4Q>!0 z-5zLGQSI#%t+xEBzW0JYdx_=S$CtO|e{U6RL+AG?;db@W?;vcTkVm(TR3O&o&xtsD zx$kHBOY6q9GMWtd&wvfLfD{lLYHDhJ-mG0_%LkQ;L^LE1k2}?QB9G7OsP>u)&z}D} zLqdkMK6f?Ez01zN-oICv^XW&DT9Rr+LU39uP8Y^#Tu@dC#=HY>8&M4INpx}lPR~l9 z15z6nFvM+;MDe|u5?G8Jc%R3fg!1@|IZAu(Q~hRNu`T&_Ms`X9bMDDYDXAqD_>zR@ z{d8b?dHGt3hk9%mAYh43N(u!umjKBxAS@#zv$EU~`t^gTu*~d<^c{$eoE*%D1h@VX zpoZpt?_XNV4t7*nkm}V13L6PQ%}+I$Cs&c^!G1_c>jy6(RW*k1+FEyKtd_03T_x}S z*?j9wDTzM|ieE8z%G8){eP}|_jC@%N*Iccl=#&)J3QRJTbiq4Jfa(BXKY=Hh**Io> zZzBG2>$*H}j2=I=t_tQkIXPM8S8;lS=H~Y+m!%z>=D1VVr`Z?fvnHeh2x%N0FAeex zD*)%_dxwON=>`b{k)cG-7rKvQE0RAvf3yZPrtHs3FwcLFa8azYXMRBe5#b2n%P$@c zCaEXklx!^Rtb`jY(WCzH`JwYZpL3#hcqrNSTUuHqU{W$&A4m~fw9{@9=7~Nymwzz! zr*+kh=%rEu-^^|cZQ1iDK;Wk>UiyChmtDGm^(C7&)l=*1& zn?-61OKH77@Q}bT{8z>XP`m?607#XO{Qr)3n~dC7??J5=N}G_v#QHP!Qv@Cf%zM(YnBdXyy1kO9Y2JH={`>ZkF z<_4L#$`(HLQvozPEM-wYKBU#0AR?9KE_950&^pOVuz!_@W0laxqrBXOFH6j_KMMZv z&j+POj<-!f{u1orn?bZ%I2w!y(U=6_OBL@hSaEFbA<9cksHT%hy_*& zf`&|&+e0#GhZ7>arz)&SG`(#MXhy=f&OywJ8oCX6wY_@PK99^%NO%PRyzJ+Kd-Z5y z-Kern8}B0HO$8jgS&Eiccf3zh5F)XOK9hxTRRf9CO_a9Q!>Ow@FT?`83ejK0Gt@gB z@{TBzWSuFpT?8;>lEj4-E1$xFeALa30_*euL!qXo_LzmmrjcmWGI`oc!U=#$biH#! zT8zaue>q%7Uwi|=hs!0J`W9nQxu(^A!JI#4{bypL&6s0xoM3MePQ1axgbKDg4=~VD zI5TeJk>uxt(x!94&>f32uv^G%6E<#!yqvA>oG@UaVc-%5!!>Z`ORerXpsv#MBNVgA z`zxlXnA0Z!+>V-F9$H$-fWw+&AN?tAAWEd+Kj# z533h^aNtF~yd8IiLDj46QU#@TkCOV@4(?P=GYpsA*$}Xq$yWZRA~j>6QVoIuVE6X9 zVHgUxLF0d}y95bWXc$Ri|lX5yqmTwV-grpqP-=j<8iwKScozP1&kZZhPnXC4No&}GK)TTVGdc+;1NVLkgkvr`vc=K((2p^lLjK_uT(L1RgtWA` z#4(_z4`ALhfv+I!aV!S@_M(XUcmSz9D8FIkbMasT-uYP@8+L!74hBcS zQ+bWC0>gmk8<;aFhytYm97+A)iSkZKX+{n~`j|Oogebkn;$E!{4Lgm``syR68ZI85 zSI!7*V7B(c+Vj5^oO4cx5<}>%;!!SxlRS~!dX66xp~*0mQA{lK3#OozqZNgGzLsn# z-N`AyR*p|q%@2ehhS_x6hz4K~;L5-}uJ&cNI$O6LK0xCT`x>79ghK7Lnm8+@cDo#Z z-q<2N=W`7m=%Ll7T5a#^!x`aRW89ZcPxPL?GkBDV2NsyjM&fC0!=9Dpgp;+96@q5D zrt=(}KTXIEc7w&+Hg9k5j&$a-;B|L>_eYV1cr5GJ_;axynX+&~aHxC2P>}_JlgegD z{0HClg=r;qN|R^_j1hm6HVE3=74bul{kS^7hZJLei^9k0N+9!e&jys)1Qih8!_g3M`>c2uj{=(l|^|o!5;%&)Ejd*`hToe2E7}M-?89&&6|>*YnM{ zJLs0N$TK7Uf}aaR^wdqn4afnW$)TYkulXI9q6a*HJOMy9Zv7$v-U0WZ9MM59EH>9C zO~jj!lJY4VOAdUo8cJQ;vprr+bsIzc0PrC)YZi_`fa5ke0Af857H^|Q3Jisura*}n z3=|y3z7$x%B$iz$lYK5Zm>W7*S64v-DDx;SB?T`^U7j<<4hsgl}$Zb@=I9 zZ}fx1!`ljNJFlMS4zhMm-phZlKsc*QW<&H)QXy;EO-bZ={3>7a9ap z-8>xf=1bL)l-1$1{?U?`^gN0mflvex%K5%S-lM3aL(v&Y7dgpsPa6MUz>GA3nxbCb zDDdRXA|`N^OD9-7j$-5D7;|q(@;r|>hRe^q^uuA}_dwE!Ig&0oIi7bW6gX(gw4%G? zOy-M8)XGa;QG9+boYVWvEtBlqVIos3HX!8`las>+^g#BT z1(Nz;{Q(t(9H#A9Ulo};jsdOme%o*MT7ZA;IL2li)Vg%;$~*I#R_0m0Qa9>6q2TnGxO-P zKQ`%Gl9}&V3Z`mLhtL==DEjv81A5i9r!u(GEQHKIYicHYmYxB{n|JS?IWzwmy?g~$ zB!}Y-HC!5jKV~n8Z)Fxh^|!2|Vqm|tC{FMS-|^N20Z^cnQdN!OTYKe!u!?AN8bgkz zAp%uIZ(t3l!1x-(?O%&$nA92k@nc4MIs|HzJ_0XCv*o_*CoN!B%Beyj?d>l$w6vE0 zs0Wj#AfmFfSPI;Q|G7T0es-X*tNU9tQL7E5`K#gO4;QuHm`d-1a;us~hW5agCeMKM zNE=dn3HK`v)@>$?=`16Mr#bk3%msu9}Q@Me7pEuJyHVL)OP%e?E zmgF7Rl9_gp>RUzj8yO{}+oCY+ab_02H|EHFvqDsbV~-aEC`m>Ykh%{i<@+(DU*HD^ zcr3LPwH(#U_(LUABB0dNVJ^Ne@EO}v>$23Zv$ana1yfigsdoV?<}O~ZIVA88$k#mH zysrMTTl$y6SY=azp8Vz+t(k^#@p8nl0k_t1-t7m%=i-qn3Z_9kUhpQth7RaDwU#%Wbe zZp-s*igae+e9?16*`C-)czX-;*v?MQ5cjG0{#N!1g|Ks(4^OGtz$C!Sb81oWTR4HU>Z`+AW|`*PUBw^SSR*UyR5|^vO1;#UQ8WNuqIwN z0yHdlo>TdbpnNh?Nqy;D`60L~goHUi63KiWS36jY$Wge90iCMk8CmAB#(h5rDjOS5 z4Q}RR0cAaa1~egj4_#`Co|ihEc&coAzB=;wv1Hv4CVwpEp$qVZS$@)4Y84Z&?+%B* zPrS)yNd}A?3jaP&Ag#58mE?~l+(Dbws4Ss{GR|Lr(<-Gcsm+7X~i73Km0c8 zP{Qj;!OL?CUq_m(C9sN^6<7B4Z=5mj1Kl0g>7v3y`^D%z(&2;>mJE09xGIZz(W@gW z#GXD*`1rKd#+iC`*vy&^RYqK+lL2;rQAUL@tT&nfJ3H9kc32HEfGuu6;r1Jyvo^zk zM`WhqL+h`C`diS9ZDiQT%U1F4mnmc~NFx18XR^A}*w;lv7W6r&6@0i_r#(qERv#_% zfTSVm05bVA&9Fj@+s#uD@R}PxUHBy;UiUZ%n6sfaude(g*X0ei7cj!q#yywcpLE%* z&Ep!no62rH&o3`uIg8m1p2J@7t5?L1j*deOo~~sL`T1CYSS3I?ukGvwLO}^Wz9Mle zur)TO2R(imkLZAt3^Z8HcZ(K$Q#hd{3=bU1YaLi zYqgCGeFDUN4IO7lnC_jpZzQ=Urqfhn<8|6tl~yTIMoYB*B`4N!e5oje>tV)701XPC zQNNwsecy=ifd$XUinP(7+j(Kyo&FLs9tCxtH(})M=82aEDK(l_LeRBY$4}N0q>*+# zK2%fwm$33k)P69}nem zGLnBC3u2dv=s5S8tJaVq@8e|^r8KkgJz8t==z)NDnb&XW2e@mFV;CEEgax~9O&1I+2s=}oes*0^?0tT`3+kn6@P z(jw4URu=uGLKb*4;Dt!8TQwk*@XY5<huCbmllLWjyUcfvMK|pLaVZa49;Cz$5dq zhS~d1c;+}T3+G22Skv%ci1Y~1x9NB=%fre8Q#Z+A~>mdFO4iLA)1q5piZg0)+ruyzRYr#yKT+hy=Gx44QdcjVB~dt#>>mwBbS$a=@BK50*( zc^hH%WQPp=B4m8C(ilOD*Plma> z&*?<$RJ_38aTr-vzs*TF!`3@h4On zcpdgIpVwHE(0c82R($lQ0CJ+bdU{|lsp0xE9$Ok`c(!Ppn6HVabX7|G>^slf{ zAE&@+gTd@gh`W&eA;0!wbComXJ1Ucmv1;?@cY7WN9afnRF4ISK2~|BKtKczfr4hyz z2hb5-OiC*qV!U|1J@$Ip@BLOxCv{ZkLu&jYpI!O&Gy-bzHdiB5i0lh~Tm7^h1W8G% z1Rru+zg<=jAPBre=Qm&}CsKcd!piT&da%k~B&$`aojrNzy4J|LIG4!EF!k z7^eG?G0T4W?tutmKC!!vf86nz!};mMWjJWHZ)WpKYIG`QfQpDQ$ESWedATp2u}Rb_ zPe2ap?+0e_3rcPll(&+x(``L=sYvkwrYiQHuUySD^~2E!!w*ZA0NtW;9R|{SPmbjkNA4mBNX~|8K61O=c6_b!Nh&LV9 zft+`xuTA=VW>1-Irmy!ni(-iu%xIq|k4YVzx#*RyA@_E8z-cu{Rm>+x*|=ukw6WB4 zTOoSfhTf8f!8+mgBiBu>dc*dycx|aJ1tkfaUVtNF`IsoL=No;|SmN5J!fzpay%&4< ziSbaufG9t*Ev+=ToYJ4H%`oK=EyAlo2va1DJ?p)7^rjaT4Vo&~@p1Nriu22{-|eoe z*RGiT^1d4DMi%86mK*pYUeBC(g!QxgR*zxc9*-gXT=BT-l7puSa%rFqFB@of%QfyU zlX$)dd~;~grH=DrR!;6n6x`d_%|Y}Qf5!^%$d2vx4>oR`2|z#Aj|R9ggVsF4U;zcn z?d#qr6pOtr(;vxg)}ZeOZk!l3j!{NW4D2HW6cYYmidnJXVGz)UwO$2(`gle_loBts z{2xuACn3^V_t6N4Ej3I2W~adON&YMhf>8Jw08np zvbzX&98AXXKD^0W&k!!LHG;pxFCP#w5@U1m@-m~N#05$)fM*Y*W$B4S@(UN@$)INf z8f=2*MtgHon&eR9e4PUAnN)BuO8Sh0TEN_|zZ+X^uF|U)$d32O(BQo=m#a&&RpT%B zeUu}^u|FhyTL4Da8F>6F;I&i2#vkkl5bMtKMm9n$F~U0_A;a7d`NbzUO(tt$3lf8ms(YG@S72WBU*mf}R_2v{Or}u8 z<;nC1*?3+#$S8qF&c`YQp>rWLXSV(&CxT%}1IM)|V_KDu>)}t9T$D>^SDbG9#-O4Y zmx>41r-@EFE863c@6U2suB86*FW`}p=Ue|Y-n@Lk0NZM}pgY!ARgs0f zlo)#&ShDC&OFq@qdAoMHuIhhxzgpm0g&>=G1n+K1awr(xr3Y6Ni|(n3U&{YY1@ZKh z?Qi_9Sq2(E7fs6v7;a8$*%NSq8oJo=O|l_kHg$4{EI4hnNcZE=y_46{xM?{79lLQ| z0X#UgMp$)o7~nrx`stKEm`QF=eUT@(oGu<MFCfk3)pl{~3&M^6iTvxHHkc<*CKBtT9l`bl)>dz- zCX~@rl&to%OE9L9~xb4z%}FJTJH6gSRQu*#Q%(sFCWzjOvE?T z45EZi1$sWUSoxv{@3n?rQ6FxJHrWVj>**Eg-V=K{^f@;M92I~T%1Y`Fx>)+(f6=#1si#(L{li-9+Wt1RDfG(zUH7n*!iYDH%p} zfNOewIUauHT8>RYvKi))H5g3H8`VJ@VPrxUeHkT3$*eLY>uF-tw&f+sLQLW3pNkV8qz!Lctd4}xM}s)1gMC-UJ5NKWs2d0s#t8XW|uzkmO3YvlSp3Rm<( z-_amV7ey>0cEVY+AWA;1ji-M>TGaryOX%J9=5||}MlKdjt8=(#;(NNxV*lOV*^)U8 z>7;Qr{qtJj`?>5$;|Y8AUn3dTqf*A$*wUP%w8E(cnv3}L;tmQzyy8y5%Ipzi4&zRA zvmfh8WI|WV@;au{zUL61 z7wM+8jd8W!!FDLi!RB8%VXxM*+vg_LdTQEw0i10(YLhjXRB9Ma3k0E3b2tH8J{et$ zOGJO4To(NO{oKUMTWaJwL4`6jd9)D{pl(Ss9E$iHYIg2}ESrigG@`>)uH1B(+Y5I) zqV3ocpxwji(i|IXKO+gtuYq-54*Sqpbg#I2S%2!3oZ>TU-Q6Z-#OfqNQ zQ0Hl6#5Wz|qpN@t7mr~zSl~1;x7j6eAMO9GOF_Q#z#LIn*9#2D(rW8f#kNbGJ~llT zDo7}x`uTd*7oE|t76{rrIcYGoOSo*9i!K^O@uljbUECL596+(QMW>xPgINy#s$-%= zl^>nwmZnYe-tA(?$aKxhb|Ms+)Amc$ON(WbZN#*t#u0MchYLPtNTbx;gEH0VDLbek z_9v;Z-jkXu0;Q3>k)J@cC$;G(Qa;T@uhkqZNG(}s|ZIH+!JkW3q?F= z%B`NdY~1YfJdb%eSd^27O>Dv_RJEsV3NBS+ZSLI~bEcC8`1#tSoB%@X%Y){?(ppT? z!J^u26Zu_oYD&NIvXrh=J>s_S?iSho$PYLo@kSq3CecQ&BFZRXeofIoZ2ay7H%}vK zPY2kqf_?5Kq-m>*lE|eAlbtuFts^_t1q&MlI<2Y-fboU42ZRtAvu^b>=?cVIbBsu=m*B39)YpMN~q-d%dC`KF)+m z$WyUFJ3eV1wDa6PP%AQDD{lEy{Pp1ewi#`YS3FnN6i@C2)#iz&&{1u7~$tC~G$huKD5URMk`&eeUNlKM|)j3ScYUD*Xgz80BZ z#ki^@BbW@M#G#U|*8wkd#_W8i@9CC!GCOG^N~B(Um9+S}(#kKGa>vO!>D^Cf$|jJ= zeMGh=R1w+N|ARF(F=~%IxD6$?hq1I}V$-v0)v@QYH|?*R(Z3m_v60er1|A*kg9`D5 zWpwvsAp6doe^M0}YeD^d`U_z*rJGaI+zd+RaWi6s6^|8wz-M<)kGPFZkyn`0{9a@V z6t^-wG?X6lR!uE>7E?@Nb0(X8O0x)wp3wiPUWfX`pRPy?so)dAM6H-#Tr33w8(@Ce zzK#_^q24gO^LCSE|98<|AADA1ljw`Bq122?=gnYKjNE{1)2?1d@)Sx%9+hTY-MCI_ z1>(KO6RVfZ3!`l#^lmG_7jQ~6BVgEbs0*G9rC64bL2)pygqMs(gy z9$FL_{-kFC8kfU^%T1|M!+!bQJUYx1r0XFFKPualBKDH)mfG1Y| z8T_TB9IdHuHHK!$o)5Qr25&m$JOlwYW~-v7?FZGm#eYt)a|qHNJlz8daK7so*}iw) zgYZ<#kq`)9jcjKWrzG$~aI!byoi4e_l|dP_G@N-=ELRuQ-FLrcRMsd1?C+!BI!)k= zSQr6(Zu|7sHZ~^J1x=VPOicA&(fRdh-~=5VXedK^p5Fs4Ny!Ob8qWK2d0K9rom~fi zcx17c^XYz_vr9cGrfb)C!+6X%HH1p%HP8p%;8eD;!jGzFg*wox;`Oc z2M@n%-}7h{Bgk88oqj?_+j9%6*GAWUe`NV+zHkZCM;??`50HMqk#{(advd|%496W1wlO6`HZ41cwMUC=x{2Ul&zY-V1;+38X=aM$;SoSyfd${N1<3 zGlB@VBwE8EJ6TJfq({Z7)WyZc;M$kF>oHVM_#%lF(D(v4onw2XkgXNUSi=TNbJtA9 z=)b6S#|LDg896!V(g8I1b#k$+6t`Zr>v-A#SxA=D08Lb5@pPu9c>#4H3kme9 z_r<7?TOw+A9~Gpc4$V|)Erq=ZUP;EjcYZSdZTSU>R-tX%t%clP`i?mAOExi8cjkUx zvntlVcDx2=!&$%L%mp$iF?D+#aHB9)*`1gyrOuVU%^zz=$ie%{59nh3aIu|3o$H>m!0F|odEy%+cHe+rM?<66>ya`b{i5!SDAp>{ciio* zYR-)W5gJ+5|A@jrt53QP)_x|;=d=NUOO$`RRe%jmPf!1eQwmt&1Cqm}>vBzy{JLmH zHAC0Gmj~C5)~~-VU#yx&jD`fxVpW4>(de1QNsq;e+>#pzD<7RwO#FUhjIwSs7oNt$~>MJQ7zDoP@rwH|OG zH8a(ZE^fD6T|3vKjtJ~qvuIP<`eBnsz?Ogm0-)f&?(|}RDbLx_-k0o(fZD&bfUFiq z&$*p5@{>wp_O24G%aF|sg_l>S@7noEo<`}Ze!juP?-^*C*ct;$gof;m-|@|6#-DBj zv#3SS0XBkux-*p@g2#xHJ@%2#FYX32Kpe{-goM9Vh;qF@oo@(G-{k-vaprJ-?hL_h zgC{0=xOD6nRLiAn7P);Q``54GM80`>*{LSNQ%OZE!d4%~^G|Q}R@`?N2A;T55R#xS zm;C@odVtp*W+sn+-stin@nMFfeNu z#s0Svq{67rBRqRi>$u)w$@LTyoto?kr5p>6s*cX5s;a8&LD$J0$MFRd&h7|)yjg;{ z5I}KB(}#ykp%WDA#51x}fw3?A7F{9GDHcn5mnWDP@L zx&gR&eq&f76vPuE*EvoH=X%_Qg1PmOl0*NFE#JTIK-3D>g8lo3(==}uf3(RFynOIG zFn%^TZM+4LBm>~QVJZ2Ck|Zp^9|4MQzy#-YZbf5hz7QhfP%lT{JfXoN*ur%Zf(IVVQ2%0t z0dG&}%x+y)U7(nV1oigme>J;^sP#wZI_b7mSDUSqj8X5zxJo|<&aFRvI+*{cEE@VM zD=I*^ZHoDi1RZqkBg!-2k?=6SNu~%^)Q-r$)6{g1s0*MFs(`7TD=RgeKd&c*f~%oS zhwA)}>dhxoD@QG|5FT%8^j+eYS)35Vz7Ro^{LB#1W?KH*ZQl-e7dPGPXE3;k)P}KM zbhWA7{;OD=MKoYkcQJe0J>s)W7=PMwP#BkOKq7v|9D$aMca9)(P{awY)BLxK{1K9R zdP%eJReJv(T0%}Rz%+K`OJ)m4zhMbr0}iWClS>2LtAi`OC8xFHK6Jj7_GB1f>EL9SX)~YhRY93Tt-G%js*DLA|aTW zK!nJ!l(zue>p`?{+tLstQFawV4HE(d1_~$;o$XZExYp&Cin`VNla)5sB!{*k$GEsJ z51e27Cw|HVVaCsw%$qT69KYYb@a0QPOf>%SChPHpe-%YAm{c+?TExfLq;D+|{DsPS z_nC^&yq?_+z+WtX#!(SUNDL$~#Q6xNo{?oOL!p_UWchGIJN#wa2^dg5nZkmFbi(cN z!a5HGFyiQmGw84*yH>gf2Bg*1X$t8|S9)omkf5hxf^#gtWTej3{Rm~3R%?{tjQAtQ zF$Jnq4zFhZhT5|-Br01(yj?8~M9?C^8_K^g26fhyYqz{3FDYjr%hByJ<_djBuq^|) zi=GOWq#ucjO#Lj-pApzX0rC)cojTs^+N#-}u7_8syPVz%~Bf4|))d1rmjsWncBN)o$EqCjR^heEC3JDrxbxeUt(tv8A=O z#L3Dlj@-*=Yc|SIh9MI@J^G;?FB%pDsi}&mXnS@yBq`v_!iaGT4&^t$3VBR4WtlMy z;;+uSotR7b~3x-M+Z@87N) z8uZ71HE6xg^-A^;45nIoNt^hVHzZ@pSANeqX_s66^>+`_`N|FvyaCQ&WQVEc-HWBy zsxsU!h_T>1BTpHyxBwrL^d==t{3*TRluoQmnV<*WmdqeL!QYp^(Wv-?nO$yV{=^BE z=q;^$D)sgVHXRgQX=hT8q+|VsB#Fa2kGs^Jj|FQlAglO#S2HET002MbpCHDA&MJ390>j|Vxe0=jst452LQPJ zH&_TX@I<}+UoFY1Ac%fBa|Zx-Hpq3*q5sAhfeQ@!zw#P&VnaCp_cNhF|9#>X<7DUu z1Wxfkq`>}vpX0xO5i@j&;8|=6ai6jH4B1a--~W0)X&`!qMaibUwCXzs^i0U}(L~3L z=9nv<8|I?`|NJ7jtj+W9E6a>D>tHh725}b8R9&|qzLMJeqo^qF?D;s%)zGR7Kn@|& zb#2{jx1K$JO6<6l&x~^1yG&d}nRawsrP8c7Gib#W!K+CYqMLkmtj!bx+0W-_FP>h@ zzqXM(dT0#*&AObF9K^Ty}Kporkxq z1hgAm1Kd{QwV7@VRFjJ4>%^V-sNE_}|a99@pb3VtkuYTu6$8xK_8>P2_z~Wzb%82||O)Qq1 zc|iTfeEl~Bd8wahLt?8v?3RZ}<6%ENDTo5ra=-(u@=2uE>F&GbN8V%JzJ!v-9cFG_ zOU*fc5ViIVopF`P+)QXb|573J^u_EHtitayi_mZ%2ba(yj;x&8i6CGyle10 zED9NSj)~?hf6CpIX=S+J4;_;>Nc*96maC(?EzL;X`Y@6`iW^1MwHaF>kvs$v>s*P( zTyHb2%otaXWFeVQ`)LA(kMHeoir;CXqCHdfn+;U$=s0A?6D0;3Xb>Z`1V}YNwf4n% zXE+teJBbTID6)P*wI9|^5!V+mz|Maa_T*urp`Kuek=1c~qzP;WpTUX)PLbUoniy7^ z{7l!_4+SGmk-cTpy=Yi#tlM0h^z#d{0kOG60SGFlZ{Fy|&P2n9e2Jth(xrUZ2;3K2 z&>&PSRXo(&qooO>>CW<2lu(K8;5_rD^|UZo8)P@-pa`R*_tu3`Ih;E>Obrcb0g7eT zmKRXNpg((Ee&_Xv?d9wVHd0T-9p|sd(;rR8sq1Rq^bptYx8i_ZBG`X{9izfs)qHdZ zkMPa`|Bz62!;ilx1=$+i;=O)b{>iH0&>oN-9b#wuy>lq7AR0>}okiSJ%3Wx3SFs_Z6bGz!gPbk&cX^`H=X` z%8)UFO872llA`?p9VQP6{2w)a2{=^W|Nk9(vMZFmgpxG|S!Ob_C4B58dm3A|ENQsJ zN3t)KEmB#NeJQ(yu_R`YEg{5M8jM|Les@0K|NnXJz2`Y+&dhzD^PclwU+?z`)`AdW zK;NM`SqxjB-`XlDjM;=i2s!Xq6uTz!@#ALkrmjPfF#;kqB$yo!x0fbN+suAIx1GB! zDvWHE{XJIO2O5U>uXUAUq}PZAaVEcs)c``Nt$rVM>ghbE7f6PQ@K5qNsM=WY>sT3a z#Q(#hi$!o7O6th_r$jlQ`9hce*G@hz{R;hPvL|*>0FhbH949 z=uPc@S8uv;{&=-@JHYBk9S1jY$kM`?u=Bu{;&YWe z`&|CGd!;2yMTshwl%>CF?T+Vlxpipd2NizQ$AY~rw$;)6ZhCkb z%EBm_HZe5?FRZ~LM3_vb3WDf64*L6?;WeB{5rT@}5d`1@Lgp=$sKv1iT?73Nb*?d) z#A*Sig(&{1MUjq22*ov?QRZPHU7*}a;&DXH zwSS5tz0Lv8bDt3^Eeu=`Zs*4W#EoSA6kv1p8F{*%cK~SF>l)}cr)~`m3~}DKmey5F zClA{_o=SWfE)G!xy;a}eRA%px=PK+Cb**=g`~kdm-GQyrhy#?S2!({8i$~V}>MYbP zcbm!@?vF9o|s#KG$>?LsND zst%{G_UgdD%I$9^xnNnY)ughXzN!zWDo5{pc2ogm&Bna1b-0%tUy7dCX#EF%u4i;C z3@DvDqtQ@gob-CtE}a<=QPuN>7WBnc%=@-t+<4(TaDe33h={N~YVAgky6CxUzPBWe z)1T6%1e!^BrjgN?ouIB$gKLKO7H(lbR6g|8 zU~FciImj+ten!r8hoZt9Y~r&+gV+}70q7g!lokK6CDTT-ZidTGtdtya;jHQ0r7@wi zpiS9hGj*4P%V_V@`Q78pNPm?uPNB-y9d*mrHUVmj;j|Bmxq~T(Cd?(w7YhVH(SJ?g z;GOz~Cp%&MoLrl_Y9MiRlz6ImQZgC)emuiv0r4I8oEGrLVIq8-^CuAOT5hUvr+kDD^fw;&Z*!#cD`05+kEZNQ6&@C;PM7i z8;`ECK?=-|JcqvWo>^_+fbb$?0Wn>+IGzhS(Q8g#rFVZYRJr&vq@aEi;#SDEqa&Uu zHl19y#WtDK{z&BQ6TLSA+_KMtq*lbetm}(vwzmHf%Z74BrlN2T0;_M zGk|Aqq}|T*7_0Zt*mcLoF6b)|!O|qO710cZ5bL^k|1}3E7t^Ue%KjMMxUhTtiq*vs z8vJYo#j6sp$W2t_Uy_%AOKv#Jp^@1z8q@v9OU9?Kj^+;GUT|x3W?j;bg{n>m(=)Q2 z(wn_$>o)t$lIE1JqZ$P|%(e$NT&(!szVhk7QfI%r?7(c36@_%)`6^F3I3VioqL8)t zo;JNNy4_*RYVu_kfB0p%vT|9`*vLzNXc1;-i(iIcz~x!O@{7X7qeIl)o7*$kW@jon z_tj!FrKaER$AwSrXqNlRqM$Je`m z!mx3ZY}!%!uZchQ5@Io6@X*PrQL$O+6PDtM?S4Z}x7{NX*QxI^VqNo!{PW4%H6t5} z{OJO|^$lOvRs&3PPe!qI4GVW5b$Y`07=BpmL$SG3aZEaca~uA2zWCxM7uT;4(*2yY zZ-G;30bSERm7}A1WUV#)G1ZbWhfm&-54^1Gx!_fecnJWeV^9I!(p%}j5o0=IN~z(A z=>$G$6<;)p-z(+HXD&UF=oIlJUym3N`*!fhVn2m5^4knM+6tCZlrS@?ZALu=I$Uyx z&_Cz}mw@p0i)oKd&msBm6(N-7s{E%0e%xEDz<}cGS<-LJLvfx)nAbQG>3TG$m%JR^OOK)WfX0+Kf0tFAf@FX#^4|pBkCeC z_ZRn0-W7e0EzBx$D2UjjOu;0-^vWi0btw;q|6K%SI(w70Iy9R?PxB&VlMf%T_Nc!= zD^67w?)4WvF2x?5ep}i7Nx*nOpvWjU?w;pM_X;Vfz@SuJWsqvEf6J#}Tv7p%BG*~f zc|}%tm>EXX$y6*jKL@4o{FZCz`wOZ-*w@-a4HWgN}*FSaw|Y zkNO4rAHhE{%b(1<13|9gn(2vGQa$D0bUe@@Evr?Lax|=Yncht}{fp>#v2NqOeWPhs zqmhSOr>W3hs=o&;_)D%0-OWJmc0E^6&PL2e2EKl9(@ZXo^`p$B~`?IC--6QBGp z0{Nd*NI_v9e&2U$P3-JgAg}(Caki_+_IM1ui}UGO%U8kJN9MaQceV!gX8QRguobLM zrAh?C&Siij8S6LMSn_+1! zo9pP1v|%Cqh4L#CFp)u_{t1@Q$$9ZYqHP7Zulq=4PzSm~uG4TVe&Vs)T@~9Zf9*35 z%w_oG$)*JmeaWTwf5LyXCFV3N3Z$+#Z4M|8@jA5q2}_#L0nM6QIwF5XMlE7r?0?L6 zwqE|ZkoQGNap|8tpPLo8m_zwlb8SHTIbdRrgfC~iJk+Pv%|9M%F@6iA=*qU5e^Bve zx{xY@v6l@R3V(X^_n7!7gTHmh6z5jknRN|#mtlW}YbH*)f^#6?=*Rbxam?mAW3LvE zp`6oX_Ptoq7_fZe3WB24*25kD+iZk_8C)(w2^z}1IX8&b;?5R5nJGsJ+74?KZoN)3 zlhTbp=GpiST%P_DZT6>^qJ4;2B~hP$FzaWet2zLbX%A(zAE!S+OZ8#ll){(+uUES= z!BDD3_rUkN7t>B+z2W?jH~fR8RP03~ZfBGVC=fG3(3U*Y`IWW(3~eMZH9cMJ_r2NN zo6mZ*ar*N-gAd+C`qiAa)+**!gP?$EcBRcZ%}J*@8@(jBO(^nPjvF!3oWHk`HaDrg z7^gcMBR_H-3gi@q19Wl6xL_{&UxK`p+qaQ7uud8$T!uAYBG%FD8s#I0`*8f4Mt&VQ zf5fXc@OK6k@uoQNI{7lhjK#;D*YT6V*@?aN!|Zg5bcMNWT3U7$Dplupw*9g>mXDhd z#+bg${fpH-D|gWC<^>tB!@2qkqj#C{D^=Q**wa;$A4K+|wVYOOFySK|A^>hf z;Cl0xXSIYzUuce_mH>YCgwOe0?Yu`V?i4VzMinLnV{Tkq3>|4*(% zVtsxaG<4{ukGj!F+dfN#Y>fl#jzxCZ7TM+KiV+9h!3qARu?Wb4l;a!y%8-{VQT}<{ zUr^nz>BSM0gJTo2XJFL$1t}@;BH7b9LMt9kdtQ}7=TQ5w?C10&hilgx$etbs9s#(^vtG(_(3q zNeZi-@(Bh=p^&NV8P{7wBRyWKP6qn`K%1+teZ#!r!kL|cF$QP@LF+A-Q-7*wJ@15# zms$T?(afLd>3hf~o0ag8YPwhwM z$Wv$1@4-y2{x=J1<$v$IQQ0Waf<8`r--b`x zx@a6ZeQ$WN<=Tzkof`^{;NM;|MYVl+ooL$pYo2qyLh3D>7ZT(`y4&SCAy<>o6j`Vt z@b8-J(H*L=C+DcHmg$(nIM_T_LJBz8p1v7hyLSiL>tV9-s?O*jgP28 z(6A%@<+`|s#hEsCLzlcL_m2y>Fu6(&70mgG-?Eb-1`F*jwAY7>$nLk~T*%u=imUB-j@G^QN<%g_fF?kHrMpDI6f-v(3n*8KVOwn$*GcOhlIg(Jn zTfRU3o;{*8{*v-t!TTls!EHN8mm(KMh*k#|2!r42@Dhu*2^?G-2W|CWRE0s9^b?NP z8)cCrgsxzpmfVMb$C9uROg>X@JVslc1ny(3ufaW`kM{}uRO{_s&R zv;sW+&8;nSY`?C#60c{Fq&x7rU^BIvvN)%gVuzk%qjAoLd z3PF(NSFmVyw}I&@P&5QbXz(mmh*SS|R!v%OrvJAVZU4EVKT;_~?X$#CLH++f9+4Ev t3;e(F|1}hi|KbbOiT@jr04VGt;t3CK>i}v{H6TF$rjd4q7LDVR{{tUE9^n80 diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 0887fbd83e7b5b28b0849b762d29e1afede28e22..c57f93464daebff2a0d871afa2871b724b7ea242 100644 GIT binary patch delta 2364 zcmV-C3B&e@$^(?j1CS&EF0myQ1Rl!`S_H+{e>S$M>yG32*W~&su}u^5Jk-SLn$V_cDe2O6q9PJgDuUKAiBu@-i?X$y z_aahJ+i1|ii*jV|jpkgYOhR_6PPgRQ=2`NZLY;9>vM`&5M;FLn*#7=@^$BFIi z?uB!2Y@kh|`oJLnk7UL7+@qZ9MDkDnd(XLdL6QIze?kbcAV~lUA%s|vZmM;FT`eto z!_W|`$Hv%ERYk+l5bqTgvAMUGV{SL^6&2BR_^`6Okw5p;Mjc?W!^YO#Gk4v8vF&I2 z<%u`|uk72e{BHc?NnOv?ES9g@7D5OyyPKv0G{SG)`d{FFd>fm4dl?5d_x9pm|19f% zxQT|Le<8YBT9iDX@nqLg9bkD`LB{r1wX1OFvcKu$N&T9?e>|z{o}#iF_Haxggt*zv zs{-skv`YslzNd-1@4nltIL@9us}G*(0-*7+XR=<2Xp!gjj?#N!?P?eq0;?VOyAF(J2OIr`%h`nU6n$ z{&!Ri2|!*!v0h$MjoWjav2d8vXMSLY-JRe59G7PUrTK0?_~(=!9UiYBPB`F!-{rIkxHpgD;z3#8yo+ ze?u~xR&Mq{{dD-{7eQhYtag6+$kS%{QC6ASU%xulKZ{Ow9o6fWRRiFE{{*``U!s3t zfVySX^bZWMyYnUd@1FpmZdrBKt3Xdtnf^fCU0fJ!!M3P?JlE}%mX!l=-#u^Q@@ybK z_ZSxjhk2mxE^ft2(C72%ZnqnNmX;QMf0b*M`D&T2`aK>GKA-QF`|LspHRcq6M)=um zGXc1E?P0$B!o}LPhs`#dO;Z+v0Q7#6`e}q9%!FV1euWl0Y%F%z02mFAUDc*Sc&Oj< z(b<0iV7Is7u>PD#WQ_Y))KgwkO@7`^?Do$9_;=qv!bAN^tDyS&`i%c?dwaXmf6(#y ze7e)=#A>wy;PrYbUQ-M}@tR`1Ua#3#LQn`XSF;A75q^ne(rjyPZU$iK?U9UafJ8E> zGz7Q2wUaGx?SzRa@3wseWtB5+3K?Ms;LUfj|Fu2rdi7QIzqSW&zU!L(vMD^&ZwUs2 z437K}yUj+!@;XZM-Au+eVz+JMf5PC?O)Lu14skhabT3@UVoS5MoZ|JqgCDX}r<-3; z_wKD0P8|cFqhSNh`zrxhdE`d`H1DsZqhUj;^QmL0{#o=;(;CZ#OZ@=Ee-cwXwq-ls zd>6~h3h?H;cx=mdVu>jLE?ny8p{6xTLda_AAUbw}-irY)NB_jY$QXm85qd8M@caFo zd~daiVKaQ_+ef6ehT7U%^A%~Wp{J)u*_h#Q7=TzTmeFohfd*s0(O(E5zRsKi(5U{R z;}aRDL5&I!Ql~$o;}aSEf3qn))K>2KZpOa!?QDmi!3eeZ)D(w0UdY&YsN)6VQ&SoJ zR0s`jv;+ciT+W@0h972pe4JP;MlzYif4-MOPoC21ucD$tkF?eR(9_dnz6=hBBkNVy z-o1M*p->1-(?}!|#A30lg3xG7Bob(vMko}L$uL5QSWJ-d+FaR25iMmYM)_9Yhl|;cm;xF@rC?T@_DJnXXy# zuxc9B72jfV@-Nu!>$osDOkrUmo}w~c_4U7CFi2rxp}GCwX^luN)YjH2s{#+Ft?g`U zYtx-hXU2Y~(@88Af0NJ?Ld?rIS_hb30jk!x^RGJPcceC^!*1oim8th>;n%q1ppt7p z#v*t~g)<)1;~I>~FaU`}BIBpi>6Gh!LWp_!e?}MXQWapf4rLZ|o#A=u zKgteaBsR%NY?4RTG_!og3M#!-_|Nz9@rNJs&e694$amV6jSnz2U2&$o4Se5hzwe$m z`TVm-m5qJZ&d2$5(*gV?K}t$W@HfGEj+oZ~OG--U>+4fCKFkE(Y;8gaF`I7`fY-AE zG}Wg~^f1;1e;TGI%BWKA$;EBA;{V_T{tr%M?5inS%-CeYoD6d#Tsc!R+dkcN0Dsex zjJ8N?4Z&bg>9}9zw%cyIA>#@mZVmGez(g|16YaYISX%lA0G?>yWzGz}E{s#2y`MnU zy{Y%T*@m0X2) zcQwK<{TiU5q@+aMz|+FvFriQgNQGZC8U?YBJl)JFZ|{$aCivBSpsk;qm3RE!Uht63~s z&SgCoe}lijp9^%G`>HC&P{ss3CCf6t|^337ni)>?wWApWK$967a_#LWu0RX`To#gb+exlLVj;LWl)P0#FDc#DXLND1;DV iL6QIzLI|-S{SW5j!3C9onvMVf002ov22Mn-LSTYmkijbe delta 2352 zcmV-03D5SF$^(hY1CS&EEwLpP1Ryvn;d5Ws|BTl@{KUTrjfEovlCkc!YKm(md~V+&3RNt~FQ<6L~n&R#g@ z#4gYz!Vfg$|3OyHdCnuAW03OG|D5MJXH=2^6ha7pF)B#_3L%6Tl}6M$z`CVNwbG6b z=5=|1 z0Pwq=yOckTzdNRBj3aBdo|^ih&lASR+If0ESv{7I>2JXxncvq0h~)- z1A993cClz>4V*kgdFXX5=J>6WiYTM_dpt9L>j@@jjOSS0L9KN56L|8caQ2JS(E6#0 zApuCAFiG>c3vjxQ&>0MJ=IrxE*iHTJB^<8hWM?=z@vlCu>w5b`Sq;AIeOa5p1UA=i zzU})}d#kk|L3Y&dcqqTS5F+)4Tmjba-J)5{19{oj{*Gq0zp1sgzhnF&wwTRENT$+% zoOLcJ=?}k*EQp4|V&hlOy<&tPIeGEpCG+C_Q|MUTL9KXt0RXpWRJgNLyatn^lDPMiR2-MUqK*72-=@!7g{s|Mi0MWwg$q5JMa2sMTjfO_~@tpfqL zaN$0hzjCl};Xb3yYBehhK>!-RjQ`X_5C+08@wh_c?N-LytpMB%cHY*eLa?LNbo$)C z0kGMsuv>mcDAdUlvrF)}3&=>X#b&zzz<-){66|PIS_PGqlqCKCR##Um4V_AVZ>5$- z8Wt=7G#_YYam``?7S}AM`9QPLS3*z-F;s&FpdNnFSj=cEFE0mR@*|<7eSl~zrZfcC ze_YG@k87c~i_fY~Lr&g6n?icn0pw>m*!A9aw!Hf;yWZPQeum?Y{Zc8|(P|0=0<_=w zD>kc@(pkl1XE+H*R$;Sl;7a>{D~#1Pa@AL$H2l`CU8_0vT*Pj-Yx?J(tN(agD5grK zw^DQAqLbu*S3UF+!w=v(*Chmn5JNKTNiY_(nGZI<3PAH$@n8HOY<`u*%cH4QzwJ#E zCl3KoQ@Wh;U3mb^+5aN|%6H{aQ@T9f`Q)K^{}g(9Pe%LdasOp{w&KjaU8L>N-H%jZWHchG@L%$LI5L?D#wt z!zMXZxsy=EG>VFfj8CXy8VwB%%Ek;51fYkWq;|au)al3d{z3@xO@7f?s>tk=t8%f9Z*1SQauP>>e3fJ0K znf(3;jFNKINNj=>Nm4nII z0RZ%N6|+E-n9cEffUQ10Tk^Mf6_}M1p8#_obVUck-8y!x5qyd5s<^UpG_xrki`h&; z?so`>|BlVJh%4>a$;`~em6fBZzW)~p1jx+HH1?l5V&jj zX=$V-9Zw^T9(p8y^n?(@a!>036DvT~ytV((@H`sd=?}X(JLkl=6T;8CX^)b7Kl&ng zh=*NQG{%kIu(5roeyP^h+CogLWX#ws!jWHNvn?VViD0o<$jO2^gdlVJd&M3a7|ktX;3gb>4WPdDy=;uT=3PGt~7o#EN?UuCCo zqbJObo-ofXC}-B}+2rLuHgLI-T2%A+-^6%GPuls;~t>f?WU=zN!j=?5O{;N2_eK_?kNE8X9Z{|Nto!N zuM5=mPn1!A#p4=>(`LbU;wZioN0W|C%NkE-IBHCWc@R1~)yzQEonN~fU)jW@wot`1 z0)c?iaqnjC+_}7e;Qa?Owh&_E8+HIjV=-1%ZvkL(_Fn*4S-r)W8G2vnmpmK4gei~3 zw-bX&J+xhYN!i%Bxw)F(@5k+S8v*Fpb1~`iXI|Ykmeg&cs;WxKc~p8UwK0srM*K2! zn6R-8$V8YC$m{h!=u;4**s$vbt99UsFkRifq>r;3$5bqTNTf2{hT?v_>0vOJF1%m@ zZmaa#uD+yn+`LWK@c)>k@S9P)g7fUAsG^8}Kp=pxY$E$luHy*mE{!{guRVp^9moXE*w~ zz{Gwk&m%~XuP=kp*9QtA#BdCI8ALSJXM~@Axihg%JiLxngiL`zfIuKXLqh|;vWe(> z`+mQlrluyP;iq5TywgJX#N$E;F%-kP2Pnk1@sUF;0000(Nkl Date: Tue, 27 Jan 2015 13:42:27 +1300 Subject: [PATCH 221/282] Finished renaming nuclear mode to mercenary Mostly cleans up the admin side of things. --- code/datums/mind.dm | 26 +++++++++++------------ code/game/gamemodes/events/space_ninja.dm | 2 +- code/game/gamemodes/nuclear/nuclear.dm | 2 +- code/modules/admin/admin.dm | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index a92712af50..5ac4ca53dd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -119,7 +119,7 @@ datum/mind "cult", "wizard", "changeling", - "nuclear", + "mercenary", "traitor", // "traitorchan", "monkey", "malfunction", @@ -217,23 +217,23 @@ datum/mind sections["changeling"] = text /** NUCLEAR ***/ - text = "nuclear" - if (ticker.mode.config_tag=="nuclear") + text = "mercenary" + if (ticker.mode.config_tag=="mercenary") text = uppertext(text) text = "[text]: " if (src in ticker.mode.syndicates) - text += "OPERATIVE|nanotrasen" - text += "
To shuttle, undress, dress up." + text += "OPERATIVE|nanotrasen" + text += "
To shuttle, undress, dress up." var/code for (var/obj/machinery/nuclearbomb/bombue in machines) if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN") code = bombue.r_code break if (code) - text += " Code is [code]. tell the code." + text += " Code is [code]. tell the code." else - text += "operative|NANOTRASEN" - sections["nuclear"] = text + text += "operative|NANOTRASEN" + sections["mercenary"] = text /** TRAITOR ***/ text = "traitor" @@ -382,7 +382,7 @@ datum/mind if(!def_value)//If it's a custom objective, it will be an empty string. def_value = "custom" - var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom") + var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "mercenary", "capture", "absorb", "custom") if (!new_obj_type) return var/datum/objective/new_objective = null @@ -436,7 +436,7 @@ datum/mind new_objective = new /datum/objective/survive new_objective.owner = src - if ("nuclear") + if ("mercenary") new_objective = new /datum/objective/nuclear new_objective.owner = src @@ -748,12 +748,12 @@ datum/mind current.UpdateAppearance() domutcheck(current, null) - else if (href_list["nuclear"]) + else if (href_list["mercenary"]) var/mob/living/carbon/human/H = current current.hud_updateflag |= (1 << SPECIALROLE_HUD) - switch(href_list["nuclear"]) + switch(href_list["mercenary"]) if("clear") if(src in ticker.mode.syndicates) ticker.mode.syndicates -= src @@ -763,7 +763,7 @@ datum/mind objectives-=O current << "\red You have been brainwashed! You are no longer an operative!" log_admin("[key_name_admin(usr)] has de-merc'd [current].") - if("nuclear") + if("mercenary") if(!(src in ticker.mode.syndicates)) ticker.mode.syndicates += src ticker.mode.update_synd_icons_added(src) diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index c9bce4aca9..195b9ff5b9 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -116,7 +116,7 @@ var/ninja_confirmed_selection = 0 var/commando_list[] = list()//Commandos. //We want the ninja to appear only in certain modes. -// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","nuclear","malfunction","monkey") // Commented out for both testing and ninjas +// var/acceptable_modes_list[] = list("traitor","revolution","cult","wizard","changeling","traitorchan","mercenary","malfunction","monkey") // Commented out for both testing and ninjas // if(!(current_mode.config_tag in acceptable_modes_list)) // return diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index c2c6bb9475..b2e54da0d9 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -175,7 +175,7 @@ var/global/list/turf/synd_spawn = list() var/obj/item/weapon/paper/P = new P.info = "The nuclear authorization code is: [nuke_code]" P.name = "nuclear bomb code" - if (ticker.mode.config_tag=="nuclear") + if (ticker.mode.config_tag=="mercenary") P.loc = code_spawn.loc else var/mob/living/carbon/human/H = synd_mind.current diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index f090d8665d..fdfb9f0e3e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -949,7 +949,7 @@ var/global/floorIsLava = 0 return 2 return 1 if(M.mind in ticker.mode.syndicates) - if (ticker.mode.config_tag == "nuclear") + if (ticker.mode.config_tag == "mercenary") return 2 return 1 if(M.mind in ticker.mode.wizards) From 7812ad9782760b19b72ff9efa907e567346f00a9 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Tue, 27 Jan 2015 17:41:21 +1300 Subject: [PATCH 222/282] Updated example config for nuclear/mercenary rename --- config/example/config.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/example/config.txt b/config/example/config.txt index eb9ab2195f..333082d189 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -85,7 +85,7 @@ LOG_PDA ## set to 0 to disable that mode PROBABILITY EXTENDED 1 PROBABILITY MALFUNCTION 1 -PROBABILITY NUCLEAR 1 +PROBABILITY MERCENARY 1 PROBABILITY WIZARD 1 PROBABILITY CHANGELING 1 PROBABILITY CULT 1 From f80f8f3057af5f6966efcdaf124a9fb210ac5095 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 27 Jan 2015 01:05:10 -0500 Subject: [PATCH 223/282] Returns hoverpod step drain to 10 --- code/game/mecha/working/hoverpod.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/working/hoverpod.dm b/code/game/mecha/working/hoverpod.dm index 5f775d619b..3d23e1dced 100644 --- a/code/game/mecha/working/hoverpod.dm +++ b/code/game/mecha/working/hoverpod.dm @@ -5,7 +5,7 @@ initial_icon = "engineering_pod" internal_damage_threshold = 80 step_in = 4 - step_energy_drain = 15 + step_energy_drain = 10 max_temperature = 20000 health = 150 infra_luminosity = 6 From f8ad509eb7b87ee1b0df3a6d6c257c4273ae27d5 Mon Sep 17 00:00:00 2001 From: Lethal Ghost Date: Tue, 27 Jan 2015 19:51:24 +0500 Subject: [PATCH 224/282] Update give verb (text lines). Replace the outdated macros with span classes. --- code/modules/mob/living/carbon/give.dm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index a7e29cfeae..107e660d39 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -5,10 +5,10 @@ mob/living/carbon/verb/give(var/mob/living/carbon/target in view(1)-usr) return var/obj/item/I if(!usr.hand && usr.r_hand == null) - usr << "\red You don't have anything in your right hand to give to [target.name]" + usr << "You don't have anything in your right hand to give to [target.name]" return if(usr.hand && usr.l_hand == null) - usr << "\red You don't have anything in your left hand to give to [target.name]" + usr << "You don't have anything in your left hand to give to [target.name]" return if(usr.hand) I = usr.l_hand @@ -22,16 +22,16 @@ mob/living/carbon/verb/give(var/mob/living/carbon/target in view(1)-usr) if(!I) return if(!Adjacent(usr)) - usr << "\red You need to stay in reaching distance while giving an object." - target << "\red [usr.name] moved too far away." + usr << "You need to stay in reaching distance while giving an object." + target << "[usr.name] moved too far away." return if((usr.hand && usr.l_hand != I) || (!usr.hand && usr.r_hand != I)) - usr << "\red You need to keep the item in your active hand." - target << "\red [usr.name] seem to have given up on giving \the [I.name] to you." + usr << "You need to keep the item in your active hand." + target << "[usr.name] seem to have given up on giving \the [I.name] to you." return - if(src.r_hand != null && src.l_hand != null) - target << "\red Your hands are full." - usr << "\red Their hands are full." + if(target.r_hand != null && target.l_hand != null) + target << "Your hands are full." + usr << "Their hands are full." return else usr.drop_item() @@ -46,8 +46,8 @@ mob/living/carbon/verb/give(var/mob/living/carbon/target in view(1)-usr) target.update_inv_r_hand() usr.update_inv_l_hand() usr.update_inv_r_hand() - target.visible_message("\blue [usr.name] handed \the [I.name] to [target.name].") + target.visible_message("[usr.name] handed \the [I.name] to [target.name].") if("No") - target.visible_message("\red [usr.name] tried to hand [I.name] to [target.name] but [target.name] didn't want it.") + target.visible_message("[usr.name] tried to hand [I.name] to [target.name] but [target.name] didn't want it.") else - usr << "\red [target.name]'s hands are full." + usr << "[target.name]'s hands are full." From ba0dbffbd0d26cca8934c6389b28b1a759025bd9 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:32:21 +0300 Subject: [PATCH 225/282] Fixed fingerprint cards. They didn't perform their sole function - getting fullprint on touch, so now they do. Still respecting gloves, mutations etc. --- code/modules/detectivework/evidence.dm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm index b416b250bf..b1ee5c3947 100644 --- a/code/modules/detectivework/evidence.dm +++ b/code/modules/detectivework/evidence.dm @@ -122,6 +122,18 @@ throw_speed = 3 throw_range = 5 +/obj/item/weapon/f_card/add_fingerprint(mob/living/M as mob, ignoregloves = 0) + if(..()) + var/mob/living/carbon/human/H = M + var/full_print = md5(H.dna.uni_identity) + fingerprints[full_print] = full_print + +/obj/item/weapon/f_card/examine(mob/user) + ..() + if(fingerprints.len) + user << "Fingerprints on this card:" + for(var/print in fingerprints) + user << "\t[fingerprints[print]]" /obj/item/weapon/fcardholder name = "fingerprint card case" From ee7f71ab64cee85b060e23a825d656fccf6158e8 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:36:22 +0300 Subject: [PATCH 226/282] Added update_prints helper It updates forensic data datum with fingerprints and returns 1 if there was a match. --- code/modules/detectivework/forensics.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index 2610a5c24a..bca3090c3f 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -70,4 +70,12 @@ atom/proc/add_fibers(mob/living/carbon/human/M) fields["blood"] = blood fields["area"] = other.fields["area"] - fields["time"] = other.fields["time"] \ No newline at end of file + fields["time"] = other.fields["time"] + +/datum/data/record/forensic/proc/update_prints(var/list/o_prints) + var/list/prints = fields["fprints"] + for(var/print in o_prints) + if(prints[print]) + prints[print] = stringmerge(prints[print], o_prints[print]) + .=1 + fields["fprints"] = prints From 24f4ff2a32f251b04d6fa44ef207b0a24da393cb Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:52:35 +0300 Subject: [PATCH 227/282] Fixed partial fingerprints data Now scanning console properly updates the partial fingerprints with new data and fingerprint cards. Also fixed lack of newline in details screen. --- .../modules/detectivework/scanning_console.dm | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/detectivework/scanning_console.dm b/code/modules/detectivework/scanning_console.dm index 9e32c58390..5ff719548c 100644 --- a/code/modules/detectivework/scanning_console.dm +++ b/code/modules/detectivework/scanning_console.dm @@ -59,17 +59,23 @@ fresh.fields["label"] = old.fields["label"] files[fresh.uid] = fresh + //updating partial prints on other things + var/list/fprints = fresh.fields["fprints"] + if(fprints.len) + for(var/id in files) + var/datum/data/record/forensic/rec = files[id] + if(rec.update_prints(fprints)) + files[id] = rec + /obj/machinery/computer/forensic_scanning/proc/process_card(var/obj/item/weapon/f_card/card) if(card.fingerprints) usr << "\The [src] sucks in \the [card] and whirrs, scanning it." var/found = 0 for(var/id in files) var/datum/data/record/forensic/rec = files[id] - var/list/prints = rec.fields["fprints"] - for(var/master_print in card.fingerprints) - if(prints[master_print]) - prints[master_print] = master_print - found = 1 + found = rec.update_prints(card.fingerprints) + if (found) + files[id] = rec if(found) usr << "Complete match found." else @@ -189,7 +195,7 @@ dat += "
NO RECORD SELECTED" else dat += get_printable_data(current) - dat += "Labels: " + dat += "
Labels: " dat += "[current.fields["label"] ? current.fields["label"] : "None"]
" dat += "Print record
" @@ -302,4 +308,4 @@ ping("Scan complete.") var/datum/data/record/forensic/fresh = new(scanning) add_record(fresh) - updateUsrDialog() \ No newline at end of file + updateUsrDialog() From b159bd389bcf1911e01ccbddebcf0878d4d0ba3f Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 28 Jan 2015 00:53:40 +0300 Subject: [PATCH 228/282] Added forensic scanner wipe verb It clutters up scanner console very much after each update, and selective deletion sounds like too much effort (can do it on console anyway). --- code/modules/detectivework/scanner.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 3916c799c8..9fa5669094 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -104,4 +104,12 @@ if(old) fresh.merge(old) . = 1 - stored["\ref [A]"] = fresh \ No newline at end of file + stored["\ref [A]"] = fresh + +/obj/item/device/detective_scanner/verb/wipe() + set name = "Wipe Forensic Data" + set category = "Object" + set src in view(1) + if (alert("Are you sure you want to wipe all data from [src]?",,"Yes","No") == "Yes") + stored = list() + usr << "Forensic data erase complete." From 7adcb95f851c73267092d8bd0e920ec0486b4809 Mon Sep 17 00:00:00 2001 From: rahlzel Date: Tue, 27 Jan 2015 20:29:15 -0500 Subject: [PATCH 229/282] Fixes #7969 I have no idea why this works, but it does. Credit to GinjaNinja32 for this. --- code/world.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/world.dm b/code/world.dm index 9515f33bb6..5edbf7a319 100644 --- a/code/world.dm +++ b/code/world.dm @@ -210,8 +210,6 @@ var/world_topic_spam_protect_time = world.timeofday for(var/client/C in clients) if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite C << link("byond://[config.server]") - else - C << link("byond://[world.address]:[world.port]") ..(reason) From c15efc73ba48f4b92545e9a06d9d292664747b59 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 27 Jan 2015 22:14:26 -0500 Subject: [PATCH 230/282] Updates comments --- code/ATMOSPHERICS/datum_pipeline.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index 7f0b838a1f..662376e9b4 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -211,7 +211,7 @@ datum/pipeline // Previously, the temperature would enter equilibrium at 26C or 294K. // Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on. - // It currently should stabilise at 85K or -183C. + // It currently should stabilise at 129.6K or -143.6C heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4 air.add_thermal_energy(heat_gain) From bc0f5762bed8ca1beee42515bc44322a1475ae35 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Wed, 28 Jan 2015 04:33:31 +0000 Subject: [PATCH 231/282] Camera sorting improvements --- .../computer3/computers/camera.dm | 4 ++-- code/__HELPERS/lists.dm | 3 +++ code/game/machinery/camera/tracking.dm | 24 ++----------------- code/game/machinery/computer/camera.dm | 10 +++----- .../living/silicon/ai/freelook/cameranet.dm | 6 +++++ .../silicon/ai/freelook/update_triggers.dm | 8 ++++++- 6 files changed, 23 insertions(+), 32 deletions(-) diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm index b3a0c7fcfa..cacf665849 100644 --- a/code/WorkInProgress/computer3/computers/camera.dm +++ b/code/WorkInProgress/computer3/computers/camera.dm @@ -141,14 +141,14 @@ if (!computer || computer.z > 6) return null + cameranet.process_sort() + var/list/L = list() for(var/obj/machinery/camera/C in cameranet.cameras) var/list/temp = C.network & key.networks if(temp.len) L.Add(C) - camera_sort(L) - return L verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null) if(!istype(C) || !C.can_use()) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 282224d567..39c1f23d6b 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -581,3 +581,6 @@ datum/proc/dd_SortValue() /obj/machinery/dd_SortValue() return "[sanitize(name)]" + +/obj/machinery/camera/dd_SortValue() + return "[c_tag]" diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 4e64b9a660..0cad72b934 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -15,15 +15,11 @@ if(src.stat == 2) return - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - L.Add(C) - - camera_sort(L) + cameranet.process_sort() var/list/T = list() T["Cancel"] = "Cancel" - for (var/obj/machinery/camera/C in L) + for (var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network if (tempnetwork.len) T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C @@ -252,19 +248,3 @@ /mob/living/silicon/ai/attack_ai(var/mob/user as mob) ai_camera_list() - -/proc/camera_sort(list/L) - var/obj/machinery/camera/a - var/obj/machinery/camera/b - - for (var/i = L.len, i > 0, i--) - for (var/j = 1 to i - 1) - a = L[j] - b = L[j + 1] - if (a.c_tag_order != b.c_tag_order) - if (a.c_tag_order > b.c_tag_order) - L.Swap(j, j + 1) - else - if (sorttext(a.c_tag, b.c_tag) < 0) - L.Swap(j, j + 1) - return L diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index bf1b1afab9..a3e65b3bff 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -37,14 +37,10 @@ data["current"] = null if(isnull(camera_cache)) - var/list/L = list() - for (var/obj/machinery/camera/C in cameranet.cameras) - if(can_access_camera(C)) - L.Add(C) - camera_sort(L) + cameranet.process_sort() var/cameras[0] - for(var/obj/machinery/camera/C in L) + for(var/obj/machinery/camera/C in cameranet.cameras) var/cam[0] cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() @@ -72,7 +68,7 @@ cam["z"] = current.z data["current"] = cam - + if(ui) ui.load_cached_data(camera_cache) diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 87dc0ec87e..d94f705320 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -7,10 +7,16 @@ var/datum/cameranet/cameranet = new() /datum/cameranet // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). var/list/cameras = list() + var/cameras_unsorted = 1 // The chunks of the map, mapping the areas that the cameras can see. var/list/chunks = list() var/ready = 0 +/datum/cameranet/proc/process_sort() + if(cameras_unsorted) + cameras = dd_sortedObjectList(cameras) + cameras_unsorted = 0 + // Checks if a chunk has been Generated in x, y, z. /datum/cameranet/proc/chunkGenerated(x, y, z) x &= ~0xf diff --git a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm index 813d4f2471..e6311e7a00 100644 --- a/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm +++ b/code/modules/mob/living/silicon/ai/freelook/update_triggers.dm @@ -92,7 +92,13 @@ /obj/machinery/camera/New() ..() - cameranet.cameras += src //Camera must be added to global list of all cameras no matter what... + //Camera must be added to global list of all cameras no matter what... + if(cameranet.cameras_unsorted || !ticker) + cameranet.cameras += src + cameranet.cameras_unsorted = 1 + else + dd_insertObjectList(cameranet.cameras, src) + var/list/open_networks = difflist(network,restricted_camera_networks) //...but if all of camera's networks are restricted, it only works for specific camera consoles. if(open_networks.len) //If there is at least one open network, chunk is available for AI usage. cameranet.addCamera(src) From 849e96892497a0d80eb1b4b7418ef41ba8a21fc1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 28 Jan 2015 12:49:05 -0500 Subject: [PATCH 232/282] ERT adjustment and fixes Removes the mounted laser cannon from the ERT hardsuits and instead provides a single cannon for the team. Moves the sidearms out to the other ert stations to make it more clear that they may be used by other ERT roles. Fixes rechargers now working in Centcom areas. --- code/game/area/Space Station 13 areas.dm | 1 + .../clothing/spacesuits/rig/suits/ert.dm | 2 -- maps/exodus-2.dmm | 26 +++++++++---------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index c793ecb857..8f7a3556ac 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -349,6 +349,7 @@ var/list/ghostteleportlocs = list() name = "\improper Centcom" icon_state = "centcom" requires_power = 0 + unlimited_power = 1 /area/centcom/control name = "\improper Centcom Control" diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 4935d793cf..6980835c23 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -23,7 +23,6 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/datajack, - /obj/item/rig_module/mounted ) /obj/item/weapon/rig/ert/engineer @@ -62,5 +61,4 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, - /obj/item/rig_module/mounted ) \ No newline at end of file diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 2903dec322..4d07854f74 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -748,7 +748,7 @@ "ot" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) "ou" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "ov" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ox" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "oy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "oz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) @@ -1050,7 +1050,7 @@ "uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"um" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"um" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "un" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "uo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "up" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) @@ -1194,7 +1194,7 @@ "wX" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) "wY" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) "wZ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xa" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xa" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xb" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xc" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "xd" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) @@ -1288,13 +1288,13 @@ "yN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "yP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yR" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "yS" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) "yT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) "yU" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "yV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yW" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yW" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "yX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "yY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "yZ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) @@ -1306,10 +1306,10 @@ "zf" = (/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) "zg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zh" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zj" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "zk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"zl" = (/obj/structure/table/reinforced,/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,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zm" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) "zo" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) @@ -1927,6 +1927,7 @@ "Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) "Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) "Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lf" = (/obj/structure/table/reinforced,/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/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) @@ -1942,7 +1943,6 @@ "Ls" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lt" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "Lu" = (/obj/structure/jungle_plant,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lv" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) "Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) @@ -2082,17 +2082,17 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutuuuvuwDUuhtZtZtZtZtDoNuztZtZtZuAoNuBudtwtIudtwuCtJtwtItMtwtNtxuDuEuFuGuHtxuIuIuItxtWtWtWtWtWtxuJuKuJuLuMuguNuNuNuOurururuOuruPuQuPuruRuSuTtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVAIuXuVuVuVuYAIuZvavbvcoNvxtZtZtZtZuioNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNLytZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulLvtZoNoNumtZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulumtZoNoNxatZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNxatZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyfygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNyQtZtZtZtZtZyWoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZzkzloNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMzRzSzTzUaMaMaMaMaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaAbAcAcAdAdzNzPyhyhyhyhyhyhyhzszszszsAezHufzwtxAfuxAfAhAftxaMaMaMaMaMaMaMaMaMaMzRAiAjAkAlzUaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 0ebe28dbea8c4d494f45c79473555e116ac7dbdd Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 28 Jan 2015 13:19:01 -0500 Subject: [PATCH 233/282] Fixes #7958 --- code/modules/clothing/spacesuits/void/void.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index a1e6ab2714..2c5b9f2378 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -55,6 +55,13 @@ var/obj/item/clothing/shoes/magboots/boots = null // Deployable boots, if any. var/obj/item/clothing/head/helmet/helmet = null // Deployable helmet, if any. +/obj/item/clothing/suit/space/void/refit_for_species(var/target_species) + ..() + if(istype(helmet)) + helmet.refit_for_species(target_species) + if(istype(boots)) + boots.refit_for_species(target_species) + /obj/item/clothing/suit/space/void/equipped(mob/M) ..() From 131fc38e424ab56274129ce28d5a397751bc1450 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 10:53:32 +1030 Subject: [PATCH 234/282] Fixes #7861 (partial), #7957, #7940 --- .../clothing/spacesuits/rig/modules/computer.dm | 7 ++++--- .../clothing/spacesuits/rig/modules/modules.dm | 8 ++++++++ code/modules/clothing/spacesuits/rig/modules/ninja.dm | 1 + code/modules/clothing/spacesuits/rig/rig.dm | 11 ++++++++--- code/modules/clothing/spacesuits/rig/rig_attackby.dm | 2 +- code/modules/clothing/spacesuits/rig/rig_verbs.dm | 6 ++++-- nano/templates/hardsuit.tmpl | 6 +++--- 7 files changed, 29 insertions(+), 12 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index 1b2befa59a..3d66c64602 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -334,6 +334,7 @@ var/atom/interfaced_with // Currently draining power from this device. var/total_power_drained = 0 + var/drain_loc /obj/item/rig_module/power_sink/deactivate() @@ -373,6 +374,7 @@ H << "You begin draining power from [target]!" interfaced_with = target + drain_loc = interfaced_with.loc holder.spark_system.start() playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) @@ -406,7 +408,7 @@ drain_complete(H) return - if(!interfaced_with || !interfaced_with.Adjacent(H)) + if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) H << "Your power sink retracts into its casing." drain_complete(H) return @@ -427,8 +429,6 @@ holder.cell.give(target_drained * CELLRATE) total_power_drained += target_drained - - return 1 /obj/item/rig_module/power_sink/proc/drain_complete(var/mob/living/M) @@ -439,5 +439,6 @@ if(M) M << "Total power drained from [interfaced_with]: [round(total_power_drained/1000)]kJ." interfaced_with.drain_power(0,1,0) // Damage the victim. + drain_loc = null interfaced_with = null total_power_drained = 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index b0ba99016e..830e0d784c 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -147,6 +147,14 @@ usr << "The suit is not initialized." return 0 + if(usr.lying || usr.stat || usr.stunned || usr.paralysis) + usr << "You cannot use the suit in this state." + return 0 + + if(holder.wearer && holder.wearer.lying) + usr << "The suit cannot function while the wearer is prone." + return 0 + if(holder.security_check_enabled && !holder.check_suit_access(usr)) usr << "Access denied." return diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 12ea8e7fb2..6d572cdcb3 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -19,6 +19,7 @@ use_power_cost = 5 active_power_cost = 1 passive_power_cost = 0 + module_cooldown = 30 activate_string = "Enable Cloak" deactivate_string = "Disable Cloak" diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index b308fda2b4..4c7735974c 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -251,13 +251,13 @@ else helmet.flags &= ~AIRTIGHT helmet.update_light(wearer) - + //sealed pieces become airtight, protecting against diseases if (!seal_target) piece.armor["bio"] = 100 else piece.armor["bio"] = src.armor["bio"] - + else failed_to_seal = 1 @@ -515,6 +515,8 @@ return if(href_list["toggle_piece"]) + if(ishuman(usr) && (usr.stat || usr.stunned || usr.lying)) + return 0 toggle_piece(href_list["toggle_piece"], usr) else if(href_list["toggle_seals"]) toggle_seals(usr) @@ -543,7 +545,7 @@ usr.set_machine(src) src.add_fingerprint(usr) - return + return 1 /obj/item/weapon/rig/proc/notify_ai(var/message) if(!message || !installed_modules || !installed_modules.len) @@ -579,6 +581,9 @@ if(!istype(wearer) || !wearer.back == src) return + if(usr == wearer && (usr.stat||usr.paralysis||usr.stunned)) // If the usr isn't wearing the suit it's probably an AI. + return + var/obj/item/check_slot var/equip_to var/obj/item/use_obj diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 061973c137..c0d119b0b4 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -180,7 +180,7 @@ installed_modules -= removed update_icon() - return + return // If we've gotten this far, all we have left to do before we pass off to root procs // is check if any of the loaded modules want to use the item we've been given. diff --git a/code/modules/clothing/spacesuits/rig/rig_verbs.dm b/code/modules/clothing/spacesuits/rig/rig_verbs.dm index 9ec6f03df7..ce20244734 100644 --- a/code/modules/clothing/spacesuits/rig/rig_verbs.dm +++ b/code/modules/clothing/spacesuits/rig/rig_verbs.dm @@ -120,8 +120,8 @@ /obj/item/weapon/rig/verb/toggle_seals_verb() - set name = "Toggle Seals" - set desc = "Activates or deactivates your rig seals." + set name = "Toggle Hardsuit" + set desc = "Activates or deactivates your rig." set category = "Hardsuit" set src = usr.contents @@ -208,6 +208,8 @@ var/obj/item/rig_module/module = input("Which module do you wish to select?") as null|anything in selectable if(!istype(module)) + selected_module = null + usr << "Primary system is now: deselected." return selected_module = module diff --git a/nano/templates/hardsuit.tmpl b/nano/templates/hardsuit.tmpl index a8d3e59ac7..b32bb621c8 100644 --- a/nano/templates/hardsuit.tmpl +++ b/nano/templates/hardsuit.tmpl @@ -78,12 +78,12 @@ Used In File(s): /code/modules/clothing/spacesuits/rig/rig.dm

{{if data.sealing == 1}} -
SEALING
+
PROCESSING
{{else}} {{if data.seals == 1}} -
OPEN
+
INACTIVE
{{else}} -
SEALED
+
ACTIVE
{{/if}} {{/if}}
From 01bd0875fec4841ce4f1b6c38fd591ec1f67332c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:08:22 +1030 Subject: [PATCH 235/282] Fixes #7973 --- code/game/machinery/autolathe.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 53b95c712c..7b44e443c4 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -21,10 +21,16 @@ var/datum/wires/autolathe/wires = null +/obj/machinery/autolathe/proc/update_recipe_list() + if(!machine_recipes) + machine_recipes = autolathe_recipes + /obj/machinery/autolathe/interact(mob/user as mob) + update_recipe_list() + if(..() || (disabled && !panel_open)) - user << "\red \The [src] is disabled!" + user << "\The [src] is disabled!" return if (shocked) @@ -97,7 +103,7 @@ return if (busy) - user << "\red \The [src] is busy. Please wait for completion of previous operation." + user << "\The [src] is busy. Please wait for completion of previous operation." return if(istype(O, /obj/item/weapon/screwdriver)) @@ -157,7 +163,7 @@ mass_per_sheet += eating.matter[material] if(!filltype) - user << "\red \The [src] is full. Please remove material from the autolathe in order to insert more." + user << "\The [src] is full. Please remove material from the autolathe in order to insert more." return else if(filltype == 1) user << "You fill \the [src] to capacity with \the [eating]." @@ -189,7 +195,7 @@ add_fingerprint(usr) if(busy) - usr << "\red The autolathe is busy. Please wait for completion of previous operation." + usr << "The autolathe is busy. Please wait for completion of previous operation." return if(href_list["change_category"]) @@ -262,11 +268,6 @@ component_parts += new /obj/item/weapon/stock_parts/console_screen(src) RefreshParts() - -/obj/machinery/autolathe/initialize() - ..() - machine_recipes = autolathe_recipes - //Updates overall lathe storage size. /obj/machinery/autolathe/RefreshParts() ..() From d0f76833d90d07cf0ef525c41f69fb7893253020 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:09:25 +1030 Subject: [PATCH 236/282] Fixes #7976 --- code/modules/mob/holder.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 81e8137f04..96eb6f11a3 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -40,8 +40,9 @@ /mob/living/var/holder_type /mob/living/proc/get_scooped(var/mob/living/carbon/grabber) - if(!holder_type) + if(!holder_type || buckled || pinned.len) return + var/obj/item/weapon/holder/H = new holder_type(loc) src.loc = H H.name = loc.name From b280cb6d42139cc2b2c0a844538c68410fdc6c75 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 29 Jan 2015 11:17:56 +1030 Subject: [PATCH 237/282] Fixes #7919 --- code/game/objects/items/bodybag.dm | 2 +- .../objects/structures/crates_lockers/closets.dm | 15 ++++++--------- code/modules/mob/living/carbon/alien/alien.dm | 1 + code/modules/mob/living/living_defines.dm | 3 ++- code/modules/mob/living/simple_animal/bees.dm | 1 + .../mob/living/simple_animal/constructs.dm | 2 ++ .../mob/living/simple_animal/friendly/cat.dm | 3 ++- .../mob/living/simple_animal/friendly/corgi.dm | 2 ++ .../mob/living/simple_animal/friendly/crab.dm | 1 + .../mob/living/simple_animal/friendly/lizard.dm | 3 ++- .../mob/living/simple_animal/friendly/mouse.dm | 1 + .../living/simple_animal/friendly/spiderbot.dm | 1 + 12 files changed, 22 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index b1b46654bc..12267914d8 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -39,7 +39,7 @@ close_sound = 'sound/items/zip.ogg' var/item_path = /obj/item/bodybag density = 0 - storage_capacity = (mob_size * 2) - 1 + storage_capacity = (default_mob_size * 2) - 1 var/contains_body = 0 /obj/structure/closet/body_bag/attackby(W as obj, mob/user as mob) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 4aaae90a9a..2a5a331c25 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -21,7 +21,7 @@ var/store_items = 1 var/store_mobs = 1 - var/const/mob_size = 15 + var/const/default_mob_size = 15 /obj/structure/closet/initialize() if(!opened) // if closed, any item at the crate's loc is put in the contents @@ -121,20 +121,17 @@ /obj/structure/closet/proc/store_mobs(var/stored_units) var/added_units = 0 - for(var/mob/M in src.loc) - if(stored_units + added_units + mob_size > storage_capacity) - break - if(istype (M, /mob/dead/observer)) - continue + for(var/mob/living/M in src.loc) if(M.buckled || M.pinned.len) continue - + var/current_mob_size = (M.mob_size ? M.mob_size : default_mob_size) + if(stored_units + added_units + current_mob_size > storage_capacity) + break if(M.client) M.client.perspective = EYE_PERSPECTIVE M.client.eye = src - M.loc = src - added_units += mob_size + added_units += current_mob_size return added_units /obj/structure/closet/proc/toggle(mob/user as mob) diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 67a134ec9b..c9b3175eb8 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -7,6 +7,7 @@ pass_flags = PASSTABLE health = 100 maxHealth = 100 + mob_size = 4 var/adult_form var/dead_icon diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3c1c8a935c..ecbc51db37 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -37,4 +37,5 @@ var/tod = null // Time of death var/update_slimes = 1 - var/silent = null //Can't talk. Value goes down every life proc. \ No newline at end of file + var/silent = null // Can't talk. Value goes down every life proc. + var/mob_size // Used by lockers. \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/bees.dm b/code/modules/mob/living/simple_animal/bees.dm index 5ee2e2b10a..3a5f2f17e5 100644 --- a/code/modules/mob/living/simple_animal/bees.dm +++ b/code/modules/mob/living/simple_animal/bees.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/apiary_bees_etc.dmi' icon_state = "bees1" icon_dead = "bees1" + mob_size = 1 var/strength = 1 var/feral = 0 var/mut = 0 diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 79295a9b5b..5e3e91b90f 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -129,6 +129,7 @@ melee_damage_lower = 30 melee_damage_upper = 30 attacktext = "smashed their armoured gauntlet into" + mob_size = 20 speed = 3 wall_smash = 1 attack_sound = 'sound/weapons/punch3.ogg' @@ -259,6 +260,7 @@ speed = 5 wall_smash = 1 attack_sound = 'sound/weapons/punch4.ogg' + mob_size = 20 var/energy = 0 var/max_energy = 1000 diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index c3d88300ca..7913d23d7e 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -22,6 +22,7 @@ minbodytemp = 223 //Below -50 Degrees Celcius maxbodytemp = 323 //Above 50 Degrees Celcius holder_type = /obj/item/weapon/holder/cat + mob_size = 5 /mob/living/simple_animal/cat/Life() //MICE! @@ -50,7 +51,7 @@ if(turns_since_scan > 5) walk_to(src,0) turns_since_scan = 0 - + if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) )) movement_target = null stop_automated_movement = 0 diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 162038dd07..8cce2342df 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -18,6 +18,8 @@ response_disarm = "bops" response_harm = "kicks" see_in_dark = 5 + mob_size = 8 + var/obj/item/inventory_head var/obj/item/inventory_back var/facehugger diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index c85f5bc734..bf59a7e546 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -17,6 +17,7 @@ response_harm = "stomps" stop_automated_movement = 1 friendly = "pinches" + mob_size = 5 var/obj/item/inventory_head var/obj/item/inventory_mask diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index d4677ef5d3..66fb31406a 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -14,4 +14,5 @@ melee_damage_upper = 2 response_help = "pets" response_disarm = "shoos" - response_harm = "stomps on" \ No newline at end of file + response_harm = "stomps on" + mob_size = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index c6f3cfb87c..5b207ce2a7 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -28,6 +28,7 @@ maxbodytemp = 323 //Above 50 Degrees Celcius universal_speak = 0 universal_understand = 1 + mob_size = 1 /mob/living/simple_animal/mouse/Life() ..() diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm index 1aff173aa7..89cfe60b65 100644 --- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm @@ -5,6 +5,7 @@ max_co2 = 0 minbodytemp = 0 maxbodytemp = 500 + mob_size = 5 var/obj/item/device/radio/borg/radio = null var/mob/living/silicon/ai/connected_ai = null From ebf3d25cae3ca4a7d8defc3c5bd1c5e03d044915 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:17:48 +0100 Subject: [PATCH 238/282] Additional support for non-Exodus maps. Teleport now also checks config for appropriate Z-levels instead of using hard-coded values. --- code/game/machinery/teleporter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 786300f00d..259638458c 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -91,7 +91,7 @@ var/turf/T = get_turf(R) if (!T) continue - if(T.z == 2 || T.z > 7) + if(!(T.z in config.player_levels)) continue var/tmpname = T.loc.name if(areaindex[tmpname]) From d8cc3403743659f8b740b45e34c826cf7d10e9d4 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:42:22 +0100 Subject: [PATCH 239/282] Fixes #7965. Shuffles around some of the warden's equipment, adds a bunch of missing power cables in the brig. --- maps/exodus-1.dmm | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 363ec73433..c7372747c7 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -372,9 +372,9 @@ "ahh" = (/obj/machinery/photocopier,/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 30},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahi" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/camera{c_tag = "Security Warden Office"; dir = 2; network = list("SS13")},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahk" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/paper{info = "\[center]\[Large]\[b]NSS Exodus\[/b]\[/large]\[br] \[small]Armoury Inventory\[/small]\[/center] \[hr] \[hr] \[br] \[b]Weaponry\[/b]\[br] \[field] Energy Gun(s)\[br] \[field] Laser Gun(s)\[br] \[field] Ion Rifle(s)\[br] \[field] Combat Shotgun(s) \[hr] \[b]Armour\[/b]\[br] \[field] Bulletproof Vest(s)\[br] \[field] Abalative Vest(s)\[br] \[field] Biohazard Suit(s)\[br] \[field] Bomb Suit(s) \[hr] \[b]Auxiliary Equipment\[/b]\[br] \[field] Gasmask(s)\[br] \[field] box(es) of Flashbangs\[br] \[field] box(es) of Handcuffs\[br] \[field] box(es) of R.O.B.U.S.T. Cartridges \[hr] \[b]Riot Equipment\[/b]\[br] \[field] Stun Baton(s)\[br] \[field] Riot Suit(s)\[br] \[field] Riot Shield(s) \[hr] \[b]Tactical Equipment\[/b]\[br] \[field] Tactical Armour(s)\[br] \[field] Tactical Helmet(s)\[br] \[field] Tactical Jumpsuit(s)\[br] \[field] Green Balaclava(s)\[br] \[field] Tactical HUD(s)\[br] \[field] Combat Belt(s)\[br] \[field] Black Glove(s)\[br] \[field] Jackboot(s) \[hr] \[b]Implants\[/b]\[br] \[field] Tracking Implant Box(es)\[br] \[field] Chemical Implant Box(es) \[hr] \[b]Defense Systems\[/b]\[br] \[field] Deployable Barrier(s)\[br] \[field] Portable Flasher(s) \[hr] \[b]Other\[/b]\[br] \[field] Holobadge Box(es) \[hr] \[b]\[center]Warden's's Signature:\[/b] \[field]\[/center] \[hr]"; name = "Armory Inventory"},/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahl" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/red,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ahm" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stamp,/obj/item/weapon/stamp/denied{pixel_x = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahk" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahl" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/item/weapon/stamp/denied{pixel_x = 5},/obj/item/weapon/stamp,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"ahm" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/folder/red,/obj/item/weapon/pen,/obj/item/weapon/paper{info = "\[center]\[Large]\[b]NSS Exodus\[/b]\[/large]\[br] \[small]Armoury Inventory\[/small]\[/center] \[hr] \[hr] \[br] \[b]Weaponry\[/b]\[br] \[field] Energy Gun(s)\[br] \[field] Laser Gun(s)\[br] \[field] Ion Rifle(s)\[br] \[field] Combat Shotgun(s) \[hr] \[b]Armour\[/b]\[br] \[field] Bulletproof Vest(s)\[br] \[field] Abalative Vest(s)\[br] \[field] Biohazard Suit(s)\[br] \[field] Bomb Suit(s) \[hr] \[b]Auxiliary Equipment\[/b]\[br] \[field] Gasmask(s)\[br] \[field] box(es) of Flashbangs\[br] \[field] box(es) of Handcuffs\[br] \[field] box(es) of R.O.B.U.S.T. Cartridges \[hr] \[b]Riot Equipment\[/b]\[br] \[field] Stun Baton(s)\[br] \[field] Riot Suit(s)\[br] \[field] Riot Shield(s) \[hr] \[b]Tactical Equipment\[/b]\[br] \[field] Tactical Armour(s)\[br] \[field] Tactical Helmet(s)\[br] \[field] Tactical Jumpsuit(s)\[br] \[field] Green Balaclava(s)\[br] \[field] Tactical HUD(s)\[br] \[field] Combat Belt(s)\[br] \[field] Black Glove(s)\[br] \[field] Jackboot(s) \[hr] \[b]Implants\[/b]\[br] \[field] Tracking Implant Box(es)\[br] \[field] Chemical Implant Box(es) \[hr] \[b]Defense Systems\[/b]\[br] \[field] Deployable Barrier(s)\[br] \[field] Portable Flasher(s) \[hr] \[b]Other\[/b]\[br] \[field] Holobadge Box(es) \[hr] \[b]\[center]Warden's's Signature:\[/b] \[field]\[/center] \[hr]"; name = "Armory Inventory"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ahn" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) "aho" = (/obj/structure/flora/pottedplant{tag = "icon-plant-22"; icon_state = "plant-22"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/main) "ahp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) @@ -431,7 +431,7 @@ "aio" = (/obj/machinery/camera{c_tag = "Security Processing"; dir = 4; network = list("SS13")},/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/folder/red,/turf/simulated/floor,/area/security/brig) "aip" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/security/brig) "aiq" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig) -"air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/security{pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"air" = (/obj/machinery/computer/secure_data,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ais" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "ait" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiu" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -457,8 +457,8 @@ "aiO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/security/brig) "aiP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) "aiQ" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/security/brig) -"aiR" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiS" = (/obj/structure/table,/obj/machinery/photocopier/faxmachine{department = "Warden's Office"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"aiR" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/security{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) +"aiS" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiT" = (/obj/machinery/computer/prisoner,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiU" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/device/radio/off,/obj/item/weapon/wrench,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "aiV" = (/obj/structure/closet/secure_closet/warden,/obj/item/device/megaphone,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) @@ -483,9 +483,9 @@ "ajo" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/security{name = "Evidence Storage"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/brig) "ajp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) -"ajr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/turf/simulated/floor,/area/security/brig) -"ajs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) -"ajt" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/brig) +"ajr" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) +"ajs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) +"ajt" = (/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/door/airlock/glass_security{name = "Security Processing"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/brig) "aju" = (/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/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "ajv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/brig) "ajw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) @@ -693,7 +693,7 @@ "anq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "anr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/wall,/area/security/prison) "ans" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) -"ant" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) +"ant" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) "anu" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "anv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/security/prison) "anw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) @@ -735,7 +735,7 @@ "aog" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor,/area/security/prison) "aoh" = (/obj/machinery/camera{c_tag = "Brig Cell 2"; dir = 2; network = list("SS13","Prison")},/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "aoi" = (/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/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison) -"aoj" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/turf/simulated/floor,/area/security/prison) +"aoj" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonentry"; name = "Brig Entry"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) "aok" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/prison) "aol" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/security/prison) "aom" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southleft,/turf/simulated/floor,/area/security/prison) @@ -3570,6 +3570,7 @@ "bqH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bqJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bqK" = (/obj/machinery/camera{c_tag = "Common Brig Northwest"; dir = 4; network = list("SS13","Prison")},/obj/machinery/computer/arcade,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/security/prison) "bqL" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) "bqN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "bqO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) @@ -7302,18 +7303,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfabfabfabfabfabfabfabfabfabfabfabfadEafqafrafsaaTaftafuafvafwafxafyafzafAafBafAafCafDadxafEafFacQafhacQafGafHafIafJafKafLadlafMafNafOafPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRafSabfafTafUafVafWafXafYafZafZafZafZafZafZagaagbagcagbaaTageagdagfaggaghaeFagiagjagkaglagmagnagoagpagqagragsagtaguagpagvagwagxabbadlagyafoafoagzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaabfagAagBafZafZafZafYafYafZagCagDagDagDagDagDagDagDagDagDagDarCaaTagFagGagHagIagJaeFagKagLagLagLaddagMagNagOagPagQagRagQagPagSagvagTadlabbabbaeSaeSaeSaeSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahlahmahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagUagVagWagWagWagWagWagWagWagDagXagYagZagWahaahbahcahdaheahfahgahhahiahjahkahmahlahnahnahnahnaddahoahpahqahrahsahtahuahvahwagvahxahyaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfafQafRahAabfahBadEagWahCahDahEahFahGahHagDagZahIahFahJahKahLahLahMahNahOahPacXacXacEacXahQahRahSacQacQacQaddahTahUahVahWahXahYahZaiaaibagvahxaicabOaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadDaidaieaifabfaigadEagWaihaiiaijaikailaimagDagZahIainagWaioahLaipaiqahKahOairaisacXaitacXacXaiuacZahSacQacQaddaiwaixaiyagPagPaizagPagPaiAagvaiBaiCactaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzaaaaaaahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzaaaaaaahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewagbagbaiDabfagbadEagWaiEaiFaiGaiHaiIahFagDaiJaiKaiLagWaiMaiNaiOaiOaiPaiQaiRaiSaiTacEaiUaiVaeFaiWaiXaiYaiZakNakfajcajdajeajfajgajhagPajiagvahxabbabbabbabbaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajqajrajsajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfabfajjabfabfajkajlagWagWajmagWagWajnagWagWagWajoagWagWajpajsajrantajtajuagWajvajwajxajyajqagWagWajzajAajBagWagWagWagpajCagpagpagpagpagpagvahxabbajDajEaboaaaaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfagBafYajFafYajGajHajIajJajKajLajMajNajOajPajQajRajSajTajUajVajWajXajUajYajWajWajZakaakaakbakcakdahOakeajbakgajzakhakiakjakkaklakmaknakoakpalaakZakqabOaaaaaaaaaaaaaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzaaaahzahzahzahzahzahzahzahzahzaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQantaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoiaojaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalkaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzaqAaqBagDagWagWagWaqCalRagWalWalWalWaqDaqEapkaqFaqGaqHaonaqIaqJaqKaqLanyaqNaqOaqPaqQaqRaqSanxaqUaqVaqWamVanGaqXaqYaqZaraarbarcardanGarearfapFaqtaqtapFargaoHarhariarjaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 7ca1ca7d79fe7071ba38356083ba95200c31b166 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:24:16 +0100 Subject: [PATCH 240/282] Medbots now report treatment on success instead of attempt. Makes them work similar to security bots/Beepsky. --- code/game/machinery/bots/medbot.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index 6d3842f879..65a40289d0 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -281,9 +281,6 @@ src.speak(message) src.visible_message("[src] points at [C.name]!") src.last_newpatient_speak = world.time - if(declare_treatment) - var/area/location = get_area(src) - broadcast_medical_hud_message("[src.name] is treating [C] in [location]", src) break else continue @@ -438,6 +435,10 @@ src.patient.reagents.add_reagent(reagent_id,src.injection_amount) visible_message("\red [src] injects [src.patient] with the syringe!") + if(declare_treatment) + var/area/location = get_area(src) + broadcast_medical_hud_message("[src.name] is treating [C] in [location]", src) + src.icon_state = "medibot[src.on]" src.currently_healing = 0 return From 151b8ddd521fbed54f23e199b2c281a933454f1a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 10:17:44 +0100 Subject: [PATCH 241/282] Timestamped AI radio messages. Radio messages received by the AI are now timestamped. --- code/modules/mob/hear_say.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index c238aef026..0338667aea 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -124,6 +124,7 @@ var/changed_voice if(istype(src, /mob/living/silicon/ai) && !hard_to_hear) + part_a = "\[[worldtime2text()]\]" + part_a var/jobname // the mob's "job" var/mob/living/carbon/human/impersonating //The crewmember being impersonated, if any. From 9e9324f01099a13770b3bbaad67ecbeb69b16f74 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 10:31:20 +0100 Subject: [PATCH 242/282] Fixes #7961. No longer have to stand on top of turrets to interact with them. --- code/game/machinery/portable_turret.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 7497edd695..3a0a9abc2a 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -154,7 +154,7 @@ user << "There seems to be a firewall preventing you from accessing this device." return 0 - if (get_dist(src, user) > 0 && !issilicon(user)) + if (get_dist(src, user) > 1 && !issilicon(user)) user << "You are too far away." user.unset_machine() user << browse(null, "window=turretid") From 0c82682578a0af9482086b6b8e14e52284b39504 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 29 Jan 2015 13:18:48 -0500 Subject: [PATCH 243/282] Clothing that does not use species restrictions no longer gains species restrictions when refit. --- code/modules/clothing/clothing.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 83a0e1864d..d85db87608 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -44,6 +44,9 @@ return 1 /obj/item/clothing/proc/refit_for_species(var/target_species) + if(!species_restricted) + return //this item doesn't use the species_restricted system + //Set species_restricted list switch(target_species) if("Human", "Skrell") //humanoid bodytypes @@ -63,6 +66,9 @@ icon = initial(icon) /obj/item/clothing/head/helmet/refit_for_species(var/target_species) + if(!species_restricted) + return //this item doesn't use the species_restricted system + //Set species_restricted list switch(target_species) if("Skrell") From 812f7553f1e7ab52d565a88edd9b81c7f528163d Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 29 Jan 2015 21:52:52 -0700 Subject: [PATCH 244/282] Fixes a runtime in the artifact harvester. --- .../research/xenoarchaeology/machinery/artifact_harvester.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 776d91751c..441630af30 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -147,9 +147,9 @@ cur_artifact = analysed //if both effects are active, we can't harvest either - if(cur_artifact.my_effect && cur_artifact.my_effect.activated && cur_artifact.secondary_effect.activated) + if(cur_artifact.my_effect && cur_artifact.my_effect.activated && cur_artifact.secondary_effect && cur_artifact.secondary_effect.activated) src.visible_message("[src] states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") - else if(!cur_artifact.my_effect.activated && !cur_artifact.secondary_effect.activated) + else if(!cur_artifact.my_effect.activated && !(cur_artifact.secondary_effect && cur_artifact.secondary_effect.activated)) src.visible_message("[src] states, \"Cannot harvest. No energy emitting from source.\"") else From 7a72d654bd256815d0389877320666c8b628a2f2 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 09:38:37 +0100 Subject: [PATCH 245/282] (Likely) fixes #7987. Camera consoles again confirm that a given camera is accessible. --- code/game/machinery/computer/camera.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index a3e65b3bff..bb2d342bfc 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -41,6 +41,9 @@ var/cameras[0] for(var/obj/machinery/camera/C in cameranet.cameras) + if(!can_access_camera(C)) + continue + var/cam[0] cam["name"] = sanitize(C.c_tag) cam["deact"] = !C.can_use() From fa931ae9a9620af238c3fe07983ad22fbbde572c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 10:37:42 +0100 Subject: [PATCH 246/282] Photo cache improvements. According to http://www.byond.com/docs/ref/info.html#/proc/browse_rsc browse_rsc() does not resend already cached data, however there is likely also a check to ensure that this data is up to date (using checksums or otherwise) or clients would only ever see the first photo they viewed in a given round. This small change attempts to ensure that a given photo only has to be downloaded once by appending the photo id to the file name, reducing the risk of #7966 happening. --- code/modules/paperwork/photography.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 1a93e87539..2dc370406b 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -57,10 +57,10 @@ var/global/photo_count = 0 user << "It is too far away." /obj/item/weapon/photo/proc/show(mob/user as mob) - user << browse_rsc(img, "tmp_photo.png") + user << browse_rsc(img, "tmp_photo_[id].png") user << browse("[name]" \ + "" \ - + "" \ + + "" \ + "[scribble ? "
Written on the back:
[scribble]" : ""]"\ + "", "window=book;size=[64*photo_size]x[scribble ? 400 : 64*photo_size]") onclose(user, "[name]") From 2433c8f4bd125c0df3416c54157735d77ce449d1 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 19:08:24 +0100 Subject: [PATCH 247/282] Isolation Cell Fixes Fixes bad door/button tags. Some fool, certainly not me, had done some copy pasting. The vent/scrubbers in each cell now form loops, allowing for easy temperature changes without emptying the scrubber contents into a canister. Most importantly this saves on power because a canister no longer has to be pumped full with super-heated gases, reducing the risk of an early power failure on the outpost. --- maps/exodus-5.dmm | 63 ++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index bb8c4fc319..94c371d1eb 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -683,13 +683,13 @@ "ng" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/research_outpost/filtering) "nh" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso1_access) "ni" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nj" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso1_access) +"nj" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "nk" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso2_access) "nl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nm" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso2_access) +"nm" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "nn" = (/obj/machinery/atmospherics/unary/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso3_access) "no" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor,/area/research_outpost/iso3_access) -"np" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/iso3_access) +"np" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) "nq" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "nr" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "ns" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -719,14 +719,14 @@ "nQ" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/research_outpost/filtering) "nR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/filtering) "nS" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso1_access) -"nU" = (/obj/machinery/door_control{id = "riso1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso1_access) +"nT" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3) +"nU" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_north = 6; tag_west = 2},/turf/simulated/floor,/area/research_outpost/filtering) "nV" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso2_access) -"nX" = (/obj/machinery/door_control{id = "riso2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso2_access) +"nW" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso2"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2) +"nX" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso1"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1) "nY" = (/obj/machinery/atmospherics/unary/freezer{dir = 4; icon_state = "freezer"},/turf/simulated/floor,/area/research_outpost/iso3_access) -"nZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (EAST)"; icon_state = "map"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/iso3_access) -"oa" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso3_access) +"nZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) +"oa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) "ob" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oc" = (/obj/structure/dispenser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "od" = (/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/research_outpost/longtermstorage) @@ -752,14 +752,14 @@ "ox" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) "oy" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) "oz" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/research_outpost/filtering) -"oA" = (/obj/machinery/atmospherics/omni/filter,/turf/simulated/floor,/area/research_outpost/filtering) +"oA" = (/obj/machinery/camera{c_tag = "Isolation Room Two"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) "oB" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/research_outpost/filtering) "oC" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso1) -"oD" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso1) +"oD" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_three"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) "oE" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso2) -"oF" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso2) +"oF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) "oG" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso3) -"oH" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/external{id_tag = "riso3"; name = "Access Airlock"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTH)"; icon_state = "intact"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/research_outpost/iso3) +"oH" = (/obj/machinery/camera{c_tag = "Isolation Room One"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) "oI" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oJ" = (/obj/structure/table/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/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "oK" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) @@ -777,15 +777,15 @@ "oW" = (/obj/structure/table,/obj/item/weapon/storage/box/excavation,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/stack/flag/green,/turf/simulated/floor,/area/research_outpost/gearstore) "oX" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) "oY" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"oZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_one"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pb" = (/obj/machinery/camera{c_tag = "Isolation Room One"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"pc" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_two"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pd" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pe" = (/obj/machinery/camera{c_tag = "Isolation Room Two"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"pf" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_three"; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"pg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"ph" = (/obj/machinery/camera{c_tag = "Isolation Room Three"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"oZ" = (/obj/machinery/alarm/monitor/isolation{alarm_id = "isolation_two"; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; use_power = 0},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) +"pa" = (/obj/machinery/camera{c_tag = "Isolation Room Three"; dir = 8; network = list("Research","Anomaly Isolation")},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"pb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) +"pc" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) +"pd" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1_access) +"pe" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2_access) +"pf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso1_access) +"pg" = (/obj/machinery/door_control{id = "riso1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso1_access) +"ph" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso2_access) "pi" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "pj" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "pk" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored) @@ -808,14 +808,11 @@ "pB" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) "pC" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) "pD" = (/obj/machinery/conveyor_switch{id = "anosample"; req_access_txt = "65"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"pE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) -"pF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) +"pE" = (/obj/machinery/door_control{id = "riso2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso2_access) +"pF" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso3_access) "pG" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) -"pH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) -"pI" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) +"pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) "pJ" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) -"pK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; use_power = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) -"pL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pN" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "pO" = (/obj/structure/transit_tube{icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) @@ -1447,11 +1444,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebkbkewgEkwkxkyjBkzkAhjkBbOdVkCewkBkwkCjIewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababesesesesesesababababababkDkEaaaaaakFkGhZkHkIkJkKidkLkMkNkOkPkQijkRkSkTkUkUaMaMkVkWkWkXkWkYkYkZkYlalalblaaMlcaMldleiDlflgiDlhlikuljiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewewewewewewgDhilkkwhiiKllkBkBhlgFjFewkBeWfAqbewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesesgygygygyesesesabablnlolphRaaaaaalqlrhqhrlslslslslsltlsbcbcbcijlukUlvlwlxlylzlAkWlBlClDkYlElFlGlalHlIlJlalKlLldlMldiDiDiDlNlOlPjyiDbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeewlQhijBqUewjzqcjAewiLewqZraqYewdVlYjEoNeWfzhiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababesesgygygygygygygygyesesabmambbimcaBaBaBdrdsaeaemdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmungkWmwmxmykYmzmAmBlamCmDmElamFmGldmHmImJmKiDiDiDiDiDmLcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhninjkYnknlnmlannnonplanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSnTnUkYnVnWnXlanYnZoalaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyozoAoBoCoCoDoCoEoEoFoEoGoGoHoGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCoZpapboEpcpdpeoGpfpgphoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCpEpFpGoEpHpIpJoGpKpLpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkewlQeWjBeWoOlYkwmMkwmNdVdVmOgFdVeWeWewhioNhihiewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababesesgygygygygygygygygygymQmRmSmRaaaaaaaaaaaaaaaaaemdmTmUmVmWmXmYmZnananbnckUndnelylynfmvkWnhnipdkYnknlpelannnopclanqnrldnsntntnuldnvagaBaBnwnxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkewnyjBhieWpoeWlmggeWnAmNlmkCnBeWnCfAewmPeWiNdVewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmRgygygygygygygygygygygynDnEpnnGaaaaaaaaaaaaaaaaaemdmTmUnHnInJnKmUnLnanMijijnNnOlynPnQnRkWnSpfpgkYnVphpElanYpHpFlaobocldodoeoeoeldofogbkaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkewnynzhigEewoiewojokeweWewojokewhilYewghlZjEmPewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesomgygygygygygygygygygygygyonlXnGaaaaaaaaaaaaaaaaaemdopmUoqmhorosotounaovijowoxoylyoznUoBoCoCnXoCoEoEnWoEoGoGnToGoGoIoJoKldldldldoLoMabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkewewewewewewoiewiNnCeWkzolhikzhiiNhhewooohoPoQewbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesmQgygygygygygygygygygygygyonnFnGaaaaaaaaaaaaaaaeaemdoRoSoTmWoUosoVoWnaoXijoYoxoylylylylyoCnZoFoHoEoZoaoAoGoDpbpaoGpipjoKabbkabpkplpmabbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewnCfAlTkzlSeWkCewhifAewlRpppppqewadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesesgygygyprgygygygygygygygypsptaeaaaaaaaaaaaaaeaeaemdmdpupvmdmdpwpxpwmdpypzpApBpCpDgygygyoCnmnmpGoEnpnppJoGnjnjpMoGoKoKpNpOaiaipPogababbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkewoiewkzeWdolWhifAiNewoiewewkBhipppqpRadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSpTgypUpSpQgygygygygygygygypWpXaaaaaaaaaaaepYpZqalUlVqdqeqfmdqgqhqimdqjpzgygygygygygygyoCqkqlqmoCqnqoqpoEqqqrqsoGabauqtogquabababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkbkbkbkbkbkewoiewewewewewewewewewoiewvydVhidVpqqvadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabespSgygygypSpQgygygygygygygyqwqxqyqzqzqzqzqzqzqAqBqCqDqDqEqFqFmdqGqHqImdqJgygygygygypzpzpzoCoCoCoCoCoEoEoEoEoGoGoGoGauqtogqKadqKababababbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLaaaaaaaaaaqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkewoioioioioioioioioioioiewkBhijEhijJewadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabesgygygygyqMqNgygygygygygygygyqOqPqPqPqPqPqPqPqPqOgygygygygygymdqQqRpwmdqSgygygygygyqTADqVaiaiaiaiqWaiaiaiaiaiqXAAACABogadadadqKkDabbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 580c16d1df3452115aa5ff7f05e4048c97bc3268 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 30 Jan 2015 19:26:12 +0100 Subject: [PATCH 248/282] Sanitizes player input. Purges \red, \blue, \green, \b, \i, etc. due to abuse. --- code/__HELPERS/text.dm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index ac400269b5..6e7e828be3 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -42,15 +42,15 @@ index = findtext(t, char) return t -/proc/readd_quotes(var/t) - var/list/repl_chars = list(""" = "\"") - for(var/char in repl_chars) - var/index = findtext(t, char) - while(index) - t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5) - index = findtext(t, char) - return t - +/proc/readd_quotes(var/t) + var/list/repl_chars = list(""" = "\"") + for(var/char in repl_chars) + var/index = findtext(t, char) + while(index) + t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+5) + index = findtext(t, char) + return t + //Runs byond's sanitization proc along-side sanitize_simple /proc/sanitize(var/t,var/list/repl_chars = null) return html_encode(sanitize_simple(t,repl_chars)) @@ -83,7 +83,7 @@ /proc/stripped_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN) var/name = input(user, message, title, default) return strip_html_properly(name, max_length) - + // Used to get a trimmed, properly sanitized input, of max_length /proc/trim_strip_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN) return trim(stripped_input(user, message, title, default, max_length)) @@ -326,7 +326,7 @@ proc/TextPreview(var/string,var/len=40) else return string else - return "[copytext(string, 1, 37)]..." + return "[copytext(string, 1, 37)]..." //This proc strips html properly, but it's not lazy like the other procs. //This means that it doesn't just remove < and > and call it a day. @@ -342,7 +342,7 @@ proc/TextPreview(var/string,var/len=40) input = copytext(input, 1, opentag) + copytext(input, (closetag + 1)) if(max_length) input = copytext(input,1,max_length) - return input + return sanitize(input) /proc/trim_strip_html_properly(var/input, var/max_length = MAX_MESSAGE_LEN) return trim(strip_html_properly(input, max_length)) From 683963f1ec081b20b6566a642f8468a8b52c5c72 Mon Sep 17 00:00:00 2001 From: Jamini Date: Fri, 30 Jan 2015 18:22:58 -0500 Subject: [PATCH 249/282] Changed prefix on gloves modified for alien use from "Mangled" to "Modified". Removed stungloves.dm on request of Zuhayr. Signed-off-by: Jamini --- code/modules/clothing/clothing.dm | 4 +- code/modules/clothing/gloves/stungloves.dm | 87 ---------------------- 2 files changed, 2 insertions(+), 89 deletions(-) delete mode 100644 code/modules/clothing/gloves/stungloves.dm diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 57dd80bde0..f6dc6cc337 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -231,7 +231,7 @@ BLIND // can't see anything user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") clipped = 1 - name = "mangled [name]" + name = "modified [name]" desc = "[desc]
They have had the fingertips cut off of them." if("exclude" in species_restricted) species_restricted -= "Unathi" @@ -535,7 +535,7 @@ BLIND // can't see anything else body_parts_covered = initial(body_parts_covered) item_color = initial(item_color) - + update_clothing_icon() else usr << "You cannot roll down the uniform!" diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm deleted file mode 100644 index 976b16e7e6..0000000000 --- a/code/modules/clothing/gloves/stungloves.dm +++ /dev/null @@ -1,87 +0,0 @@ -/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) - if(istype(src, /obj/item/clothing/gloves/boxing)) //quick fix for stunglove overlay not working nicely with boxing gloves. - user << "That won't work." //i'm not putting my lips on that! - ..() - return - - //add wires - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = W - if (clipped) - user << "The [src] are too badly mangled for wiring." - return - - if(wired) - user << "The [src] are already wired." - return - - if(C.get_amount() < 2) - user << "There is not enough wire to cover the [src]." - return - - C.use(2) - wired = 1 - siemens_coefficient = 3.0 - user << "You wrap some wires around the [src]." - update_icon() - return - - //add cell - else if(istype(W, /obj/item/weapon/cell)) - if(!wired) - user << "The [src] need to be wired first." - else if(!cell) - user.drop_item() - W.loc = src - cell = W - user << "You attach the [cell] to the [src]." - update_icon() - else - user << "A [cell] is already attached to the [src]." - return - - else if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel)) - - //stunglove stuff - if(cell) - cell.updateicon() - user << "You cut the [cell] away from the [src]." - cell.loc = get_turf(src.loc) - cell = null - update_icon() - return - if(wired) //wires disappear into the void because fuck that shit - wired = 0 - siemens_coefficient = initial(siemens_coefficient) - user << "You cut the wires away from the [src]." - update_icon() - return - - //clipping fingertips - if(!clipped) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - user.visible_message("\red [user] cuts the fingertips off of the [src].","\red You cut the fingertips off of the [src].") - - clipped = 1 - name = "mangled [name]" - desc = "[desc]
They have had the fingertips cut off of them." - if("exclude" in species_restricted) - species_restricted -= "Unathi" - species_restricted -= "Tajara" - return - else - user << "The [src] have already been clipped!" - update_icon() - return - - return - - ..() - -/obj/item/clothing/gloves/update_icon() - ..() - overlays.Cut() - if(wired) - overlays += "gloves_wire" - if(cell) - overlays += "gloves_cell" From 75e04581026a074aac3204689678344d4abe1d90 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 30 Jan 2015 22:02:07 -0500 Subject: [PATCH 250/282] Fixes voidsuit attachment deployment not checking mob_can_equip() --- code/modules/clothing/spacesuits/void/void.dm | 19 ++++++------------- code/modules/mob/mob.dm | 4 ++-- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 2c5b9f2378..1cab4a659c 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -75,20 +75,15 @@ if(helmet) if(H.head) M << "You are unable to deploy your suit's helmet as \the [H.head] is in the way." - else + else if (H.equip_to_slot_if_possible(helmet, slot_head)) M << "Your suit's helmet deploys with a hiss." - //TODO: Species check, skull damage for forcing an unfitting helmet on? - helmet.loc = H - H.equip_to_slot(helmet, slot_head) helmet.canremove = 0 if(boots) if(H.shoes) M << "You are unable to deploy your suit's magboots as \the [H.shoes] are in the way." - else + else if (H.equip_to_slot_if_possible(boots, slot_shoes)) M << "Your suit's boots deploy with a hiss." - boots.loc = H - H.equip_to_slot(boots, slot_shoes) boots.canremove = 0 /obj/item/clothing/suit/space/void/dropped() @@ -139,12 +134,10 @@ if(H.head) H << "You cannot deploy your helmet while wearing another helmet." return - //TODO: Species check, skull damage for forcing an unfitting helmet on? - helmet.loc = H - helmet.pickup(H) - H.equip_to_slot(helmet, slot_head) - helmet.canremove = 0 - H << "You deploy your suit helmet, sealing you off from the world." + if(H.equip_to_slot_if_possible(helmet, slot_head)) + helmet.pickup(H) + helmet.canremove = 0 + H << "You deploy your suit helmet, sealing you off from the world." helmet.update_light(H) /obj/item/clothing/suit/space/void/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5088f98108..82a5384001 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -130,14 +130,14 @@ return 1 return 0 -//This is a SAFE proc. Use this instead of equip_to_splot()! +//This is a SAFE proc. Use this instead of equip_to_slot()! //set del_on_fail to have it delete W if it fails to equip //set disable_warning to disable the 'you are unable to equip that' warning. //unset redraw_mob to prevent the mob from being redrawn at the end. /mob/proc/equip_to_slot_if_possible(obj/item/W as obj, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1) if(!istype(W)) return 0 - if(!W.mob_can_equip(src, slot, disable_warning)) + if(!W.mob_can_equip(src, slot)) if(del_on_fail) del(W) else From f8d79ef62a258a22f7251609758fa7edf8892af7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 31 Jan 2015 00:22:16 -0500 Subject: [PATCH 251/282] Gives sec ERT hardsuits mounted eguns Also relocates mounted gun code. --- baystation12.dme | 1 + .../clothing/spacesuits/rig/modules/combat.dm | 12 ++++- .../spacesuits/rig/modules/rig_weapons.dm | 51 +++++++++++++++++++ .../clothing/spacesuits/rig/suits/ert.dm | 1 + code/modules/projectiles/guns/energy/laser.dm | 16 ------ .../projectiles/guns/energy/nuclear.dm | 17 ------- 6 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm diff --git a/baystation12.dme b/baystation12.dme index 669fe0408a..ae1808a241 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -832,6 +832,7 @@ #include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" #include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" +#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm" #include "code\modules\clothing\spacesuits\rig\modules\utility.dm" #include "code\modules\clothing\spacesuits\rig\modules\vision.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index f8457375cc..605bff6be8 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -111,6 +111,16 @@ gun.Fire(target,holder.wearer) return 1 +/obj/item/rig_module/mounted/egun + + name = "mounted energy gun" + desc = "A forearm-mounted energy projector." + + interface_name = "mounted energy gun" + interface_desc = "A forearm-mounted suit-powered energy gun." + + gun_type = /obj/item/weapon/gun/energy/gun/mounted + /obj/item/rig_module/mounted/taser name = "mounted taser" @@ -124,7 +134,7 @@ interface_name = "mounted energy gun" interface_desc = "A shoulder-mounted cell-powered energy gun." - gun_type = /obj/item/weapon/gun/energy/gun/mounted + gun_type = /obj/item/weapon/gun/energy/taser/mounted /obj/item/rig_module/mounted/energy_blade diff --git a/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm new file mode 100644 index 0000000000..d8373e8bbe --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/rig_weapons.dm @@ -0,0 +1,51 @@ +//Weapon types intended to be used with rig modules + +/obj/item/weapon/gun/energy/lasercannon/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + in_chamber = new /obj/item/projectile/beam/heavylaser(src) + return 1 + return 0 + +/obj/item/weapon/gun/energy/gun/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + var/prog_path = text2path(projectile_type) + in_chamber = new prog_path(src) + return 1 + return 0 + +/obj/item/weapon/gun/energy/taser/mounted/load_into_chamber() + if(in_chamber) + return 1 + var/obj/item/rig_module/module = loc + if(!istype(module)) + return 0 + if(module.holder && module.holder.wearer) + var/mob/living/carbon/human/H = module.holder.wearer + if(istype(H) && H.back) + var/obj/item/weapon/rig/suit = H.back + if(istype(suit) && suit.cell && suit.cell.charge >= 250) + suit.cell.use(250) + var/prog_path = text2path(projectile_type) + in_chamber = new prog_path(src) + return 1 + return 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index 6980835c23..d3db4baf84 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -61,4 +61,5 @@ /obj/item/rig_module/ai_container, /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher, + /obj/item/rig_module/mounted/egun, ) \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 394ac3a8f6..40a4b06689 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -77,22 +77,6 @@ obj/item/weapon/gun/energy/laser/retro isHandgun() return 0 -/obj/item/weapon/gun/energy/lasercannon/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - in_chamber = new /obj/item/projectile/beam/heavylaser(src) - return 1 - return 0 - /obj/item/weapon/gun/energy/lasercannon/cyborg/load_into_chamber() if(in_chamber) return 1 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index a52119c168..e2a55a5ed4 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -35,23 +35,6 @@ else user.update_inv_r_hand() -/obj/item/weapon/gun/energy/gun/mounted/load_into_chamber() - if(in_chamber) - return 1 - var/obj/item/rig_module/module = loc - if(!istype(module)) - return 0 - if(module.holder && module.holder.wearer) - var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back - if(istype(suit) && suit.cell && suit.cell.charge >= 250) - suit.cell.use(250) - var/prog_path = text2path(projectile_type) - in_chamber = new prog_path(src) - return 1 - return 0 - /obj/item/weapon/gun/energy/gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized reactor." From 4eb3e16f72f74db78fffb164c5604e90a4386950 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sun, 1 Feb 2015 01:34:39 +0100 Subject: [PATCH 252/282] Reviewing paint recipes All recipes make "paint" and have different colours via var/resultcolor White paint can also be made non-ghettoly. --- code/game/objects/items/weapons/paint.dm | 3 +- code/modules/reagents/Chemistry-Holder.dm | 42 +++++++++++++++---- code/modules/reagents/Chemistry-Reagents.dm | 6 +-- code/modules/reagents/Chemistry-Recipes.dm | 45 +++++++++++++++------ 4 files changed, 72 insertions(+), 24 deletions(-) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 2c0e1d812d..0b993db633 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -171,7 +171,7 @@ var/global/list/cached_icons = list() target.icon = initial(target.icon) return */ - +/* datum/reagent/paint name = "Paint" id = "paint_" @@ -235,3 +235,4 @@ datum/reagent/paint_remover if(istype(T) && T.icon != initial(T.icon)) T.icon = initial(T.icon) return +*/ \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 78a48cf8e0..8b2cf82041 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -79,9 +79,9 @@ datum if(A.volume > the_volume) the_volume = A.volume the_reagent = A - + return the_reagent - + get_master_reagent_name() var/the_name = null var/the_volume = 0 @@ -353,8 +353,14 @@ datum if(C.result) feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]") multiplier = max(multiplier, 1) //this shouldnt happen ... - add_reagent(C.result, C.result_amount*multiplier) - set_data(C.result, preserved_data) + world << "chemical_reaction [C.result]|[C.result_amount*multiplier][C.resultcolor]" + if(!isnull(C.resultcolor)) + world << "Paint made with colour [C.resultcolor]" + add_reagent(C.result, C.result_amount*multiplier, C.resultcolor) + else + add_reagent(C.result, C.result_amount*multiplier) + world << "This happened? [preserved_data]" + set_data(C.result, preserved_data) //add secondary products for(var/S in C.secondary_results) @@ -458,7 +464,7 @@ datum else R.reaction_obj(A, R.volume+volume_modifier) return - add_reagent(var/reagent, var/amount, var/list/data=null, var/safety = 0) + add_reagent(var/reagent, var/amount, var/data=null, var/safety = 0) if(!isnum(amount)) return 1 update_total() if(total_volume + amount > maximum_volume) amount = (maximum_volume - total_volume) //Doesnt fit in. Make it disappear. Shouldnt happen. Will happen. @@ -469,7 +475,6 @@ datum if (R.id == reagent) R.volume += amount update_total() - my_atom.on_reagent_change() // mix dem viruses if(R.id == "blood" && reagent == "blood") @@ -495,9 +500,25 @@ datum if(!istype(D, /datum/disease/advance)) preserve += D R.data["viruses"] = preserve - + if(R.id == "paint" && reagent == "paint") + if(R.color && data) + var/list/mix = new /list(2) + //fill the list + var/datum/reagent/paint/P1 = chemical_reagents_list["paint"] + P1.color = R.color + P1.volume = R.volume - amount //since we just increased that + world << "First paint [P1.color] vol [P1.volume]" + var/datum/reagent/paint/P2 = chemical_reagents_list["paint"] + P2.color = data + P2.volume = amount + world << "Second paint [P2.color] vol [P2.volume]" + mix += P1 + mix += P2 + R.color = mix_color_from_reagents(mix) + world << "Eventual mixed colour [R.color]" if(!safety) handle_reactions() + my_atom.on_reagent_change() return 0 var/datum/reagent/D = chemical_reagents_list[reagent] @@ -507,7 +528,11 @@ datum reagent_list += R R.holder = src R.volume = amount - SetViruses(R, data) // Includes setting data + if(reagent == "paint") + R.color = data + world << "The paint is given [data] colour" + else + SetViruses(R, data) // Includes setting data for blood //debug //world << "Adding data" @@ -611,6 +636,7 @@ datum my_atom.reagents = null copy_data(var/datum/reagent/current_reagent) + if (current_reagent.id == "paint") return current_reagent.color if (!current_reagent || !current_reagent.data) return null if (!istype(current_reagent.data, /list)) return current_reagent.data diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 714ff96b58..efd4bb2064 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -88,7 +88,7 @@ datum on_new(var/data) return - // Called when two reagents of the same are mixing. + // Called when two reagents of the same are mixing. <-- Blatant lies on_merge(var/data) return @@ -1575,7 +1575,7 @@ datum reagent_state = LIQUID color = "#808080" overdose = 15 - +/* //Paints corresponding to crayons are hardcoded red id = "paint_red" @@ -1616,7 +1616,7 @@ datum white id = "paint_white" color = "#F0F8FF" - +*/ //////////////////////////Poison stuff/////////////////////// diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 2aaaeec2fc..4d6b44fb84 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -4,6 +4,7 @@ datum var/name = null var/id = null var/result = null + var/resultcolor = null //for paint var/list/required_reagents = new/list() var/list/required_catalysts = new/list() @@ -1350,56 +1351,64 @@ datum red_paint name = "Red paint" id = "red_paint" - result = "paint_red" + result = "paint" + resultcolor = "#FE191A" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1) result_amount = 5 orange_paint name = "Orange paint" id = "orange_paint" - result = "paint_orange" + result = "paint" + resultcolor = "#FFBE4F" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1) result_amount = 5 yellow_paint name = "Yellow paint" id = "yellow_paint" - result = "paint_yellow" + result = "paint" + resultcolor = "#FDFE7D" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1) result_amount = 5 green_paint name = "Green paint" id = "green_paint" - result = "paint_green" + result = "paint" + resultcolor = "#18A31A" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1) result_amount = 5 blue_paint name = "Blue paint" id = "blue_paint" - result = "paint_blue" + result = "paint" + resultcolor = "#247CFF" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1) result_amount = 5 purple_paint name = "Purple paint" id = "purple_paint" - result = "paint_purple" + result = "paint" + resultcolor = "#CC0099" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1) result_amount = 5 - grey_paint + grey_paint //mime name = "Grey paint" id = "grey_paint" - result = "paint_grey" + result = "paint" + resultcolor = "#808080" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1) result_amount = 5 brown_paint name = "Brown paint" id = "brown_paint" - result = "paint_brown" + result = "paint" + resultcolor = "#846F35" required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1) result_amount = 5 @@ -1408,24 +1417,36 @@ datum blood_paint name = "Blood paint" id = "blood_paint" - result = "paint_red" + result = "paint" + resultcolor = "#FE191A" required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) result_amount = 5 milk_paint name = "Milk paint" id = "milk_paint" - result = "paint_white" + result = "paint" + resultcolor = "#F0F8FF" required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) result_amount = 5 carbon_paint name = "Carbon paint" id = "carbon_paint" - result = "paint_black" + result = "paint" + resultcolor = "#333333" required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) result_amount = 5 +//Aluminum "non-ghetto" white paint + + aluminum_paint + name = "Aluminum paint" + id = "aluminum_paint" + result = "paint" + resultcolor = "#F0F8FF" + required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1) + result_amount = 5 //////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// From bbe2abd6776bc5c204d2f7d629b47872a409586a Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sat, 31 Jan 2015 19:49:25 -0500 Subject: [PATCH 253/282] Robitics maint relabled to be maint and set to proper access. Fixes #8004 --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index c7372747c7..976ce9fc56 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3329,7 +3329,7 @@ "bma" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard) "bmb" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard) "bmc" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) -"bmd" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) +"bmd" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bme" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/hallway/secondary/exit) "bmf" = (/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/hallway/secondary/entry/aft) "bmg" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) From b23b5b5d41f7a0d5719ff6d8edfa0bd948c827e9 Mon Sep 17 00:00:00 2001 From: ccomp5950 Date: Sat, 31 Jan 2015 19:50:07 -0500 Subject: [PATCH 254/282] Removes categorization of Ahelps. --- code/modules/admin/verbs/adminhelp.dm | 89 +++------------------------ code/modules/admin/verbs/adminpm.dm | 2 +- 2 files changed, 8 insertions(+), 83 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 39a5fa778c..9e5260fbd6 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -1,18 +1,8 @@ -#define AHELP_ADMIN 1 -#define AHELP_MENTOR 2 -#define AHELP_DEV 3 //This is a list of words which are ignored by the parser when comparing message contents for names. MUST BE IN LOWER CASE! var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","alien","as") -var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHELP_MENTOR,\ - "Admin - Rule/Gameplay issue" = AHELP_ADMIN,\ - "Dev - Bug report" = AHELP_DEV) - -/client/proc/adminhelp_admin(message) - adminhelp("Admin - Rule/Gameplay issue", message) - -/client/verb/adminhelp(selected_type in adminhelp_categories, msg as text) +/client/verb/adminhelp(msg as text) set category = "Admin" set name = "Adminhelp" @@ -27,18 +17,6 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE adminhelped = 1 //Determines if they get the message to reply by clicking the name. - /**src.verbs -= /client/verb/adminhelp - - spawn(1200) - src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps - src.verbs += /client/verb/adminhelp // 2 minute cool-down for adminhelps//Go to hell - **/ - - if(!msg || alert("The following message will be sent to staff that administers\n the '[selected_type]' category:\n\n[msg]\n", "Admin Help", "Ok", "Cancel") == "Cancel") - return - - var/selected_upper = uppertext(selected_type) - if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return @@ -109,62 +87,12 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE var/ai_cl if(ai_found) ai_cl = " (CL)" - var/mentor_msg = "\blue [selected_upper]: [get_options_bar(mob, 0, 0, 1, 0)][ai_cl]: [msg]" - var/dev_msg = "\blue [selected_upper]: [get_options_bar(mob, 3, 0, 1, 0)][ai_cl]: [msg]" - msg = "\blue [selected_upper]: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" + var/mentor_msg = "\blue Request for Help: [get_options_bar(mob, 0, 0, 1, 0)][ai_cl]: [msg]" + msg = "\blue Request for Help:: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" var/admin_number_afk = 0 - var/list/mentorholders = list() - var/list/debugholders = list() - var/list/adminholders = list() for(var/client/X in admins) - if(R_MENTOR & X.holder.rights && !(R_ADMIN & X.holder.rights)) // we don't want to count admins twice. This list should be JUST mentors - mentorholders += X - if(X.is_afk()) - admin_number_afk++ - if(R_DEBUG & X.holder.rights) // Looking for anyone with +Debug which will be admins, developers, and developer mentors - debugholders += X - if(!(R_ADMIN & X.holder.rights)) - if(X.is_afk()) - admin_number_afk++ - if(R_ADMIN | R_MOD & X.holder.rights) // just admins here please - adminholders += X - if(X.is_afk()) - admin_number_afk++ - - switch(adminhelp_categories[selected_type]) - if(AHELP_MENTOR) - if(mentorholders.len) - for(var/client/X in mentorholders) // Mentors get a message without buttons and no character name - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << mentor_msg - if(adminholders.len) - for(var/client/X in adminholders) // Admins get the full monty - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - if(AHELP_ADMIN) - if(adminholders.len) - for(var/client/X in adminholders) // Admins of course get everything in their helps - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - if(AHELP_DEV) - if(debugholders.len) - for(var/client/X in debugholders) - if(R_ADMIN | R_MOD & X.holder.rights) // Admins get every button & special highlights in theirs - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - else - if (R_DEBUG & X.holder.rights) // Just devs or devmentors get non-highlighted names, but they do get JMP and VV for their bug reports. - if(X.prefs.toggles & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << dev_msg - - /*for(var/client/X in admins) if((R_ADMIN|R_MOD|R_MENTOR) & X.holder.rights) if(X.is_afk()) admin_number_afk++ @@ -173,20 +101,17 @@ var/list/adminhelp_categories = list("Mentor - Gameplay/Roleplay question" = AHE if(X.holder.rights == R_MENTOR) X << mentor_msg // Mentors won't see coloring of names on people with special_roles (Antags, etc.) else - X << msg*/ + X << msg //show it to the person adminhelping too - src << "PM to-Staff ([selected_type]): [original_msg]" + src << "PM to-Staff : [original_msg]" var/admin_number_present = admins.len - admin_number_afk log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") if(admin_number_present <= 0) - send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!") + send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!") else - send2adminirc("[selected_upper] from [key_name(src)]: [html_decode(original_msg)]") + send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]") feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return -#undef AHELP_ADMIN -#undef AHELP_MENTOR -#undef AHELP_DEV \ No newline at end of file diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0b3f82aaa1..1c358c8cf4 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -96,7 +96,7 @@ if(sender) C.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them else - adminhelp_admin(reply) //sender has left, adminhelp instead + adminhelp(reply) //sender has left, adminhelp instead return src << "" + create_text_tag("pm_out_alt", "PM", src) + " to [get_options_bar(C, holder ? 1 : 0, holder ? 1 : 0, 1)]: [msg]" C << "" + create_text_tag("pm_in", "", C) + " \[[recieve_pm_type] PM\] [get_options_bar(src, C.holder ? 1 : 0, C.holder ? 1 : 0, 1)]: [msg]" From 1f869ebe1a6a067f20a5a757f81bc01b7ab06c70 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 31 Jan 2015 16:31:07 -0500 Subject: [PATCH 255/282] Mob fire adjustments Temperature increase caused by being on fire is now affected by get_heat_protection(). If a mob is on fire but it's fire_stack <= 0 then it gets extinguished, just in case. --- code/modules/mob/living/carbon/human/life.dm | 19 ++++++----------- code/modules/mob/living/living_defense.dm | 22 ++++++++++++++++---- code/setup.dm | 6 ++++++ 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index cee6fe6e4e..7eff352ea9 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1782,19 +1782,12 @@ /mob/living/carbon/human/handle_fire() if(..()) return - var/thermal_protection = 0 //Simple check to estimate how protected we are against multiple temperatures - if(wear_suit) - if(wear_suit.max_heat_protection_temperature >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) - thermal_protection += (wear_suit.max_heat_protection_temperature*0.7) - if(head) - if(head.max_heat_protection_temperature >= FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE) - thermal_protection += (head.max_heat_protection_temperature*THERMAL_PROTECTION_HEAD) - thermal_protection = round(thermal_protection) - if(thermal_protection >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) - bodytemperature += 11 - else - bodytemperature += BODYTEMP_HEATING_MAX - return + + var/burn_temperature = fire_burn_temperature() + var/thermal_protection = get_heat_protection(burn_temperature) + + if (thermal_protection < 1 && bodytemperature < burn_temperature) + bodytemperature += round(BODYTEMP_HEATING_MAX*(1-thermal_protection), 1) #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index e7a542f49f..1be8ea4ac9 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -209,20 +209,34 @@ return /mob/living/proc/adjust_fire_stacks(add_fire_stacks) //Adjusting the amount of fire_stacks we have on person - fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = -20, max = 20) + fire_stacks = Clamp(fire_stacks + add_fire_stacks, min = FIRE_MIN_STACKS, max = FIRE_MAX_STACKS) /mob/living/proc/handle_fire() if(fire_stacks < 0) fire_stacks = max(0, fire_stacks++) //If we've doused ourselves in water to avoid fire, dry off slowly + if(!on_fire) return 1 + else if(fire_stacks <= 0) + ExtinguishMob() //Fire's been put out. + return 1 + var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment if(G.gas["oxygen"] < 1) ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire - return + return 1 + var/turf/location = get_turf(src) - location.hotspot_expose(700, 50, 1) + location.hotspot_expose(fire_burn_temperature(), 50, 1) /mob/living/fire_act() adjust_fire_stacks(0.5) - IgniteMob() \ No newline at end of file + IgniteMob() + +//Finds the effective temperature that the mob is burning at. +/mob/living/proc/fire_burn_temperature() + if (fire_stacks <= 0) + return 0 + + //Scale quadratically so that single digit numbers of fire stacks don't burn ridiculously hot. + return round(FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE*(fire_stacks/FIRE_MAX_FIRESUIT_STACKS)**2) diff --git a/code/setup.dm b/code/setup.dm index 4332480676..f34cb373ca 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -68,6 +68,12 @@ #define SHOE_MIN_COLD_PROTECTION_TEMPERATURE 2.0 //For gloves #define SHOE_MAX_HEAT_PROTECTION_TEMPERATURE 1500 //For gloves +//Fire +#define FIRE_MIN_STACKS -20 +#define FIRE_MAX_STACKS 25 +//If the number of stacks goes above this firesuits won't protect you anymore. If not you can walk around while on fire like a badass. +#define FIRE_MAX_FIRESUIT_STACKS 20 + #define THROWFORCE_SPEED_DIVISOR 5 //The throwing speed value at which the throwforce multiplier is exactly 1. #define THROWNOBJ_KNOCKBACK_SPEED 15 //The minumum speed of a thrown object that will cause living mobs it hits to be knocked back. #define THROWNOBJ_KNOCKBACK_DIVISOR 2 //Affects how much speed the mob is knocked back with From 9c358c0e749669208ac53077c2008d7a677327a4 Mon Sep 17 00:00:00 2001 From: volas Date: Sun, 1 Feb 2015 22:21:11 +0300 Subject: [PATCH 256/282] sanitize_simple correction --- code/__HELPERS/text.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 6e7e828be3..c14976bb78 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -34,12 +34,9 @@ return t //Removes a few problematic characters -/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#","�"="�")) +/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#")) for(var/char in repl_chars) - var/index = findtext(t, char) - while(index) - t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+1) - index = findtext(t, char) + replacetext(t, char, repl_chars[char]) return t /proc/readd_quotes(var/t) From 8abd7d0735722f557ebf99c71822f399114d3997 Mon Sep 17 00:00:00 2001 From: volas Date: Sun, 1 Feb 2015 22:54:56 +0300 Subject: [PATCH 257/282] correction of all copytext(sanitize(..)) to sanitize(copytext(..)) --- code/WorkInProgress/computer3/computers/card.dm | 2 +- .../computer3/computers/communications.dm | 4 ++-- .../computer3/computers/medical.dm | 4 ++-- .../computer3/computers/message.dm | 2 +- .../computer3/computers/prisoner.dm | 2 +- .../computer3/computers/security.dm | 4 ++-- code/WorkInProgress/kilakk/responseteam.dm | 2 +- code/datums/datumvars.dm | 2 +- code/datums/mind.dm | 4 ++-- code/game/gamemodes/events/space_ninja.dm | 2 +- code/game/gamemodes/objective.dm | 2 +- code/game/gamemodes/wizard/wizard.dm | 2 +- code/game/jobs/job/civilian_chaplain.dm | 4 ++-- code/game/machinery/bots/farmbot.dm | 2 +- code/game/machinery/bots/mulebot.dm | 2 +- code/game/machinery/camera/tracking.dm | 2 +- code/game/machinery/computer/card.dm | 2 +- code/game/machinery/computer/communications.dm | 10 +++++----- code/game/machinery/computer/message.dm | 2 +- code/game/machinery/computer/prisoner.dm | 2 +- code/game/machinery/computer/supply.dm | 4 ++-- code/game/machinery/magnet.dm | 2 +- code/game/machinery/navbeacon.dm | 2 +- code/game/machinery/newscaster.dm | 2 +- code/game/machinery/portable_turret.dm | 2 +- code/game/objects/items/bodybag.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 8 ++++---- code/game/objects/items/devices/PDA/cart.dm | 4 ++-- code/game/objects/items/devices/megaphone.dm | 2 +- code/game/objects/items/devices/paicard.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 2 +- code/game/objects/items/weapons/cards_ids.dm | 6 +++--- .../items/weapons/implants/implantcase.dm | 2 +- code/game/objects/structures/morgue.dm | 6 +++--- code/game/verbs/ooc.dm | 4 ++-- code/modules/admin/topic.dm | 2 +- code/modules/admin/verbs/adminsay.dm | 4 ++-- code/modules/admin/verbs/deadsay.dm | 4 ++-- code/modules/admin/verbs/pray.dm | 6 +++--- code/modules/admin/verbs/striketeam.dm | 2 +- code/modules/admin/verbs/striketeam_syndicate.dm | 2 +- code/modules/library/lib_machines.dm | 6 +++--- code/modules/mob/emote.dm | 4 ++-- code/modules/mob/living/carbon/human/emote.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 4 ++-- .../mob/living/carbon/human/human_powers.dm | 2 +- .../modules/mob/living/carbon/metroid/metroid.dm | 4 ++-- code/modules/mob/living/silicon/pai/recruit.dm | 16 ++++++++-------- code/modules/mob/living/silicon/silicon.dm | 6 +++--- code/modules/mob/mob_helpers.dm | 4 ++-- code/modules/paperwork/folders.dm | 2 +- code/modules/paperwork/paper.dm | 2 +- code/modules/paperwork/paper_bundle.dm | 2 +- code/modules/paperwork/photography.dm | 2 +- code/modules/recycling/sortingmachinery.dm | 10 +++++----- code/unused/computer2/airlock_control.dm | 2 +- code/unused/computer2/filebrowse.dm | 2 +- code/unused/computer2/messenger.dm | 4 ++-- code/unused/pda2/base_os.dm | 4 ++-- 59 files changed, 104 insertions(+), 104 deletions(-) diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/WorkInProgress/computer3/computers/card.dm index 5acb7c9de2..963b1f4de7 100644 --- a/code/WorkInProgress/computer3/computers/card.dm +++ b/code/WorkInProgress/computer3/computers/card.dm @@ -304,7 +304,7 @@ if(auth) var/t1 = href_list["assign"] if(t1 == "Custom") - var/temp_t = copytext(sanitize(input("Enter a custom job assignment.","Assignment")),1,MAX_MESSAGE_LEN) + var/temp_t = sanitize(copytext(input("Enter a custom job assignment.","Assignment"),1,MAX_MESSAGE_LEN)) if(temp_t) t1 = temp_t set_default_access(t1) diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/WorkInProgress/computer3/computers/communications.dm index f39c4c17fd..bb268ba0c0 100644 --- a/code/WorkInProgress/computer3/computers/communications.dm +++ b/code/WorkInProgress/computer3/computers/communications.dm @@ -178,10 +178,10 @@ post_status(href_list["statdisp"]) if("setmsg1" in href_list) - stat_msg1 = reject_bad_text(trim(copytext(sanitize(input("Line 1", "Enter Message Text", stat_msg1) as text|null), 1, 40)), 40) + stat_msg1 = reject_bad_text(trim(sanitize(copytext(input("Line 1", "Enter Message Text", stat_msg1) as text|null, 1, 40)), 40)) computer.updateDialog() if("setmsg2" in href_list) - stat_msg2 = reject_bad_text(trim(copytext(sanitize(input("Line 2", "Enter Message Text", stat_msg2) as text|null), 1, 40)), 40) + stat_msg2 = reject_bad_text(trim(sanitize(copytext(input("Line 2", "Enter Message Text", stat_msg2) as text|null, 1, 40)), 40)) computer.updateDialog() // OMG CENTCOMM LETTERHEAD diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/WorkInProgress/computer3/computers/medical.dm index f7e6167e1d..0269eb7867 100644 --- a/code/WorkInProgress/computer3/computers/medical.dm +++ b/code/WorkInProgress/computer3/computers/medical.dm @@ -344,7 +344,7 @@ src.temp = text("Blood Type:
\n\tA- A+
\n\tB- B+
\n\tAB- AB+
\n\tO- O+
", src, src, src, src, src, src, src, src) if("b_dna") if (istype(src.active2, /datum/data/record)) - var/t1 = copytext(sanitize(trim(input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) as text)),1,MAX_MESSAGE_LEN) + var/t1 = sanitize(copytext(trim(input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) as text),1,MAX_MESSAGE_LEN)) if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!interactable() && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) return src.active2.fields["b_dna"] = t1 @@ -463,7 +463,7 @@ if (!( istype(src.active2, /datum/data/record) )) return var/a2 = src.active2 - var/t1 = copytext(sanitize(input("Add Comment:", "Med. records", null, null) as message),1,MAX_MESSAGE_LEN) + var/t1 = sanitize(copytext(input("Add Comment:", "Med. records", null, null) as message,1,MAX_MESSAGE_LEN)) if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!interactable() && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) return var/counter = 1 diff --git a/code/WorkInProgress/computer3/computers/message.dm b/code/WorkInProgress/computer3/computers/message.dm index 3bbb580f5e..01be511bbf 100644 --- a/code/WorkInProgress/computer3/computers/message.dm +++ b/code/WorkInProgress/computer3/computers/message.dm @@ -383,7 +383,7 @@ //Enter message if("Message") custommessage = input(usr, "Please enter your message.") as text|null - custommessage = copytext(sanitize(custommessage), 1, MAX_MESSAGE_LEN) + custommessage = sanitize(copytext(custommessage, 1, MAX_MESSAGE_LEN)) //Send message if("Send") diff --git a/code/WorkInProgress/computer3/computers/prisoner.dm b/code/WorkInProgress/computer3/computers/prisoner.dm index f1df9b2a59..7b0c97d4ae 100644 --- a/code/WorkInProgress/computer3/computers/prisoner.dm +++ b/code/WorkInProgress/computer3/computers/prisoner.dm @@ -90,7 +90,7 @@ screen = !screen else if(href_list["warn"]) - var/warning = trim(copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN)) + var/warning = trim(sanitize(copytext(input(usr,"Message:","Enter your message here!",""),1,MAX_MESSAGE_LEN))) if(!warning) return var/obj/item/weapon/implant/I = locate(href_list["warn"]) if( istype(I) && I.imp_in) diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/WorkInProgress/computer3/computers/security.dm index 1c409da853..1894469a8b 100644 --- a/code/WorkInProgress/computer3/computers/security.dm +++ b/code/WorkInProgress/computer3/computers/security.dm @@ -404,7 +404,7 @@ What a mess.*/ if (!( istype(active2, /datum/data/record) )) return var/a2 = active2 - var/t1 = copytext(sanitize(input("Add Comment:", "Secure. records", null, null) as message),1,MAX_MESSAGE_LEN) + var/t1 = sanitize(copytext(input("Add Comment:", "Secure. records", null, null) as message,1,MAX_MESSAGE_LEN)) if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!interactable() && (!istype(usr, /mob/living/silicon))) || active2 != a2)) return var/counter = 1 @@ -525,7 +525,7 @@ What a mess.*/ alert(usr, "You do not have the required rank to do this!") if("species") if (istype(active1, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please enter race:", "General records", active1.fields["species"], null) as message),1,MAX_MESSAGE_LEN) + var/t1 = sanitize(copytext(input("Please enter race:", "General records", active1.fields["species"], null) as message,1,MAX_MESSAGE_LEN)) if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!interactable() && (!istype(usr, /mob/living/silicon))) || active1 != a1)) return active1.fields["species"] = t1 diff --git a/code/WorkInProgress/kilakk/responseteam.dm b/code/WorkInProgress/kilakk/responseteam.dm index 8e0cdbc638..165e2db150 100644 --- a/code/WorkInProgress/kilakk/responseteam.dm +++ b/code/WorkInProgress/kilakk/responseteam.dm @@ -32,7 +32,7 @@ var/global/admin_emergency_team = 0 // Used for admin-spawned response teams var/situation = null while(!situation) - situation = copytext(sanitize(input(src, "Please specify the mission the emergency response team will undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN) + situation = sanitize(copytext(input(src, "Please specify the mission the emergency response team will undertake.", "Specify Mission", ""),1,MAX_MESSAGE_LEN)) if(!situation) if(alert("You haven't specified a mission. Exit the setup process?",,"No","Yes")=="Yes") return diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index e3c9ff8c86..49863e8c4b 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -427,7 +427,7 @@ client usr << "This can only be used on instances of type /mob" return - var/new_name = copytext(sanitize(input(usr,"What would you like to name this mob?","Input a name",M.real_name) as text|null),1,MAX_NAME_LEN) + var/new_name = sanitize(copytext(input(usr,"What would you like to name this mob?","Input a name",M.real_name) as text|null,1,MAX_NAME_LEN)) if( !new_name || !M ) return message_admins("Admin [key_name_admin(usr)] renamed [key_name_admin(M)] to [new_name].") diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 5ac4ca53dd..bd401c2417 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -362,7 +362,7 @@ datum/mind assigned_role = new_role else if (href_list["memory_edit"]) - var/new_memo = copytext(sanitize(input("Write new memory", "Memory", memory) as null|message),1,MAX_MESSAGE_LEN) + var/new_memo = sanitize(copytext(input("Write new memory", "Memory", memory) as null|message,1,MAX_MESSAGE_LEN)) if (isnull(new_memo)) return memory = new_memo @@ -473,7 +473,7 @@ datum/mind new_objective.target_amount = target_number if ("custom") - var/expl = copytext(sanitize(input("Custom objective:", "Objective", objective ? objective.explanation_text : "") as text|null),1,MAX_MESSAGE_LEN) + var/expl = sanitize(copytext(input("Custom objective:", "Objective", objective ? objective.explanation_text : "") as text|null,1,MAX_MESSAGE_LEN)) if (!expl) return new_objective = new /datum/objective new_objective.owner = src diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index 195b9ff5b9..6136197a66 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -472,7 +472,7 @@ As such, it's hard-coded for now. No reason for it not to be, really. var/mission while(!mission) - mission = copytext(sanitize(input(src, "Please specify which mission the space ninja shall undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN) + mission = sanitize(copytext(input(src, "Please specify which mission the space ninja shall undertake.", "Specify Mission", ""),1,MAX_MESSAGE_LEN)) if(!mission) if(alert("Error, no mission set. Do you want to exit the setup process?",,"Yes","No")=="Yes") return diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 452fd347d8..534383867e 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -537,7 +537,7 @@ datum/objective/steal var/tmp_obj = new custom_target var/custom_name = tmp_obj:name del(tmp_obj) - custom_name = copytext(sanitize(input("Enter target name:", "Objective target", custom_name) as text|null),1,MAX_MESSAGE_LEN) + custom_name = sanitize(copytext(input("Enter target name:", "Objective target", custom_name) as text|null,1,MAX_MESSAGE_LEN)) if (!custom_name) return target_name = custom_name steal_target = custom_target diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index b79fe4ba30..ab3806a97c 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -120,7 +120,7 @@ var/wizard_name_second = pick(wizard_second) var/randomname = "[wizard_name_first] [wizard_name_second]" spawn(0) - var/newname = copytext(sanitize(input(wizard_mob, "You are the Space Wizard. Would you like to change your name to something else?", "Name change", randomname) as null|text),1,MAX_NAME_LEN) + var/newname = sanitize(copytext(input(wizard_mob, "You are the Space Wizard. Would you like to change your name to something else?", "Name change", randomname) as null|text,1,MAX_NAME_LEN)) if (!newname) newname = randomname diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 34fe340a12..e7ce82b595 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -27,7 +27,7 @@ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) spawn(0) var/religion_name = "Christianity" - var/new_religion = copytext(sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name)),1,MAX_NAME_LEN) + var/new_religion = sanitize(copytext(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name),1,MAX_NAME_LEN)) if (!new_religion) new_religion = religion_name @@ -62,7 +62,7 @@ spawn(1) var/deity_name = "Space Jesus" - var/new_deity = copytext(sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name)),1,MAX_NAME_LEN) + var/new_deity = sanitize(copytext(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name),1,MAX_NAME_LEN)) if ((length(new_deity) == 0) || (new_deity == "Space Jesus") ) new_deity = deity_name diff --git a/code/game/machinery/bots/farmbot.dm b/code/game/machinery/bots/farmbot.dm index 1c0bd0875f..4db416e7a6 100644 --- a/code/game/machinery/bots/farmbot.dm +++ b/code/game/machinery/bots/farmbot.dm @@ -583,7 +583,7 @@ else if(istype(W, /obj/item/weapon/pen)) var/t = input(user, "Enter new robot name", src.name, src.created_name) as text - t = copytext(sanitize(t), 1, MAX_NAME_LEN) + t = sanitize(copytext(t, 1, MAX_NAME_LEN)) if (!t) return if (!in_range(src, usr) && src.loc != usr) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index e7f766a5b4..d130f9e2e4 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -309,7 +309,7 @@ if("setid") refresh=0 - var/new_id = copytext(sanitize(input("Enter new bot ID", "Mulebot [suffix ? "([suffix])" : ""]", suffix) as text|null),1,MAX_NAME_LEN) + var/new_id = sanitize(copytext(input("Enter new bot ID", "Mulebot [suffix ? "([suffix])" : ""]", suffix) as text|null,1,MAX_NAME_LEN)) refresh=1 if(new_id) suffix = new_id diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 0cad72b934..52d74a23b9 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -50,7 +50,7 @@ set name = "Store Camera Location" set desc = "Stores your current camera location by the given name" - loc = copytext(sanitize(loc), 1, MAX_MESSAGE_LEN) + loc = sanitize(copytext(loc, 1, MAX_MESSAGE_LEN)) if(!loc) src << "\red Must supply a location name" return diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index fddc863575..be5a73d90f 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -191,7 +191,7 @@ if (is_authenticated() && modify) var/t1 = href_list["assign_target"] if(t1 == "Custom") - var/temp_t = copytext(sanitize(input("Enter a custom job assignment.","Assignment")),1,45) + var/temp_t = sanitize(copytext(input("Enter a custom job assignment.","Assignment"),1,45)) //let custom jobs function as an impromptu alt title, mainly for sechuds if(temp_t && modify) modify.assignment = temp_t diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 5285235fbf..f18d906383 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -175,10 +175,10 @@ post_status(href_list["statdisp"]) if("setmsg1") - stat_msg1 = reject_bad_text(trim(copytext(sanitize(input("Line 1", "Enter Message Text", stat_msg1) as text|null), 1, 40)), 40) + stat_msg1 = reject_bad_text(trim(sanitize(copytext(input("Line 1", "Enter Message Text", stat_msg1) as text|null, 1, 40))), 40) src.updateDialog() if("setmsg2") - stat_msg2 = reject_bad_text(trim(copytext(sanitize(input("Line 2", "Enter Message Text", stat_msg2) as text|null), 1, 40)), 40) + stat_msg2 = reject_bad_text(trim(sanitize(copytext(input("Line 2", "Enter Message Text", stat_msg2) as text|null, 1, 40))), 40) src.updateDialog() // OMG CENTCOMM LETTERHEAD @@ -496,12 +496,12 @@ return emergency_shuttle.call_transfer() - + //delay events in case of an autotransfer if (isnull(user)) event_manager.delay_events(EVENT_LEVEL_MODERATE, 9000) //15 minutes - event_manager.delay_events(EVENT_LEVEL_MAJOR, 9000) - + event_manager.delay_events(EVENT_LEVEL_MAJOR, 9000) + log_game("[user? key_name(user) : "Autotransfer"] has called the shuttle.") message_admins("[user? key_name_admin(user) : "Autotransfer"] has called the shuttle.", 1) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 8cdd7f10fe..a30f355d2a 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -430,7 +430,7 @@ //Enter message if("Message") custommessage = input(usr, "Please enter your message.") as text|null - custommessage = copytext(sanitize(custommessage), 1, MAX_MESSAGE_LEN) + custommessage = sanitize(copytext(custommessage, 1, MAX_MESSAGE_LEN)) //Send message if("Send") diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index cdbdfe048f..00e7554727 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -90,7 +90,7 @@ usr << "Unauthorized Access." else if(href_list["warn"]) - var/warning = copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN) + var/warning = sanitize(copytext(input(usr,"Message:","Enter your message here!",""),1,MAX_MESSAGE_LEN)) if(!warning) return var/obj/item/weapon/implant/I = locate(href_list["warn"]) if((I)&&(I.imp_in)) diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index fe109c4771..9f69c7bc1c 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -85,7 +85,7 @@ if(!istype(P)) return var/timeout = world.time + 600 - var/reason = copytext(sanitize(input(usr,"Reason:","Why do you require this item?","") as null|text),1,MAX_MESSAGE_LEN) + var/reason = sanitize(copytext(input(usr,"Reason:","Why do you require this item?","") as null|text,1,MAX_MESSAGE_LEN)) if(world.time > timeout) return if(!reason) return @@ -289,7 +289,7 @@ if(!istype(P)) return var/timeout = world.time + 600 - var/reason = copytext(sanitize(input(usr,"Reason:","Why do you require this item?","") as null|text),1,MAX_MESSAGE_LEN) + var/reason = sanitize(copytext(input(usr,"Reason:","Why do you require this item?","") as null|text,1,MAX_MESSAGE_LEN)) if(world.time > timeout) return if(!reason) return diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index a2dd432d99..8569ede3fd 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -323,7 +323,7 @@ if(speed <= 0) speed = 1 if("setpath") - var/newpath = copytext(sanitize(input(usr, "Please define a new path!",,path) as text|null),1,MAX_MESSAGE_LEN) + var/newpath = sanitize(copytext(input(usr, "Please define a new path!",,path) as text|null,1,MAX_MESSAGE_LEN)) if(newpath && newpath != "") moving = 0 // stop moving path = newpath diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 16e1cc032d..56fcd1298e 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -194,7 +194,7 @@ Transponder Codes:
Command
{{:value.name}}{{:value.rank}}{{:value.active}}
Security
{{:value.name}}{{:value.rank}}{{:value.active}}
Engineering
{{:value.name}}{{:value.rank}}{{:value.active}}
Medical
{{:value.name}}{{:value.rank}}{{:value.active}}
Science
{{:value.name}}{{:value.rank}}{{:value.active}}
Civilian
{{:value.name}}{{:value.rank}}{{:value.active}}
Misc
{{:value.name}}{{:value.rank}}{{:value.active}}
" - for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs) - index++ - if(index > 3000) - break - // Del - Sender - Recepient - Message - // X - Al Green - Your Mom - WHAT UP!? - dat += "" - dat += "
XSenderRecipientMessage
X
[pda.sender][pda.recipient][pda.message]
" - //Hacking screen. - if(2) - if(istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) - dat += "Brute-forcing for server key.
It will take 20 seconds for every character that the password has." - dat += "In the meantime, this console can reveal your true intentions if you let someone access it. Make sure no humans enter the room during that time." - else - //It's the same message as the one above but in binary. Because robots understand binary and humans don't... well I thought it was clever. - dat += {"01000010011100100111010101110100011001010010110
- 10110011001101111011100100110001101101001011011100110011
- 10010000001100110011011110111001000100000011100110110010
- 10111001001110110011001010111001000100000011010110110010
- 10111100100101110001000000100100101110100001000000111011
- 10110100101101100011011000010000001110100011000010110101
- 10110010100100000001100100011000000100000011100110110010
- 10110001101101111011011100110010001110011001000000110011
- 00110111101110010001000000110010101110110011001010111001
- 00111100100100000011000110110100001100001011100100110000
- 10110001101110100011001010111001000100000011101000110100
- 00110000101110100001000000111010001101000011001010010000
- 00111000001100001011100110111001101110111011011110111001
- 00110010000100000011010000110000101110011001011100010000
- 00100100101101110001000000111010001101000011001010010000
- 00110110101100101011000010110111001110100011010010110110
- 10110010100101100001000000111010001101000011010010111001
- 10010000001100011011011110110111001110011011011110110110
- 00110010100100000011000110110000101101110001000000111001
- 00110010101110110011001010110000101101100001000000111100
- 10110111101110101011100100010000001110100011100100111010
- 10110010100100000011010010110111001110100011001010110111
- 00111010001101001011011110110111001110011001000000110100
- 10110011000100000011110010110111101110101001000000110110
- 00110010101110100001000000111001101101111011011010110010
- 10110111101101110011001010010000001100001011000110110001
- 10110010101110011011100110010000001101001011101000010111
- 00010000001001101011000010110101101100101001000000111001
- 10111010101110010011001010010000001101110011011110010000
- 00110100001110101011011010110000101101110011100110010000
- 00110010101101110011101000110010101110010001000000111010
- 00110100001100101001000000111001001101111011011110110110
- 10010000001100100011101010111001001101001011011100110011
- 10010000001110100011010000110000101110100001000000111010
- 001101001011011010110010100101110"} - - //Fake messages - if(3) - dat += "
Back - Reset

" - - dat += {" - - - - "} - //Sender - Sender's Job - Recepient - Message - //Al Green- Your Dad - Your Mom - WHAT UP!? - - dat += {" - - - "} - dat += "
SenderSender's JobRecipientMessage
[customsender][customjob][customrecepient ? customrecepient.owner : "NONE"][custommessage]

Send" - - //Request Console Logs - if(4) - - var/index = 0 - /* data_rc_msg - X - 5% - var/rec_dpt = "Unspecified" //name of the person - 15% - var/send_dpt = "Unspecified" //name of the sender- 15% - var/message = "Blank" //transferred message - 300px - var/stamp = "Unstamped" - 15% - var/id_auth = "Unauthenticated" - 15% - var/priority = "Normal" - 10% - */ - dat += "
Back - Refresh

" - dat += {" - "} - for(var/datum/data_rc_msg/rc in src.linkedServer.rc_msgs) - index++ - if(index > 3000) - break - // Del - Sender - Recepient - Message - // X - Al Green - Your Mom - WHAT UP!? - dat += {" - "} - dat += "
XSending Dep.Receiving Dep.MessageStampID Auth.Priority.
X
[rc.send_dpt][rc.rec_dpt][rc.message][rc.stamp][rc.id_auth][rc.priority]
" - - - popup.width = 700 - popup.height = 700 - popup.set_content(dat) - popup.set_title_image(usr.browse_rsc_icon(computer.icon, computer.icon_state)) - popup.open() - return - - - proc/BruteForce(mob/usr as mob) - if(isnull(linkedServer)) - usr << "Could not complete brute-force: Linked Server Disconnected!" - else - var/currentKey = src.linkedServer.decryptkey - usr << "Brute-force completed! The key is '[currentKey]'." - src.hacking = 0 - src.active_state = normal_icon - src.screen = 0 // Return the screen back to normal - - proc/UnmagConsole() - src.active_state = normal_icon - src.emag = 0 - - proc/ResetMessage() - customsender = "System Administrator" - customrecepient = null - custommessage = "This is a test, please ignore." - customjob = "Admin" - - Topic(var/href, var/list/href_list) - if(!interactable() || ..(href,href_list)) - return - - if ("auth" in href_list) - if(auth) - auth = 0 - screen = 0 - else - var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null) - if(dkey && dkey != "") - if(src.linkedServer.decryptkey == dkey) - auth = 1 - else - message = incorrectkey - - //Turn the server on/off. - if ("active" in href_list) - if(auth) linkedServer.active = !linkedServer.active - //Find a server - if ("find" in href_list) - if(message_servers && message_servers.len > 1) - src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in message_servers - message = "NOTICE: Server selected." - else if(message_servers && message_servers.len > 0) - linkedServer = message_servers[1] - message = "NOTICE: Only Single Server Detected - Server selected." - else - message = noserver - - //View the logs - KEY REQUIRED - if ("view" in href_list) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 1 - - //Clears the logs - KEY REQUIRED - if ("clear" in href_list) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.linkedServer.pda_msgs = list() - message = "NOTICE: Logs cleared." - //Clears the request console logs - KEY REQUIRED - if ("clearr" in href_list) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.linkedServer.rc_msgs = list() - message = "NOTICE: Logs cleared." - //Change the password - KEY REQUIRED - if ("pass" in href_list) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - var/dkey = trim(input(usr, "Please enter the decryption key.") as text|null) - if(dkey && dkey != "") - if(src.linkedServer.decryptkey == dkey) - var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):")) - if(length(newkey) <= 3) - message = "NOTICE: Decryption key too short!" - else if(length(newkey) > 16) - message = "NOTICE: Decryption key too long!" - else if(newkey && newkey != "") - src.linkedServer.decryptkey = newkey - message = "NOTICE: Decryption key set." - else - message = incorrectkey - - //Hack the Console to get the password - if ("hack" in href_list) - if((istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) && (usr.mind.special_role && usr.mind.original == usr)) - src.hacking = 1 - src.screen = 2 - src.active_state = hack_icon - //Time it takes to bruteforce is dependant on the password length. - spawn(100*length(src.linkedServer.decryptkey)) - if(src && src.linkedServer && usr) - BruteForce(usr) - //Delete the log. - if ("delete" in href_list) - //Are they on the view logs screen? - if(screen == 1) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else //if(istype(href_list["delete"], /datum/data_pda_msg)) - src.linkedServer.pda_msgs -= locate(href_list["delete"]) - message = "NOTICE: Log Deleted!" - //Delete the request console log. - if ("deleter" in href_list) - //Are they on the view logs screen? - if(screen == 4) - if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else //if(istype(href_list["delete"], /datum/data_pda_msg)) - src.linkedServer.rc_msgs -= locate(href_list["deleter"]) - message = "NOTICE: Log Deleted!" - //Create a custom message - if ("msg" in href_list) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 3 - //Fake messaging selection - KEY REQUIRED - if ("select" in href_list) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - screen = 0 - else - switch(href_list["select"]) - - //Reset - if("Reset") - ResetMessage() - - //Select Your Name - if("Sender") - customsender = input(usr, "Please enter the sender's name.") as text|null - - //Select Receiver - if("Recepient") - //Get out list of viable PDAs - var/list/obj/item/device/pda/sendPDAs = list() - for(var/obj/item/device/pda/P in PDAs) - if(!P.owner || P.toff || P.hidden) continue - sendPDAs += P - if(PDAs && PDAs.len > 0) - customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortAtom(sendPDAs) - else - customrecepient = null - - - //Enter custom job - if("RecJob") - customjob = input(usr, "Please enter the sender's job.") as text|null - - //Enter message - if("Message") - custommessage = input(usr, "Please enter your message.") as text|null - custommessage = copytext(sanitize(custommessage), 1, MAX_MESSAGE_LEN) - - //Send message - if("Send") - - if(isnull(customsender) || customsender == "") - customsender = "UNKNOWN" - - if(isnull(customrecepient)) - message = "NOTICE: No recepient selected!" - return src.attack_hand(usr) - - if(isnull(custommessage) || custommessage == "") - message = "NOTICE: No message entered!" - return src.attack_hand(usr) - - var/obj/item/device/pda/PDARec = null - for (var/obj/item/device/pda/P in PDAs) - if (!P.owner || P.toff || P.hidden) continue - if(P.owner == customsender) - PDARec = P - //Sender isn't faking as someone who exists - if(isnull(PDARec)) - src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[custommessage]") - customrecepient.tnote += "← From
[customsender] ([customjob]):
[custommessage]
" - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, customrecepient.loc)) - O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - H << "\icon[customrecepient] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)" - log_pda("[usr] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]") - customrecepient.overlays.Cut() - customrecepient.overlays += image('icons/obj/pda.dmi', "pda-r") - //Sender is faking as someone who exists - else - src.linkedServer.send_pda_message("[customrecepient.owner]", "[PDARec.owner]","[custommessage]") - customrecepient.tnote += "← From [PDARec.owner] ([customjob]):
[custommessage]
" - if (!customrecepient.silent) - playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, customrecepient.loc)) - O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) - if( customrecepient.loc && ishuman(customrecepient.loc) ) - var/mob/living/carbon/human/H = customrecepient.loc - H << "\icon[customrecepient] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)" - log_pda("[usr] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]") - customrecepient.overlays.Cut() - customrecepient.overlays += image('icons/obj/pda.dmi', "pda-r") - //Finally.. - ResetMessage() - - //Request Console Logs - KEY REQUIRED - if("viewr" in href_list) - if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else - if(auth) - src.screen = 4 - - //usr << href_list["select"] - - if ("back" in href_list) - src.screen = 0 - interact() \ No newline at end of file diff --git a/code/WorkInProgress/computer3/computers/prisonshuttle.dm b/code/WorkInProgress/computer3/computers/prisonshuttle.dm deleted file mode 100644 index f6f246e578..0000000000 --- a/code/WorkInProgress/computer3/computers/prisonshuttle.dm +++ /dev/null @@ -1,242 +0,0 @@ -//Config stuff -#define PRISON_MOVETIME 150 //Time to station is milliseconds. -#define PRISON_STATION_AREATYPE "/area/shuttle/prison/station" //Type of the prison shuttle area for station -#define PRISON_DOCK_AREATYPE "/area/shuttle/prison/prison" //Type of the prison shuttle area for dock - -var/prison_shuttle_moving_to_station = 0 -var/prison_shuttle_moving_to_prison = 0 -var/prison_shuttle_at_station = 0 -var/prison_shuttle_can_send = 1 -var/prison_shuttle_time = 0 -var/prison_shuttle_timeleft = 0 - -/obj/machinery/computer3/prison_shuttle - name = "Prison Shuttle Console" - icon = 'icons/obj/computer.dmi' - icon_state = "shuttle" - req_access = list(access_security) - circuit = "/obj/item/part/board/circuit/prison_shuttle" - var/temp = null - var/hacked = 0 - var/allowedtocall = 0 - var/prison_break = 0 - - - attackby(I as obj, user as mob) - return src.attack_hand(user) - - - attack_ai(var/mob/user as mob) - return src.attack_hand(user) - - - attack_paw(var/mob/user as mob) - return src.attack_hand(user) - - - attackby(I as obj, user as mob) - if(istype(I, /obj/item/tool/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 20)) - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - var/obj/item/part/board/circuit/prison_shuttle/M = new /obj/item/part/board/circuit/prison_shuttle( A ) - for (var/obj/C in src) - C.loc = src.loc - A.circuit = M - A.anchored = 1 - - if (src.stat & BROKEN) - user << "\blue The broken glass falls out." - new /obj/item/trash/shard( src.loc ) - A.state = 3 - A.icon_state = "3" - else - user << "\blue You disconnect the monitor." - A.state = 4 - A.icon_state = "4" - - del(src) - else if(istype(I,/obj/item/card/emag) && (!hacked)) - hacked = 1 - user << "\blue You disable the lock." - else - return src.attack_hand(user) - - - attack_hand(var/mob/user as mob) - if(!src.allowed(user) && (!hacked)) - user << "\red Access Denied." - return - if(prison_break) - user << "\red Unable to locate shuttle." - return - if(..()) - return - user.set_machine(src) - post_signal("prison") - var/dat - if (src.temp) - dat = src.temp - else - dat += {"Location: [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "Moving to station ([prison_shuttle_timeleft] Secs.)":prison_shuttle_at_station ? "Station":"Dock"]
- [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*
\n
":prison_shuttle_at_station ? "\nSend to Dock
\n
":"\nSend to Station
\n
"] - \nClose"} - - //user << browse(dat, "window=computer;size=575x450") - //onclose(user, "computer") - var/datum/browser/popup = new(user, "computer", name, 575, 450) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.open() - return - - - Topic(href, href_list) - if(..()) - return - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) - - if (href_list["sendtodock"]) - if (!prison_can_move()) - usr << "\red The prison shuttle is unable to leave." - return - if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return - post_signal("prison") - usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds." - src.temp += "Shuttle sent.

OK" - src.updateUsrDialog() - prison_shuttle_moving_to_prison = 1 - prison_shuttle_time = world.timeofday + PRISON_MOVETIME - spawn(0) - prison_process() - - else if (href_list["sendtostation"]) - if (!prison_can_move()) - usr << "\red The prison shuttle is unable to leave." - return - if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return - post_signal("prison") - usr << "\blue The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds." - src.temp += "Shuttle sent.

OK" - src.updateUsrDialog() - prison_shuttle_moving_to_station = 1 - prison_shuttle_time = world.timeofday + PRISON_MOVETIME - spawn(0) - prison_process() - - else if (href_list["mainmenu"]) - src.temp = null - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - - - proc/prison_can_move() - if(prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return 0 - else return 1 - -/* - proc/prison_break() - switch(prison_break) - if (0) - if(!prison_shuttle_at_station || prison_shuttle_moving_to_prison) return - - prison_shuttle_moving_to_prison = 1 - prison_shuttle_at_station = prison_shuttle_at_station - - if (!prison_shuttle_moving_to_prison || !prison_shuttle_moving_to_station) - prison_shuttle_time = world.timeofday + PRISON_MOVETIME - spawn(0) - prison_process() - prison_break = 1 - if(1) - prison_break = 0 -*/ - - proc/post_signal(var/command) - var/datum/radio_frequency/frequency = radio_controller.return_frequency(1311) - if(!frequency) return - var/datum/signal/status_signal = new - status_signal.source = src - status_signal.transmission_method = 1 - status_signal.data["command"] = command - frequency.post_signal(src, status_signal) - return - - - proc/prison_process() - while(prison_shuttle_time - world.timeofday > 0) - var/ticksleft = prison_shuttle_time - world.timeofday - - if(ticksleft > 1e5) - prison_shuttle_time = world.timeofday + 10 // midnight rollover - - prison_shuttle_timeleft = (ticksleft / 10) - sleep(5) - prison_shuttle_moving_to_station = 0 - prison_shuttle_moving_to_prison = 0 - - switch(prison_shuttle_at_station) - - if(0) - prison_shuttle_at_station = 1 - if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return - - if (!prison_can_move()) - usr << "\red The prison shuttle is unable to leave." - return - - var/area/start_location = locate(/area/shuttle/prison/prison) - var/area/end_location = locate(/area/shuttle/prison/station) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs += T - if(T.y < throwy) - throwy = T.y - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - start_location.move_contents_to(end_location) - - if(1) - prison_shuttle_at_station = 0 - if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return - - if (!prison_can_move()) - usr << "\red The prison shuttle is unable to leave." - return - - var/area/start_location = locate(/area/shuttle/prison/station) - var/area/end_location = locate(/area/shuttle/prison/prison) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - start_location.move_contents_to(end_location) - return \ No newline at end of file diff --git a/code/WorkInProgress/computer3/computers/scanconsole.dm b/code/WorkInProgress/computer3/computers/scanconsole.dm deleted file mode 100644 index 446fb5c8ff..0000000000 --- a/code/WorkInProgress/computer3/computers/scanconsole.dm +++ /dev/null @@ -1,1267 +0,0 @@ -/obj/machinery/computer3/scan_consolenew - default_prog = /datum/file/program/dnascanner - spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/storage/removable,/obj/item/part/computer/networking/prox) - - -#define MAX_UIBLOCK 13 -#define MAX_SEBLOCK 14 - -/datum/file/program/dnascanner - name = "DNA Scanner and Manipulator" - desc = "The DNA ScaM is sure to change your life forever." - active_state = "dna" - var/obj/machinery/dna_scannernew/scanner = null - - var/ui_block = 1 - var/se_block = 1 - var/subblock = 1 - - var/uitarget = 1 - var/uitargethex = "1" - - var/radduration = 2 - var/radstrength = 1 - - var/injectorready = 0 //Quick fix for issue 286 (screwdriver the screen twice to restore injector) -Pete - - var/mode = 0 - // These keep track of the patient status - var/present = 0 - var/viable = 0 - - var/bufferlabel = "" - var/datum/dna/buffer = null - var/obj/item/part/computer/target_drive = null - - Reset() - ..() - mode = 0 - scanner = null - ui_block = 1 - se_block = 1 - subblock = 1 - buffer = null - bufferlabel = "" - - - Topic(var/href, var/list/href_list) - if(!interactable() || !computer.net || ..(href,href_list)) - return - - scanner = computer.net.connect_to(/obj/machinery/dna_scannernew, scanner) // if exists, will be verified - if(!scanner) - computer.Crash(NETWORK_FAILURE) - return - - // todo check everything goddamnit - present = scanner.occupant && scanner.occupant.dna - viable = present && !(NOCLONE in scanner.occupant.mutations) - - // current screen/function - if("mode" in href_list) - mode = text2num(href_list["mode"]) - // locks scanner door - if("lock" in href_list) - scanner.locked = !scanner.locked - - // inject good-juice - if("rejuv" in href_list) - rejuv() - - // expose to radiation, controlled otherwise - if("pulse" in href_list) - pulse(href_list["pulse"]) // ui, se, or nothing/null - - if("duration" in href_list) - var/modifier = text2num(href_list["duration"]) - radduration += modifier - if("strength" in href_list) - var/modifier = text2num(href_list["strength"]) - radstrength += modifier - - if("uiblock" in href_list) - ui_block = text2num(href_list["uiblock"]) - if("seblock" in href_list) - se_block = text2num(href_list["seblock"]) - if("subblock" in href_list) - subblock = text2num(href_list["subblock"]) - if("uitarget" in href_list) - uitarget = text2num(href_list["uitarget"]) - uitargethex = num2hex(uitarget) - - // save dna to buffer - buffer=se,ui,ue,all,clear - if("buffer" in href_list) - if(!viable) - return - var/which = href_list["buffer"] - if(!which || which == "clear") - buffer = null - else - if(!buffer) - buffer = new - if( which == "all" ) - buffer.unique_enzymes = scanner.occupant.dna.unique_enzymes - buffer.struc_enzymes = scanner.occupant.dna.struc_enzymes - buffer.uni_identity = scanner.occupant.dna.uni_identity - buffer.real_name = scanner.occupant.dna.real_name - buffer.mutantrace = scanner.occupant.dna.mutantrace - if( which == "se" ) - buffer.struc_enzymes = scanner.occupant.dna.struc_enzymes - buffer.mutantrace = scanner.occupant.dna.mutantrace - if( which == "ui" ) - buffer.uni_identity = scanner.occupant.dna.uni_identity - if( which == "ue" ) - buffer.uni_identity = scanner.occupant.dna.uni_identity - buffer.unique_enzymes = scanner.occupant.dna.unique_enzymes - buffer.real_name = scanner.occupant.dna.real_name - - // save buffer to file - - if("save" in href_list) - if(!viable || !buffer) - return - var/datum/file/data/genome/G = null - var/obj/item/part/computer/dest = device - if(target_drive) - dest = target_drive - - switch(href_list["save"]) - if("se") - if(buffer.struc_enzymes) - G = new /datum/file/data/genome/SE() - G.content = buffer.struc_enzymes - G:mutantrace = buffer.mutantrace // : not . due to inheritance - G.real_name = buffer.real_name - if("ui") - if(buffer.uni_identity) - G = new /datum/file/data/genome/UI() - G.content = buffer.uni_identity - G.real_name = buffer.real_name - if("ue") - if(buffer.uni_identity) - G = new /datum/file/data/genome/UI/UE() - G.content = buffer.uni_identity - G.real_name = buffer.real_name - if(G && dest) - var/label = input(usr, "Enter a filename:", "Save file", buffer.real_name) as text - G.name = G.name + "([label])" - dest:addfile(G) - - // load buffer from file - if("load" in href_list) - var/datum/file/data/genome/G = locate(href_list["load"]) - if(G) - if(!buffer) - buffer = new - switch(G.type) - if(/datum/file/data/genome/SE) - buffer.struc_enzymes = G.content - buffer.mutantrace = G:mutantrace - if(/datum/file/data/genome/UI/UE) - buffer.uni_identity = G.content - buffer.real_name = G.real_name - buffer.unique_enzymes = md5(buffer.real_name) - if(/datum/file/data/genome/UI) - buffer.uni_identity = G.content - if(/datum/file/data/genome/cloning) - var/datum/dna/record = G:record - buffer.unique_enzymes = record.unique_enzymes - buffer.struc_enzymes = record.struc_enzymes - buffer.uni_identity = record.uni_identity - buffer.real_name = record.real_name - buffer.mutantrace = record.mutantrace - - - // inject genetics into occupant - if("inject" in href_list) - if(!buffer || !viable) - return - - var/which = href_list["inject"] - var/datum/dna/target = scanner.occupant.dna - switch(which) - if("all",null) - if(buffer.struc_enzymes) - target.struc_enzymes = buffer.struc_enzymes - if(buffer.uni_identity) - target.uni_identity = buffer.uni_identity - if(buffer.real_name) - target.real_name = buffer.real_name - target.unique_enzymes = md5(target.real_name) - updateappearance(scanner.occupant,target.uni_identity) - domutcheck(scanner.occupant, scanner, 1) - if("se") - if(buffer.struc_enzymes) - target.struc_enzymes = buffer.struc_enzymes - domutcheck(scanner.occupant, scanner, 1) - if("ui") - if(buffer.uni_identity) - target.uni_identity = buffer.uni_identity - updateappearance(scanner.occupant,target.uni_identity) - if("ue") - if(buffer.uni_identity) - target.uni_identity = buffer.uni_identity - if(buffer.real_name) - target.real_name = buffer.real_name - target.unique_enzymes = md5(target.real_name) - updateappearance(scanner.occupant,target.uni_identity) - - // generate dna injector - if("generate" in href_list) - if(!buffer || !injectorready) - return - buffer.check_integrity() - var/which = href_list["generate"] - var/obj/item/weapon/dnainjector/inj - switch(which) - if("se") - inj = new(computer.loc) - inj.dnatype = "se" - inj.dna = buffer.struc_enzymes - inj.mutantrace = buffer.mutantrace - inj.name = "Structural Enzymes" - if("ui") - inj = new(computer.loc) - inj.dnatype = "ui" - inj.dna = buffer.uni_identity - inj.ue = null - inj.name = "Unique Identifiers" - if("ue") - inj = new(computer.loc) - inj.dnatype = "ui" - inj.dna = buffer.uni_identity - inj.ue = buffer.real_name - inj.name = "Unique Enzymes + Unique Identifiers" - if(inj) - injectorready = 0 - spawn(300) - injectorready = 1 - var/label = input(usr, "Enter a label", "Label [inj.name] Injector", buffer.real_name) as null|text - if(label && inj) // it's possible it was deleted before we get here, input suspends execution - inj.name += " ([label])" - - interact() - return // putting this in there to visually mark the end of topic() while I do other things - - proc/menu() - if(!present && (mode==1 || mode==2)) // require viable occupant - mode = 0 - switch(mode) - if(0) // MAIN MENU - return main_menu() - - if(1) - return ui_menu() - if(2) - return se_menu() - - if(3) - return emitter_menu() - - if(4) - return buffer_menu() - - // unified header with health data - // option to show UI,UE,SE as plaintext - proc/status_display(var/dna_summary = 0) - var/mob/living/occupant = scanner.occupant - var/status_html - if(viable) - status_html = "
Health:
[occupant.health]%
" - status_html += "
Radiation Level:
[occupant.radiation]%
" - if(ishuman(occupant)) - var/rejuvenators = round(occupant.reagents.get_reagent_amount("inaprovaline") / REJUVENATORS_MAX * 100) - status_html += "
Rejuvenators:
[occupant.reagents.get_reagent_amount("inaprovaline")] units
" - - if (dna_summary) - status_html += "
Unique Enzymes :
[uppertext(occupant.dna.unique_enzymes)]
" - status_html += "
Unique Identifier:
[occupant.dna.uni_identity]
" - status_html += "
Structural Enzymes:
[occupant.dna.struc_enzymes]
" - - var/occupant_status = "Scanner Unoccupied" - if(present) - if(!viable) - occupant_status = "Invalid DNA structure" - else - switch(occupant.stat) // obvious, see what their status is - if(0) - occupant_status = "Conscious" - if(1) - occupant_status = "Unconscious" - else - occupant_status = "DEAD" - - occupant_status = "[occupant.name] => [occupant_status]
" - var/dat = "

Scanner Status

[topic_link(src,"","Scan")]
[occupant_status][status_html]
" - if(present) - dat += topic_link(src,"lock",scanner.locked?"Unlock Scanner":"Lock Scanner") + " " + topic_link(src,"rejuv","Inject Rejuvenators") - else - dat += "[scanner.locked?"Unlock Scanner":"Lock Scanner"] Inject Rejuvenators" - return dat - - proc/main_menu() - var/dat = status_display(dna_summary = 1) - dat += "

Main Menu

" - if(present) - dat += topic_link(src,"mode=1","Modify Unique Identifier") + "
" + topic_link(src,"mode=2","Modify Structural Enzymes") + "

" - else - dat += "Modify Unique Identifier
Modify Structural Enzymes

" - dat += topic_link(src,"mode=3","Radiation Emitter Settings") + "

" + topic_link(src,"mode=4","Transfer Buffer") - return dat - - - proc/block_plus_minus(var/topicstr, var/blockval,var/min,var/max) - var/left = blockval - 1 - var/right = blockval + 1 - if(left < min) - left = max - if(right > max) - right = min - return topic_link(src,"[topicstr]=[left]","<-") + " [blockval] " + topic_link(src,"[topicstr]=[right]","->") - - - proc/getblockstring(var/ui = 0) - var/mainblock = "seblock" - var/block = se_block - var/input = scanner.occupant.dna.struc_enzymes - if(ui) - mainblock = "uiblock" - block = ui_block - input = scanner.occupant.dna.uni_identity - - var/string = "
" - var/subpos = 1 // keeps track of the current sub block - var/blockpos = 1 - - for(var/i = 1, i <= length(input), i++) // loop through each letter - - if(blockpos == block && subpos == subblock) // if the current block/subblock is selected, mark it - string += fake_link(copytext(input,i,i+1)) - else - string += topic_link(src,"[mainblock]=[blockpos];subblock=[subpos]",copytext(input,i,i+1)) - - subpos++ - if(subpos > 3) // add a line break for every block - string += "
" - subpos = 1 - blockpos++ - - string += "
" - return string - - proc/ui_menu() - if(!viable) - return "No viable occupant detected." - var/dat = topic_link(src,"mode=0","<< Main Menu") + "
" - dat += "

Modify Unique Identifier

" - dat += "
Unique Identifier:
[getblockstring(ui=1)]

" - - dat += "Selected Block: " + block_plus_minus("uiblock",ui_block,1,MAX_UIBLOCK) + "

" - dat += "Selected Sub-Block: " + block_plus_minus("subblock",subblock,1,3) + "

" - dat += "Selected Target: " + block_plus_minus("uitarget",uitarget,0,15) + "

" - dat += "Modify Block
" - dat += topic_link(src,"pulse=ui","Irradiate") + "
" - return dat - - proc/se_menu() - if(!viable) - return "No viable occupant detected." - var/dat = topic_link(src,"mode=0","<< Main Menu") + "
" - dat += "

Modify Structural Enzymes

" - dat += "
Structural Enzymes: [getblockstring(ui=0)]

" - dat += "Selected Block: " + block_plus_minus("seblock",se_block,1,MAX_SEBLOCK) + "

" - dat += "Selected Sub-Block: " + block_plus_minus("subblock",subblock,1,3) + "

" - dat += "Modify Block
" - dat += topic_link(src,"pulse=se","Irradiate") + "
" - return dat - - proc/emitter_menu() - var/dat = topic_link(src,"mode=0","<< Main Menu") + "
" - dat += "

Radiation Emitter Settings

" - if (viable) - dat += topic_link(src,"pulse","Pulse Radiation") - else - dat += fake_link("Pulse Radiation") - dat += "

" - dat += "Radiation Duration: " + block_plus_minus("duration",radduration,1,20) + "
" - dat += "Radiation Intensity: " + block_plus_minus("strength",radstrength,1,10) + "

" - return dat - - proc/buffer_menu() - - interact() - if(!interactable()) - return - popup.add_stylesheet("scannernew", 'html/browser/scannernew.css') - - if(!computer.net) - computer.Crash(MISSING_PERIPHERAL) - return - - scanner = computer.net.connect_to(/obj/machinery/dna_scannernew, scanner) // if exists, will be verified - if(!scanner) - computer.Crash(NETWORK_FAILURE) - return - - // todo check everything goddamnit - - present = scanner.occupant && scanner.occupant.dna - viable = present && !(NOCLONE in scanner.occupant.mutations) - - popup.set_content(menu()) - popup.open() - - proc/pulse(var/target as null|anything in list("ui","se")) - - //Makes sure someone is in there (And valid) before trying anything - //More than anything, this just acts as a sanity check in case the option DOES appear for whatever reason - - if(target != "ui" && target != "se") - target = null - - // transforms into the fail condition instead of having it in yet another nested if block - else if( prob(20 - (radduration / 2))) - target += "-f" - - if(!viable) - popup.set_content("No viable occupant detected.") - popup.open() - else - popup.set_content("Working ... Please wait ([radduration]) Seconds)") - popup.open() - - var/lock_state = scanner.locked - scanner.locked = 1//lock it - sleep(10*radduration) - - switch(target) - if("ui") - var/ui = scanner.occupant.dna.uni_identity - var/block = getblock(ui,ui_block,3) - var/result = "" - for(var/sb = 1; sb <=3; sb++) - var/temp = copytext(block,sb,sb+1) - if(sb == subblock) - temp = miniscramble("[uitargethex]",radstrength,radduration) - result += temp - scanner.occupant.dna.uni_identity = setblock(ui, ui_block, result,3) - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += (radstrength+radduration) - if("ui-f") - if (prob(20+radstrength)) - randmutb(scanner.occupant) - domutcheck(scanner.occupant,scanner) - else - randmuti(scanner.occupant) - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += ((radstrength*2)+radduration) - - if("se") - var/se = scanner.occupant.dna.struc_enzymes - var/targetblock = se_block - - if (!(se_block in list(2,8,10,12)) && prob (20)) // shifts the target slightly - if (se_block <= 5) - targetblock++ - else - targetblock-- - var/block = getblock(scanner.occupant.dna.struc_enzymes,targetblock,3) - - var/result = "" - for(var/sb = 1; sb <=3; sb++) - var/temp = copytext(block,sb,sb+1) - if(sb == subblock) - temp = miniscramble(temp,radstrength,radduration) - result += temp - - scanner.occupant.dna.struc_enzymes = setblock(se, se_block, result,3) - domutcheck(scanner.occupant,scanner) - scanner.occupant.radiation += (radstrength+radduration) - if("se-f") - if (prob(80-radduration)) - randmutb(scanner.occupant) - domutcheck(scanner.occupant,scanner) - else - randmuti(scanner.occupant) - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += ((radstrength*2)+radduration) - - if(null) - if (prob(95)) - if(prob(75)) - randmutb(scanner.occupant) - else - randmuti(scanner.occupant) - else - if(prob(95)) - randmutg(scanner.occupant) - else - randmuti(scanner.occupant) - scanner.occupant.radiation += ((radstrength*3)+radduration*3) - - - scanner.locked = lock_state - interact() - - proc/rejuv() - if(!viable) - popup.set_content("No viable occupant detected.") - popup.open() - var/mob/living/carbon/human/H = scanner.occupant - if(istype(H)) - var/inap = H.reagents.get_reagent_amount("inaprovaline") // oh my *god* this section was ugly before I shortened it - - if (inap < (REJUVENATORS_MAX - REJUVENATORS_INJECT)) - H.reagents.add_reagent("inaprovaline", REJUVENATORS_INJECT) - else - H.reagents.add_reagent("inaprovaline", max(REJUVENATORS_MAX - inap,0)) - -/* -/obj/machinery/computer/scan_consolenew/Topic(href, href_list) - - temp_html = null - var/temp_header_html = null - var/temp_footer_html = null - - scanner_status_html = null // Scanner status is reset each update - var/mob/living/occupant = scanner.occupant - var/viable_occupant = (occupant && occupant.dna && !(NOCLONE in occupant.mutations)) - var/mob/living/carbon/human/human_occupant = scanner.occupant - - if (href_list["screen"]) // Passing a screen is only a request, we set current_screen here but it can be overridden below if necessary - current_screen = href_list["screen"] - - if (!viable_occupant) // If there is no viable occupant only allow certain screens - var/allowed_no_occupant_screens = list("mainmenu", "radsetmenu", "buffermenu") //These are the screens which will be allowed if there's no occupant - if (!(current_screen in allowed_no_occupant_screens)) - href_list = new /list(0) // clear list of options - current_screen = "mainmenu" - - - if (!current_screen) // If no screen is set default to mainmenu - current_screen = "mainmenu" - - - if (!scanner) //Is the scanner not connected? - scanner_status_html = "ERROR: No DNA Scanner connected." - current_screen = null // blank does not exist in the switch below, so no screen will be outputted - updateUsrDialog() - return - - usr.set_machine(src) - if (href_list["locked"]) - if (scanner.occupant) - scanner.locked = !( scanner.locked ) - //////////////////////////////////////////////////////// - if (href_list["genpulse"]) - if(!viable_occupant)//Makes sure someone is in there (And valid) before trying anything - temp_html = text("No viable occupant detected.")//More than anything, this just acts as a sanity check in case the option DOES appear for whatever reason - //usr << browse(temp_html, "window=scannernew;size=550x650") - //onclose(usr, "scannernew") - popup.set_content(temp_html) - popup.open() - else - - temp_html = text("Working ... Please wait ([] Seconds)", radduration) - popup.set_content(temp_html) - popup.open() - var/lock_state = scanner.locked - scanner.locked = 1//lock it - sleep(10*radduration) - if (!scanner.occupant) - temp_html = null - return null - if (prob(95)) - if(prob(75)) - randmutb(scanner.occupant) - else - randmuti(scanner.occupant) - else - if(prob(95)) - randmutg(scanner.occupant) - else - randmuti(scanner.occupant) - scanner.occupant.radiation += ((radstrength*3)+radduration*3) - scanner.locked = lock_state - temp_html = null - dopage(src,"screen=radsetmenu") - if (href_list["radleplus"]) - if(!viable_occupant) - temp_html = text("No viable occupant detected.") - popup.set_content(temp_html) - popup.open() - if (radduration < 20) - radduration++ - radduration++ - dopage(src,"screen=radsetmenu") - if (href_list["radleminus"]) - if(!viable_occupant) - temp_html = text("No viable occupant detected.") - popup.set_content(temp_html) - popup.open() - if (radduration > 2) - radduration-- - radduration-- - dopage(src,"screen=radsetmenu") - if (href_list["radinplus"]) - if (radstrength < 10) - radstrength++ - dopage(src,"screen=radsetmenu") - if (href_list["radinminus"]) - if (radstrength > 1) - radstrength-- - dopage(src,"screen=radsetmenu") - //////////////////////////////////////////////////////// - if (href_list["unimenuplus"]) - if (ui_block < 13) - ui_block++ - else - ui_block = 1 - dopage(src,"screen=unimenu") - if (href_list["unimenuminus"]) - if (ui_block > 1) - ui_block-- - else - ui_block = 13 - dopage(src,"screen=unimenu") - if (href_list["unimenusubplus"]) - if (subblock < 3) - subblock++ - else - subblock = 1 - dopage(src,"screen=unimenu") - if (href_list["unimenusubminus"]) - if (subblock > 1) - subblock-- - else - subblock = 3 - dopage(src,"screen=unimenu") - if (href_list["unimenutargetplus"]) - if (unitarget < 15) - unitarget++ - unitargethex = unitarget - switch(unitarget) - if(10) - unitargethex = "A" - if(11) - unitargethex = "B" - if(12) - unitargethex = "C" - if(13) - unitargethex = "D" - if(14) - unitargethex = "E" - if(15) - unitargethex = "F" - else - unitarget = 0 - unitargethex = 0 - dopage(src,"screen=unimenu") - if (href_list["unimenutargetminus"]) - if (unitarget > 0) - unitarget-- - unitargethex = unitarget - switch(unitarget) - if(10) - unitargethex = "A" - if(11) - unitargethex = "B" - if(12) - unitargethex = "C" - if(13) - unitargethex = "D" - if(14) - unitargethex = "E" - else - unitarget = 15 - unitargethex = "F" - dopage(src,"screen=unimenu") - if (href_list["uimenuset"] && href_list["uimenusubset"]) // This chunk of code updates selected block / sub-block based on click - var/menuset = text2num(href_list["uimenuset"]) - var/menusubset = text2num(href_list["uimenusubset"]) - if ((menuset <= 13) && (menuset >= 1)) - ui_block = menuset - if ((menusubset <= 3) && (menusubset >= 1)) - subblock = menusubset - dopage(src, "unimenu") - if (href_list["unipulse"]) - if(scanner.occupant) - var/block - var/newblock - var/tstructure2 - block = getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),subblock,1) - - temp_html = text("Working ... Please wait ([] Seconds)", radduration) - popup.set_content(temp_html) - popup.open() - var/lock_state = scanner.locked - scanner.locked = 1//lock it - sleep(10*radduration) - if (!scanner.occupant) - temp_html = null - return null - /// - if (prob((80 + (radduration / 2)))) - block = miniscrambletarget(num2text(unitarget), radstrength, radduration) - newblock = null - if (subblock == 1) newblock = block + getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),2,1) + getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),3,1) - if (subblock == 2) newblock = getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),1,1) + block + getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),3,1) - if (subblock == 3) newblock = getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),1,1) + getblock(getblock(scanner.occupant.dna.uni_identity,ui_block,3),2,1) + block - tstructure2 = setblock(scanner.occupant.dna.uni_identity, ui_block, newblock,3) - scanner.occupant.dna.uni_identity = tstructure2 - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += (radstrength+radduration) - else - if (prob(20+radstrength)) - randmutb(scanner.occupant) - domutcheck(scanner.occupant,scanner) - else - randmuti(scanner.occupant) - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += ((radstrength*2)+radduration) - scanner.locked = lock_state - dopage(src,"screen=unimenu") - - //////////////////////////////////////////////////////// - if (href_list["rejuv"]) - if(!viable_occupant) - temp_html = text("No viable occupant detected.") - popup.set_content(temp_html) - popup.open() - else - if(human_occupant) - if (human_occupant.reagents.get_reagent_amount("inaprovaline") < REJUVENATORS_MAX) - if (human_occupant.reagents.get_reagent_amount("inaprovaline") < (REJUVENATORS_MAX - REJUVENATORS_INJECT)) - human_occupant.reagents.add_reagent("inaprovaline", REJUVENATORS_INJECT) - else - human_occupant.reagents.add_reagent("inaprovaline", round(REJUVENATORS_MAX - human_occupant.reagents.get_reagent_amount("inaprovaline"))) - //usr << text("Occupant now has [] units of rejuvenation in his/her bloodstream.", human_occupant.reagents.get_reagent_amount("inaprovaline")) - - //////////////////////////////////////////////////////// - if (href_list["strucmenuplus"]) - if (se_block < 14) - se_block++ - else - se_block = 1 - dopage(src,"screen=strucmenu") - if (href_list["strucmenuminus"]) - if (se_block > 1) - se_block-- - else - se_block = 14 - dopage(src,"screen=strucmenu") - if (href_list["strucmenusubplus"]) - if (subblock < 3) - subblock++ - else - subblock = 1 - dopage(src,"screen=strucmenu") - if (href_list["strucmenusubminus"]) - if (subblock > 1) - subblock-- - else - subblock = 3 - dopage(src,"screen=strucmenu") - if (href_list["semenuset"] && href_list["semenusubset"]) // This chunk of code updates selected block / sub-block based on click (se stands for strutural enzymes) - var/menuset = text2num(href_list["semenuset"]) - var/menusubset = text2num(href_list["semenusubset"]) - if ((menuset <= 14) && (menuset >= 1)) - se_block = menuset - if ((menusubset <= 3) && (menusubset >= 1)) - subblock = menusubset - dopage(src, "strucmenu") - if (href_list["strucpulse"]) - var/block - var/newblock - var/tstructure2 - var/oldblock - var/lock_state = scanner.locked - scanner.locked = 1//lock it - if (viable_occupant) - block = getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),subblock,1) - - temp_html = text("Working ... Please wait ([] Seconds)", radduration) - popup.set_content(temp_html) - popup.open() - sleep(10*radduration) - else - temp_html = null - return null - /// - if(viable_occupant) - if (prob((80 + (radduration / 2)))) - if ((se_block != 2 || se_block != 12 || se_block != 8 || se_block || 10) && prob (20)) - oldblock = se_block - block = miniscramble(block, radstrength, radduration) - newblock = null - if (se_block > 1 && se_block < 5) - se_block++ - else if (se_block > 5 && se_block < 14) - se_block-- - if (subblock == 1) newblock = block + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),2,1) + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),3,1) - if (subblock == 2) newblock = getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),1,1) + block + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),3,1) - if (subblock == 3) newblock = getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),1,1) + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),2,1) + block - tstructure2 = setblock(scanner.occupant.dna.struc_enzymes, se_block, newblock,3) - scanner.occupant.dna.struc_enzymes = tstructure2 - domutcheck(scanner.occupant,scanner) - scanner.occupant.radiation += (radstrength+radduration) - se_block = oldblock - else - // - block = miniscramble(block, radstrength, radduration) - newblock = null - if (subblock == 1) newblock = block + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),2,1) + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),3,1) - if (subblock == 2) newblock = getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),1,1) + block + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),3,1) - if (subblock == 3) newblock = getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),1,1) + getblock(getblock(scanner.occupant.dna.struc_enzymes,se_block,3),2,1) + block - tstructure2 = setblock(scanner.occupant.dna.struc_enzymes, se_block, newblock,3) - scanner.occupant.dna.struc_enzymes = tstructure2 - domutcheck(scanner.occupant,scanner) - scanner.occupant.radiation += (radstrength+radduration) - else - if (prob(80-radduration)) - randmutb(scanner.occupant) - domutcheck(scanner.occupant,scanner) - else - randmuti(scanner.occupant) - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - scanner.occupant.radiation += ((radstrength*2)+radduration) - scanner.locked = lock_state - /// - dopage(src,"screen=strucmenu") - - //////////////////////////////////////////////////////// - if (href_list["b1addui"]) - if(scanner.occupant && scanner.occupant.dna) - buffer1iue = 0 - buffer1 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer1owner = scanner.occupant.name - else - buffer1owner = scanner.occupant.real_name - buffer1label = "Unique Identifier" - buffer1type = "ui" - dopage(src,"screen=buffermenu") - if (href_list["b1adduiue"]) - if(scanner.occupant && scanner.occupant.dna) - buffer1 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer1owner = scanner.occupant.name - else - buffer1owner = scanner.occupant.real_name - buffer1label = "Unique Identifier & Unique Enzymes" - buffer1type = "ui" - buffer1iue = 1 - dopage(src,"screen=buffermenu") - if (href_list["b2adduiue"]) - if(scanner.occupant && scanner.occupant.dna) - buffer2 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer2owner = scanner.occupant.name - else - buffer2owner = scanner.occupant.real_name - buffer2label = "Unique Identifier & Unique Enzymes" - buffer2type = "ui" - buffer2iue = 1 - dopage(src,"screen=buffermenu") - if (href_list["b3adduiue"]) - if(scanner.occupant && scanner.occupant.dna) - buffer3 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer3owner = scanner.occupant.name - else - buffer3owner = scanner.occupant.real_name - buffer3label = "Unique Identifier & Unique Enzymes" - buffer3type = "ui" - buffer3iue = 1 - dopage(src,"screen=buffermenu") - if (href_list["b2addui"]) - if(scanner.occupant && scanner.occupant.dna) - buffer2iue = 0 - buffer2 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer2owner = scanner.occupant.name - else - buffer2owner = scanner.occupant.real_name - buffer2label = "Unique Identifier" - buffer2type = "ui" - dopage(src,"screen=buffermenu") - if (href_list["b3addui"]) - if(scanner.occupant && scanner.occupant.dna) - buffer3iue = 0 - buffer3 = scanner.occupant.dna.uni_identity - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer3owner = scanner.occupant.name - else - buffer3owner = scanner.occupant.real_name - buffer3label = "Unique Identifier" - buffer3type = "ui" - dopage(src,"screen=buffermenu") - if (href_list["b1addse"]) - if(scanner.occupant && scanner.occupant.dna) - buffer1iue = 0 - buffer1 = scanner.occupant.dna.struc_enzymes - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer1owner = scanner.occupant.name - else - buffer1owner = scanner.occupant.real_name - buffer1label = "Structural Enzymes" - buffer1type = "se" - dopage(src,"screen=buffermenu") - if (href_list["b2addse"]) - if(scanner.occupant && scanner.occupant.dna) - buffer2iue = 0 - buffer2 = scanner.occupant.dna.struc_enzymes - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer2owner = scanner.occupant.name - else - buffer2owner = scanner.occupant.real_name - buffer2label = "Structural Enzymes" - buffer2type = "se" - dopage(src,"screen=buffermenu") - if (href_list["b3addse"]) - if(scanner.occupant && scanner.occupant.dna) - buffer3iue = 0 - buffer3 = scanner.occupant.dna.struc_enzymes - if (!istype(scanner.occupant,/mob/living/carbon/human)) - buffer3owner = scanner.occupant.name - else - buffer3owner = scanner.occupant.real_name - buffer3label = "Structural Enzymes" - buffer3type = "se" - dopage(src,"screen=buffermenu") - if (href_list["b1clear"]) - buffer1 = null - buffer1owner = null - buffer1label = null - buffer1iue = null - dopage(src,"screen=buffermenu") - if (href_list["b2clear"]) - buffer2 = null - buffer2owner = null - buffer2label = null - buffer2iue = null - dopage(src,"screen=buffermenu") - if (href_list["b3clear"]) - buffer3 = null - buffer3owner = null - buffer3label = null - buffer3iue = null - dopage(src,"screen=buffermenu") - if (href_list["b1label"]) - buffer1label = sanitize(input("New Label:","Edit Label","Infos here")) - dopage(src,"screen=buffermenu") - if (href_list["b2label"]) - buffer2label = sanitize(input("New Label:","Edit Label","Infos here")) - dopage(src,"screen=buffermenu") - if (href_list["b3label"]) - buffer3label = sanitize(input("New Label:","Edit Label","Infos here")) - dopage(src,"screen=buffermenu") - if (href_list["b1transfer"]) - if (!scanner.occupant || (NOCLONE in scanner.occupant.mutations) || !scanner.occupant.dna) - return - if (buffer1type == "ui") - if (buffer1iue) - scanner.occupant.real_name = buffer1owner - scanner.occupant.name = buffer1owner - scanner.occupant.dna.uni_identity = buffer1 - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - else if (buffer1type == "se") - scanner.occupant.dna.struc_enzymes = buffer1 - domutcheck(scanner.occupant,scanner) - temp_html = "Transfered." - scanner.occupant.radiation += rand(20,50) - - if (href_list["b2transfer"]) - if (!scanner.occupant || (NOCLONE in scanner.occupant.mutations) || !scanner.occupant.dna) - return - if (buffer2type == "ui") - if (buffer2iue) - scanner.occupant.real_name = buffer2owner - scanner.occupant.name = buffer2owner - scanner.occupant.dna.uni_identity = buffer2 - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - else if (buffer2type == "se") - scanner.occupant.dna.struc_enzymes = buffer2 - domutcheck(scanner.occupant,scanner) - temp_html = "Transfered." - scanner.occupant.radiation += rand(20,50) - - if (href_list["b3transfer"]) - if (!scanner.occupant || (NOCLONE in scanner.occupant.mutations) || !scanner.occupant.dna) - return - if (buffer3type == "ui") - if (buffer3iue) - scanner.occupant.real_name = buffer3owner - scanner.occupant.name = buffer3owner - scanner.occupant.dna.uni_identity = buffer3 - updateappearance(scanner.occupant,scanner.occupant.dna.uni_identity) - else if (buffer3type == "se") - scanner.occupant.dna.struc_enzymes = buffer3 - domutcheck(scanner.occupant,scanner) - temp_html = "Transfered." - scanner.occupant.radiation += rand(20,50) - - if (href_list["b1injector"]) - if (injectorready) - var/obj/item/tool/medical/dnainjector/I = new /obj/item/tool/medical/dnainjector - I.dna = buffer1 - I.dnatype = buffer1type - I.loc = loc - I.name += " ([buffer1label])" - if (buffer1iue) I.ue = buffer1owner //lazy haw haw - temp_html = "Injector created." - - injectorready = 0 - spawn(300) - injectorready = 1 - else - temp_html = "Replicator not ready yet." - - if (href_list["b2injector"]) - if (injectorready) - var/obj/item/tool/medical/dnainjector/I = new /obj/item/tool/medical/dnainjector - I.dna = buffer2 - I.dnatype = buffer2type - I.loc = loc - I.name += " ([buffer2label])" - if (buffer2iue) I.ue = buffer2owner //lazy haw haw - temp_html = "Injector created." - - injectorready = 0 - spawn(300) - injectorready = 1 - else - temp_html = "Replicator not ready yet." - - if (href_list["b3injector"]) - if (injectorready) - var/obj/item/tool/medical/dnainjector/I = new /obj/item/tool/medical/dnainjector - I.dna = buffer3 - I.dnatype = buffer3type - I.loc = loc - I.name += " ([buffer3label])" - if (buffer3iue) I.ue = buffer3owner //lazy haw haw - temp_html = "Injector created." - - injectorready = 0 - spawn(300) - injectorready = 1 - else - temp_html = "Replicator not ready yet." - - //////////////////////////////////////////////////////// - if (href_list["load_disk"]) - var/buffernum = text2num(href_list["load_disk"]) - if ((buffernum > 3) || (buffernum < 1)) - return - if ((isnull(diskette)) || (!diskette.data) || (diskette.data == "")) - return - switch(buffernum) - if(1) - buffer1 = diskette.data - buffer1type = diskette.data_type - buffer1iue = diskette.ue - buffer1owner = diskette.owner - if(2) - buffer2 = diskette.data - buffer2type = diskette.data_type - buffer2iue = diskette.ue - buffer2owner = diskette.owner - if(3) - buffer3 = diskette.data - buffer3type = diskette.data_type - buffer3iue = diskette.ue - buffer3owner = diskette.owner - temp_html = "Data loaded." - - if (href_list["save_disk"]) - var/buffernum = text2num(href_list["save_disk"]) - if ((buffernum > 3) || (buffernum < 1)) - return - if ((isnull(diskette)) || (diskette.read_only)) - return - switch(buffernum) - if(1) - diskette.data = buffer1 - diskette.data_type = buffer1type - diskette.ue = buffer1iue - diskette.owner = buffer1owner - diskette.name = "data disk - '[buffer1owner]'" - if(2) - diskette.data = buffer2 - diskette.data_type = buffer2type - diskette.ue = buffer2iue - diskette.owner = buffer2owner - diskette.name = "data disk - '[buffer2owner]'" - if(3) - diskette.data = buffer3 - diskette.data_type = buffer3type - diskette.ue = buffer3iue - diskette.owner = buffer3owner - diskette.name = "data disk - '[buffer3owner]'" - temp_html = "Data saved." - if (href_list["eject_disk"]) - if (!diskette) - return - diskette.loc = get_turf(src) - diskette = null - //////////////////////////////////////////////////////// - - temp_html = temp_header_html - switch(current_screen) - if ("mainmenu") - temp_html += "

Main Menu

" - if (viable_occupant) //is there REALLY someone in there who can be modified? - temp_html += text("Modify Unique Identifier
", src) - temp_html += text("Modify Structural Enzymes

", src) - else - temp_html += "Modify Unique Identifier
" - temp_html += "Modify Structural Enzymes

" - temp_html += text("Radiation Emitter Settings

", src) - temp_html += text("Transfer Buffer

", src) - - if ("unimenu") - if(!viable_occupant) - temp_html = text("No viable occupant detected.") - popup.set_content(temp_html) - popup.open() - else - temp_html = "<< Main Menu
" - temp_html += "

Modify Unique Identifier

" - temp_html += "
Unique Identifier:
[getblockstring(scanner.occupant.dna.uni_identity,ui_block,subblock,3, src,1)]

" - temp_html += "Selected Block: <- [ui_block] ->

" - temp_html += "Selected Sub-Block: <- [subblock] ->

" - temp_html += "Selected Target: <- [unitargethex] ->

" - temp_html += "Modify Block
" - temp_html += "Irradiate
" - - if ("strucmenu") - if(!viable_occupant) - temp_html = text("No viable occupant detected.") - popup.set_content(temp_html) - popup.open() - else - temp_html = "<< Main Menu
" - temp_html += "

Modify Structural Enzymes

" - temp_html += "
Structural Enzymes: [getblockstring(scanner.occupant.dna.struc_enzymes,se_block,subblock,3,src,0)]

" - temp_html += "Selected Block: <- [se_block] ->

" - temp_html += "Selected Sub-Block: <- [subblock] ->

" - temp_html += "Modify Block
" - temp_html += "Irradiate
" - - if ("radsetmenu") - temp_html = "<< Main Menu
" - temp_html += "

Radiation Emitter Settings

" - if (viable_occupant) - temp_html += text("Pulse Radiation", src) - else - temp_html += "Pulse Radiation" - temp_html += "

Radiation Duration: - [radduration] +
" - temp_html += "Radiation Intensity: - [radstrength] +

" - - if ("buffermenu") - temp_html = "<< Main Menu
" - temp_html += "

Transfer Buffer

" - temp_html += "

Buffer 1:

" - if (!(buffer1)) - temp_html += "Buffer Empty
" - else - temp_html += text("Data: []
", buffer1) - temp_html += text("By: []
", buffer1owner) - temp_html += text("Label: []
", buffer1label) - if (viable_occupant) temp_html += text("Save : UI - UI+UE - SE
", src, src, src) - if (buffer1) temp_html += text("Transfer to: Occupant - Injector
", src, src) - //if (buffer1) temp_html += text("Isolate Block
", src) - if (buffer1) temp_html += "Disk: Save To | Load From
" - if (buffer1) temp_html += text("Edit Label
", src) - if (buffer1) temp_html += text("Clear Buffer

", src) - if (!buffer1) temp_html += "
" - temp_html += "

Buffer 2:

" - if (!(buffer2)) - temp_html += "Buffer Empty
" - else - temp_html += text("Data: []
", buffer2) - temp_html += text("By: []
", buffer2owner) - temp_html += text("Label: []
", buffer2label) - if (viable_occupant) temp_html += text("Save : UI - UI+UE - SE
", src, src, src) - if (buffer2) temp_html += text("Transfer to: Occupant - Injector
", src, src) - //if (buffer2) temp_html += text("Isolate Block
", src) - if (buffer2) temp_html += "Disk: Save To | Load From
" - if (buffer2) temp_html += text("Edit Label
", src) - if (buffer2) temp_html += text("Clear Buffer

", src) - if (!buffer2) temp_html += "
" - temp_html += "

Buffer 3:

" - if (!(buffer3)) - temp_html += "Buffer Empty
" - else - temp_html += text("Data: []
", buffer3) - temp_html += text("By: []
", buffer3owner) - temp_html += text("Label: []
", buffer3label) - if (viable_occupant) temp_html += text("Save : UI - UI+UE - SE
", src, src, src) - if (buffer3) temp_html += text("Transfer to: Occupant - Injector
", src, src) - //if (buffer3) temp_html += text("Isolate Block
", src) - if (buffer3) temp_html += "Disk: Save To | Load From
" - if (buffer3) temp_html += text("Edit Label
", src) - if (buffer3) temp_html += text("Clear Buffer

", src) - if (!buffer3) temp_html += "
" - temp_html += temp_footer_html - - if(viable_occupant && !scanner_status_html && occupant) //is there REALLY someone in there? - scanner_status_html = "
Health:
[occupant.health]%
" - scanner_status_html += "
Radiation Level:
[occupant.radiation]%
" - if(human_occupant) - var/rejuvenators = round(human_occupant.reagents.get_reagent_amount("inaprovaline") / REJUVENATORS_MAX * 100) - scanner_status_html += "
Rejuvenators:
[human_occupant.reagents.get_reagent_amount("inaprovaline")] units
" - - if (current_screen == "mainmenu") - scanner_status_html += "
Unique Enzymes :
[uppertext(occupant.dna.unique_enzymes)]
" - scanner_status_html += "
Unique Identifier:
[occupant.dna.uni_identity]
" - scanner_status_html += "
Structural Enzymes:
[occupant.dna.struc_enzymes]
" - - var/dat = "

Scanner Status

" - - var/occupant_status = "Scanner Unoccupied" - if(occupant && occupant.dna) //is there REALLY someone in there? - if (!istype(occupant,/mob/living/carbon/human)) - sleep(1) - if(NOCLONE in occupant.mutations) - occupant_status = "Invalid DNA structure" - else - switch(occupant.stat) // obvious, see what their status is - if(0) - occupant_status = "Conscious" - if(1) - occupant_status = "Unconscious" - else - occupant_status = "DEAD" - - occupant_status = "[occupant.name] => [occupant_status]
" - - dat += "
[occupant_status][scanner_status_html]
" - - var/scanner_access_text = "Lock Scanner" - if (scanner.locked) - scanner_access_text = "Unlock Scanner" - - dat += "Scan " - - if (occupant && occupant.dna) - dat += "[scanner_access_text] " - if (human_occupant) - dat += "Inject Rejuvenators
" - else - dat += "Inject Rejuvenators
" - else - dat += "[scanner_access_text] " - dat += "Inject Rejuvenators
" - - if (!isnull(diskette)) - dat += text("Eject Disk
", src) - - dat += "
" - - if (temp_html) - dat += temp_html - - popup.set_content(dat) - popup.open() -*/ \ No newline at end of file diff --git a/code/WorkInProgress/computer3/computers/shuttle.dm b/code/WorkInProgress/computer3/computers/shuttle.dm deleted file mode 100644 index 5d5fab6528..0000000000 --- a/code/WorkInProgress/computer3/computers/shuttle.dm +++ /dev/null @@ -1,75 +0,0 @@ -/* - This may not migrate to C3. It's basically a machine in the guise of a computer; - there is nothing interactive about it. -*/ - -/obj/machinery/computer3/shuttle - name = "Shuttle" - desc = "For shuttle control." - icon_state = "shuttle" - var/auth_need = 3.0 - var/list/authorized = list( ) - - - attackby(var/obj/item/card/W as obj, var/mob/user as mob) - if(stat & (BROKEN|NOPOWER)) return - if ((!( istype(W, /obj/item/card) ) || !( ticker ) || emergency_shuttle.location != 1 || !( user ))) return - if (istype(W, /obj/item/card/id)||istype(W, /obj/item/device/pda)) - if (istype(W, /obj/item/device/pda)) - var/obj/item/device/pda/pda = W - W = pda.id - if (!W:access) //no access - user << "The access level of [W:registered_name]\'s card is not high enough. " - return - - var/list/cardaccess = W:access - if(!istype(cardaccess, /list) || !cardaccess.len) //no access - user << "The access level of [W:registered_name]\'s card is not high enough. " - return - - if(!(access_heads in W:access)) //doesn't have this access - user << "The access level of [W:registered_name]\'s card is not high enough. " - return 0 - - var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort") - if(emergency_shuttle.location != 1 && user.get_active_hand() != W) - return 0 - switch(choice) - if("Authorize") - src.authorized -= W:registered_name - src.authorized += W:registered_name - if (src.auth_need - src.authorized.len > 0) - message_admins("[key_name_admin(user)] has authorized early shuttle launch") - log_game("[user.ckey] has authorized early shuttle launch") - world << text("\blue Alert: [] authorizations needed until shuttle is launched early", src.auth_need - src.authorized.len) - else - message_admins("[key_name_admin(user)] has launched the shuttle") - log_game("[user.ckey] has launched the shuttle early") - world << "\blue Alert: Shuttle launch time shortened to 10 seconds!" - emergency_shuttle.online = 1 - emergency_shuttle.settimeleft(10) - //src.authorized = null - del(src.authorized) - src.authorized = list( ) - - if("Repeal") - src.authorized -= W:registered_name - world << text("\blue Alert: [] authorizations needed until shuttle is launched early", src.auth_need - src.authorized.len) - - if("Abort") - world << "\blue All authorizations to shorting time for shuttle launch have been revoked!" - src.authorized.len = 0 - src.authorized = list( ) - - else if (istype(W, /obj/item/card/emag) && !emagged) - var/choice = alert(user, "Would you like to launch the shuttle?","Shuttle control", "Launch", "Cancel") - - if(!emagged && emergency_shuttle.location == 1 && user.get_active_hand() == W) - switch(choice) - if("Launch") - world << "\blue Alert: Shuttle launch time shortened to 10 seconds!" - emergency_shuttle.settimeleft( 10 ) - emagged = 1 - if("Cancel") - return - return diff --git a/code/WorkInProgress/computer3/computers/specops_shuttle.dm b/code/WorkInProgress/computer3/computers/specops_shuttle.dm deleted file mode 100644 index 81c94614cf..0000000000 --- a/code/WorkInProgress/computer3/computers/specops_shuttle.dm +++ /dev/null @@ -1,246 +0,0 @@ -//Config stuff -#define SPECOPS_MOVETIME 600 //Time to station is milliseconds. 60 seconds, enough time for everyone to be on the shuttle before it leaves. -#define SPECOPS_STATION_AREATYPE "/area/shuttle/specops/station" //Type of the spec ops shuttle area for station -#define SPECOPS_DOCK_AREATYPE "/area/shuttle/specops/centcom" //Type of the spec ops shuttle area for dock - -var/specops_shuttle_moving_to_station = 0 -var/specops_shuttle_moving_to_centcom = 0 -var/specops_shuttle_at_station = 0 -var/specops_shuttle_can_send = 1 -var/specops_shuttle_time = 0 -var/specops_shuttle_timeleft = 0 - -/obj/machinery/computer3/specops_shuttle - name = "Spec. Ops. Shuttle Console" - icon = 'icons/obj/computer.dmi' - icon_state = "shuttle" - req_access = list(access_cent_specops) - var/temp = null - var/hacked = 0 - var/allowedtocall = 0 - -/proc/specops_process() - var/area/centcom/control/cent_com = locate()//To find announcer. This area should exist for this proc to work. - var/area/centcom/specops/special_ops = locate()//Where is the specops area located? - var/mob/living/silicon/decoy/announcer = locate() in cent_com//We need a fake AI to announce some stuff below. Otherwise it will be wonky. - - var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. - var/message = "THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown. - if(announcer) - announcer.say(message) - message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD" - announcer.say(message) - - while(specops_shuttle_time - world.timeofday > 0) - var/ticksleft = specops_shuttle_time - world.timeofday - - if(ticksleft > 1e5) - specops_shuttle_time = world.timeofday + 10 // midnight rollover - specops_shuttle_timeleft = (ticksleft / 10) - - //All this does is announce the time before launch. - if(announcer) - var/rounded_time_left = round(specops_shuttle_timeleft)//Round time so that it will report only once, not in fractions. - if(rounded_time_left in message_tracker)//If that time is in the list for message announce. - message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN" - if(rounded_time_left==0) - message = "ALERT: TAKEOFF" - announcer.say(message) - message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. - //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. - - sleep(5) - - specops_shuttle_moving_to_station = 0 - specops_shuttle_moving_to_centcom = 0 - - specops_shuttle_at_station = 1 - if (specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return - - if (!specops_can_move()) - usr << "\red The Special Operations shuttle is unable to leave." - return - - //Begin Marauder launchpad. - spawn(0)//So it parallel processes it. - for(var/obj/machinery/door/poddoor/M in special_ops) - switch(M.id) - if("ASSAULT0") - spawn(10)//1 second delay between each. - M.open() - if("ASSAULT1") - spawn(20) - M.open() - if("ASSAULT2") - spawn(30) - M.open() - if("ASSAULT3") - spawn(40) - M.open() - - sleep(10) - - var/spawn_marauder[] = new() - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Marauder Entry") - spawn_marauder.Add(L) - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Marauder Exit") - var/obj/effect/portal/P = new(L.loc) - P.invisibility = 101//So it is not seen by anyone. - P.failchance = 0//So it has no fail chance when teleporting. - P.target = pick(spawn_marauder)//Where the marauder will arrive. - spawn_marauder.Remove(P.target) - - sleep(10) - - for(var/obj/machinery/mass_driver/M in special_ops) - switch(M.id) - if("ASSAULT0") - spawn(10) - M.drive() - if("ASSAULT1") - spawn(20) - M.drive() - if("ASSAULT2") - spawn(30) - M.drive() - if("ASSAULT3") - spawn(40) - M.drive() - - sleep(50)//Doors remain open for 5 seconds. - - for(var/obj/machinery/door/poddoor/M in special_ops) - switch(M.id)//Doors close at the same time. - if("ASSAULT0") - spawn(0) - M.close() - if("ASSAULT1") - spawn(0) - M.close() - if("ASSAULT2") - spawn(0) - M.close() - if("ASSAULT3") - spawn(0) - M.close() - special_ops.readyreset()//Reset firealarm after the team launched. - //End Marauder launchpad. - - var/area/start_location = locate(/area/shuttle/specops/centcom) - var/area/end_location = locate(/area/shuttle/specops/station) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - - start_location.move_contents_to(end_location) - - for(var/turf/T in get_area_turfs(end_location) ) - var/mob/M = locate(/mob) in T - M << "\red You have arrived to [station_name]. Commence operation!" - -/proc/specops_can_move() - if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return 0 - else return 1 - -/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob) - return attack_hand(user) - -/obj/machinery/computer3/specops_shuttle/attack_ai(var/mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/specops_shuttle/attack_paw(var/mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/specops_shuttle/attackby(I as obj, user as mob) - if(istype(I,/obj/item/card/emag)) - user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals." - else - return attack_hand(user) - -/obj/machinery/computer3/specops_shuttle/attack_hand(var/mob/user as mob) - if(!allowed(user)) - user << "\red Access Denied." - return - - if (sent_strike_team == 0) - usr << "\red The strike team has not yet deployed." - return - - if(..()) - return - - user.set_machine(src) - var/dat - if (temp) - dat = temp - else - dat += {" - Location: [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "Departing for [station_name] in ([specops_shuttle_timeleft] seconds.)":specops_shuttle_at_station ? "Station":"Dock"]
- [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle Offline
\n
":"\nDepart to [station_name]
\n
"] - \nClose"} - - //user << browse(dat, "window=computer;size=575x450") - //onclose(user, "computer") - var/datum/browser/popup = new(user, "computer", "Special Operations Shuttle", 575, 450) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.open() - return - -/obj/machinery/computer3/specops_shuttle/Topic(href, href_list) - if(..()) - return - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) - - if (href_list["sendtodock"]) - if(!specops_shuttle_at_station|| specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return - - usr << "\blue Central Command will not allow the Special Operations shuttle to return." - return - - else if (href_list["sendtostation"]) - if(specops_shuttle_at_station || specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) return - - if (!specops_can_move()) - usr << "\red The Special Operations shuttle is unable to leave." - return - - usr << "\blue The Special Operations shuttle will arrive on [station_name] in [(SPECOPS_MOVETIME/10)] seconds." - - temp += "Shuttle departing.

OK" - updateUsrDialog() - - var/area/centcom/specops/special_ops = locate() - if(special_ops) - special_ops.readyalert()//Trigger alarm for the spec ops area. - specops_shuttle_moving_to_station = 1 - - specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME - spawn(0) - specops_process() - - else if (href_list["mainmenu"]) - temp = null - - add_fingerprint(usr) - updateUsrDialog() - return \ No newline at end of file diff --git a/code/WorkInProgress/computer3/computers/station_alert.dm b/code/WorkInProgress/computer3/computers/station_alert.dm deleted file mode 100644 index 850bfc83c5..0000000000 --- a/code/WorkInProgress/computer3/computers/station_alert.dm +++ /dev/null @@ -1,97 +0,0 @@ -/obj/machinery/computer3/station_alert - default_prog = /datum/file/program/station_alert - spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/networking/radio) - icon_state = "frame-eng" - - -/datum/file/program/station_alert - name = "Station Alert Console" - desc = "Used to access the station's automated alert system." - active_state = "alert:0" - var/alarms = list("Fire"=list(), "Atmosphere"=list(), "Power"=list()) - - interact(mob/user) - usr.set_machine(src) - if(!interactable()) - return - var/dat = "Current Station Alerts\n" - dat += "Close

" - for (var/cat in src.alarms) - dat += text("[]
\n", cat) - var/list/L = src.alarms[cat] - if (L.len) - for (var/alarm in L) - var/list/alm = L[alarm] - var/area/A = alm[1] - var/list/sources = alm[3] - dat += "" - dat += "• " - dat += "[A.name]" - if (sources.len > 1) - dat += text(" - [] sources", sources.len) - dat += "
\n" - else - dat += "-- All Systems Nominal
\n" - dat += "
\n" - //user << browse(dat, "window=alerts") - //onclose(user, "alerts") - popup.set_content(dat) - popup.set_title_image(usr.browse_rsc_icon(computer.icon, computer.icon_state)) - popup.open() - return - - - Topic(href, href_list) - if(..()) - return - return - - - proc/triggerAlarm(var/class, area/A, var/O, var/alarmsource) - var/list/L = src.alarms[class] - for (var/I in L) - if (I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if (!(alarmsource in sources)) - sources += alarmsource - return 1 - var/obj/machinery/camera/C = null - var/list/CL = null - if (O && istype(O, /list)) - CL = O - if (CL.len == 1) - C = CL[1] - else if (O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C) ? C : O, list(alarmsource)) - return 1 - - - proc/cancelAlarm(var/class, area/A as area, obj/origin) - var/list/L = src.alarms[class] - var/cleared = 0 - for (var/I in L) - if (I == A.name) - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if (origin in srcs) - srcs -= origin - if (srcs.len == 0) - cleared = 1 - L -= I - return !cleared - - - - process() - var/active_alarms = 0 - for (var/cat in src.alarms) - var/list/L = src.alarms[cat] - if(L.len) active_alarms = 1 - if(active_alarms) - active_state = "alert:2" - else - active_state = "alert:0" - ..() - return diff --git a/code/WorkInProgress/computer3/computers/syndicate_shuttle.dm b/code/WorkInProgress/computer3/computers/syndicate_shuttle.dm deleted file mode 100644 index ccd711788b..0000000000 --- a/code/WorkInProgress/computer3/computers/syndicate_shuttle.dm +++ /dev/null @@ -1,103 +0,0 @@ -#define SYNDICATE_SHUTTLE_MOVE_TIME 240 -#define SYNDICATE_SHUTTLE_COOLDOWN 200 - -/obj/machinery/computer3/syndicate_station - name = "syndicate shuttle terminal" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list(access_syndicate) - var/area/curr_location - var/moving = 0 - var/lastMove = 0 - - -/obj/machinery/computer3/syndicate_station/New() - curr_location= locate(/area/syndicate_station/start) - - -/obj/machinery/computer3/syndicate_station/proc/syndicate_move_to(area/destination as area) - if(moving) return - if(lastMove + SYNDICATE_SHUTTLE_COOLDOWN > world.time) return - var/area/dest_location = locate(destination) - if(curr_location == dest_location) return - - moving = 1 - lastMove = world.time - - if(curr_location.z != dest_location.z) - var/area/transit_location = locate(/area/syndicate_station/transit) - curr_location.move_contents_to(transit_location) - curr_location = transit_location - sleep(SYNDICATE_SHUTTLE_MOVE_TIME) - - curr_location.move_contents_to(dest_location) - curr_location = dest_location - moving = 0 - return 1 - - -/obj/machinery/computer3/syndicate_station/attackby(obj/item/I as obj, mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_station/attack_ai(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_station/attack_paw(mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_station/attack_hand(mob/user as mob) - if(!allowed(user)) - user << "\red Access Denied" - return - - user.set_machine(src) - - var/dat = {"Location: [curr_location]
- Ready to move[max(lastMove + SYNDICATE_SHUTTLE_COOLDOWN - world.time, 0) ? " in [max(round((lastMove + SYNDICATE_SHUTTLE_COOLDOWN - world.time) * 0.1), 0)] seconds" : ": now"]
- Syndicate Space
- North West of SS13 | - North of SS13 | - North East of SS13
- South West of SS13 | - South of SS13 | - South East of SS13
- North East of the Mining Asteroid
- Close"} - - user << browse(dat, "window=computer;size=575x450") - onclose(user, "computer") - return - - -/obj/machinery/computer3/syndicate_station/Topic(href, href_list) - if(!isliving(usr)) return - var/mob/living/user = usr - - if(in_range(src, user) || istype(user, /mob/living/silicon)) - user.set_machine(src) - - if(href_list["syndicate"]) - syndicate_move_to(/area/syndicate_station/start) - else if(href_list["station_nw"]) - syndicate_move_to(/area/syndicate_station/northwest) - else if(href_list["station_n"]) - syndicate_move_to(/area/syndicate_station/north) - else if(href_list["station_ne"]) - syndicate_move_to(/area/syndicate_station/northeast) - else if(href_list["station_sw"]) - syndicate_move_to(/area/syndicate_station/southwest) - else if(href_list["station_s"]) - syndicate_move_to(/area/syndicate_station/south) - else if(href_list["station_se"]) - syndicate_move_to(/area/syndicate_station/southeast) -// else if(href_list["commssat"]) -// syndicate_move_to(/area/syndicate_station/commssat) - else if(href_list["mining"]) - syndicate_move_to(/area/syndicate_station/mining) - - add_fingerprint(usr) - updateUsrDialog() - return - -/obj/machinery/computer3/syndicate_station/bullet_act(var/obj/item/projectile/Proj) - visible_message("[Proj] ricochets off [src]!") //let's not let them fuck themselves in the rear \ No newline at end of file diff --git a/code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm b/code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm deleted file mode 100644 index 61dc0ba975..0000000000 --- a/code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm +++ /dev/null @@ -1,259 +0,0 @@ -//Config stuff -#define SYNDICATE_ELITE_MOVETIME 600 //Time to station is deciseconds. 60 seconds, enough time for everyone to be on the shuttle before it leaves. -#define SYNDICATE_ELITE_STATION_AREATYPE "/area/shuttle/syndicate_elite/station" //Type of the spec ops shuttle area for station -#define SYNDICATE_ELITE_DOCK_AREATYPE "/area/shuttle/syndicate_elite/mothership" //Type of the spec ops shuttle area for dock - -var/syndicate_elite_shuttle_moving_to_station = 0 -var/syndicate_elite_shuttle_moving_to_mothership = 0 -var/syndicate_elite_shuttle_at_station = 0 -var/syndicate_elite_shuttle_can_send = 1 -var/syndicate_elite_shuttle_time = 0 -var/syndicate_elite_shuttle_timeleft = 0 - -/obj/machinery/computer3/syndicate_elite_shuttle - name = "Elite Syndicate Squad Shuttle Console" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list(access_cent_specops) - var/temp = null - var/hacked = 0 - var/allowedtocall = 0 - -/proc/syndicate_elite_process() - var/area/syndicate_mothership/control/syndicate_ship = locate()//To find announcer. This area should exist for this proc to work. - var/area/syndicate_mothership/elite_squad/elite_squad = locate()//Where is the specops area located? - var/mob/living/silicon/decoy/announcer = locate() in syndicate_ship//We need a fake AI to announce some stuff below. Otherwise it will be wonky. - - var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. - var/message = "THE SYNDICATE ELITE SHUTTLE IS PREPARING FOR LAUNCH"//Initial message shown. - if(announcer) - announcer.say(message) - // message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD" - // announcer.say(message) - - while(syndicate_elite_shuttle_time - world.timeofday > 0) - var/ticksleft = syndicate_elite_shuttle_time - world.timeofday - - if(ticksleft > 1e5) - syndicate_elite_shuttle_time = world.timeofday // midnight rollover - syndicate_elite_shuttle_timeleft = (ticksleft / 10) - - //All this does is announce the time before launch. - if(announcer) - var/rounded_time_left = round(syndicate_elite_shuttle_timeleft)//Round time so that it will report only once, not in fractions. - if(rounded_time_left in message_tracker)//If that time is in the list for message announce. - message = "ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN" - if(rounded_time_left==0) - message = "ALERT: TAKEOFF" - announcer.say(message) - message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle. - //Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that. - - sleep(5) - - syndicate_elite_shuttle_moving_to_station = 0 - syndicate_elite_shuttle_moving_to_mothership = 0 - - syndicate_elite_shuttle_at_station = 1 - if (syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return - - if (!syndicate_elite_can_move()) - usr << "\red The Syndicate Elite shuttle is unable to leave." - return - - sleep(600) -/* - //Begin Marauder launchpad. - spawn(0)//So it parallel processes it. - for(var/obj/machinery/door/poddoor/M in elite_squad) - switch(M.id) - if("ASSAULT0") - spawn(10)//1 second delay between each. - M.open() - if("ASSAULT1") - spawn(20) - M.open() - if("ASSAULT2") - spawn(30) - M.open() - if("ASSAULT3") - spawn(40) - M.open() - - sleep(10) - - var/spawn_marauder[] = new() - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Marauder Entry") - spawn_marauder.Add(L) - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Marauder Exit") - var/obj/effect/portal/P = new(L.loc) - P.invisibility = 101//So it is not seen by anyone. - P.failchance = 0//So it has no fail chance when teleporting. - P.target = pick(spawn_marauder)//Where the marauder will arrive. - spawn_marauder.Remove(P.target) - - sleep(10) - - for(var/obj/machinery/mass_driver/M in elite_squad) - switch(M.id) - if("ASSAULT0") - spawn(10) - M.drive() - if("ASSAULT1") - spawn(20) - M.drive() - if("ASSAULT2") - spawn(30) - M.drive() - if("ASSAULT3") - spawn(40) - M.drive() - - sleep(50)//Doors remain open for 5 seconds. - - for(var/obj/machinery/door/poddoor/M in elite_squad) - switch(M.id)//Doors close at the same time. - if("ASSAULT0") - spawn(0) - M.close() - if("ASSAULT1") - spawn(0) - M.close() - if("ASSAULT2") - spawn(0) - M.close() - if("ASSAULT3") - spawn(0) - M.close() - */ - elite_squad.readyreset()//Reset firealarm after the team launched. - //End Marauder launchpad. -/* - var/obj/explosionmarker = locate("Syndicate Breach Area") - if(explosionmarker) - var/turf/simulated/T = explosionmarker.loc - if(T) - explosion(T,4,6,8,10,0) - - sleep(40) -// proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1) - -*/ - var/area/start_location = locate(/area/shuttle/syndicate_elite/mothership) - var/area/end_location = locate(/area/shuttle/syndicate_elite/station) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs = T - if(T.y < throwy) - throwy = T.y - - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - - start_location.move_contents_to(end_location) - - for(var/turf/T in get_area_turfs(end_location) ) - var/mob/M = locate(/mob) in T - M << "\red You have arrived to [station_name]. Commence operation!" - -/proc/syndicate_elite_can_move() - if(syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return 0 - else return 1 - -/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_elite_shuttle/attack_ai(var/mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_elite_shuttle/attack_paw(var/mob/user as mob) - return attack_hand(user) - -/obj/machinery/computer3/syndicate_elite_shuttle/attackby(I as obj, user as mob) - if(istype(I,/obj/item/card/emag)) - user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals." - else - return attack_hand(user) - -/obj/machinery/computer3/syndicate_elite_shuttle/attack_hand(var/mob/user as mob) - if(!allowed(user)) - user << "\red Access Denied." - return - -// if (sent_syndicate_strike_team == 0) -// usr << "\red The strike team has not yet deployed." -// return - - if(..()) - return - - user.set_machine(src) - var/dat - if (temp) - dat = temp - else - dat = {"Location: [syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership ? "Departing for [station_name] in ([syndicate_elite_shuttle_timeleft] seconds.)":syndicate_elite_shuttle_at_station ? "Station":"Dock"]
- [syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership ? "\n*The Syndicate Elite shuttle is already leaving.*
\n
":syndicate_elite_shuttle_at_station ? "\nShuttle Offline
\n
":"\nDepart to [station_name]
\n
"] - \nClose"} - - //user << browse(dat, "window=computer;size=575x450") - //onclose(user, "computer") - var/datum/browser/popup = new(user, "computer", "Special Operations Shuttle", 575, 450) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.open() - return - -/obj/machinery/computer3/syndicate_elite_shuttle/Topic(href, href_list) - if(..()) - return - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) - - if (href_list["sendtodock"]) - if(!syndicate_elite_shuttle_at_station|| syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return - - usr << "\blue The Syndicate will not allow the Elite Squad shuttle to return." - return - - else if (href_list["sendtostation"]) - if(syndicate_elite_shuttle_at_station || syndicate_elite_shuttle_moving_to_station || syndicate_elite_shuttle_moving_to_mothership) return - - if (!specops_can_move()) - usr << "\red The Syndicate Elite shuttle is unable to leave." - return - - usr << "\blue The Syndicate Elite shuttle will arrive on [station_name] in [(SYNDICATE_ELITE_MOVETIME/10)] seconds." - - temp = "Shuttle departing.

OK" - updateUsrDialog() - - var/area/syndicate_mothership/elite_squad/elite_squad = locate() - if(elite_squad) - elite_squad.readyalert()//Trigger alarm for the spec ops area. - syndicate_elite_shuttle_moving_to_station = 1 - - syndicate_elite_shuttle_time = world.timeofday + SYNDICATE_ELITE_MOVETIME - spawn(0) - syndicate_elite_process() - - - else if (href_list["mainmenu"]) - temp = null - - add_fingerprint(usr) - updateUsrDialog() - return \ No newline at end of file diff --git a/code/WorkInProgress/computer3/test_machines.dm b/code/WorkInProgress/computer3/test_machines.dm deleted file mode 100644 index 998937e634..0000000000 --- a/code/WorkInProgress/computer3/test_machines.dm +++ /dev/null @@ -1,86 +0,0 @@ - -/obj/machinery/computer3/testing - spawn_files = list(/datum/file/program/aifixer,/datum/file/program/arcade,/datum/file/program/atmos_alert, - /datum/file/program/security,/datum/file/program/card_comp, - /datum/file/program/borg_control,/datum/file/program/holodeck, /datum/file/program/communications, - /datum/file/program/crew,/datum/file/program/op_monitor, /datum/file/program/powermon, - - /datum/file/camnet_key,/datum/file/camnet_key/mining,/datum/file/camnet_key/entertainment,/datum/file/camnet_key/research, - /datum/file/camnet_key/bombrange,/datum/file/camnet_key/xeno,/datum/file/camnet_key/singulo,/datum/file/camnet_key/prison) - spawn_parts = list(/obj/item/part/computer/storage/hdd/big,/obj/item/part/computer/storage/removable,/obj/item/part/computer/ai_holder, - /obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/networking/cameras, - /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) - New(var/L,var/built=0) - if(!built && !battery) - battery = new /obj/item/weapon/cell(src) - ..(L,built) - -/obj/machinery/computer3/laptop/testing - spawn_files = list(/datum/file/program/aifixer,/datum/file/program/arcade,/datum/file/program/atmos_alert, - /datum/file/program/security,/datum/file/program/card_comp, - /datum/file/program/borg_control,/datum/file/program/holodeck, /datum/file/program/communications, - /datum/file/program/crew,/datum/file/program/op_monitor, /datum/file/program/powermon, - - /datum/file/camnet_key,/datum/file/camnet_key/mining,/datum/file/camnet_key/entertainment,/datum/file/camnet_key/research, - /datum/file/camnet_key/bombrange,/datum/file/camnet_key/xeno,/datum/file/camnet_key/singulo,/datum/file/camnet_key/prison) - spawn_parts = list(/obj/item/part/computer/storage/hdd/big,/obj/item/part/computer/storage/removable,/obj/item/part/computer/ai_holder, - /obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/networking/cameras, - /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) - New(var/L,var/built=0) - if(!built && !battery) - battery = new /obj/item/weapon/cell/super(src) - ..(L,built) - -/obj/machinery/computer3/wall_comp/testing - spawn_files = list(/datum/file/program/aifixer,/datum/file/program/arcade,/datum/file/program/atmos_alert, - /datum/file/program/security,/datum/file/program/card_comp, - /datum/file/program/borg_control,/datum/file/program/holodeck, /datum/file/program/communications, - /datum/file/program/crew,/datum/file/program/op_monitor, /datum/file/program/powermon, - - /datum/file/camnet_key,/datum/file/camnet_key/mining,/datum/file/camnet_key/entertainment,/datum/file/camnet_key/research, - /datum/file/camnet_key/bombrange,/datum/file/camnet_key/xeno,/datum/file/camnet_key/singulo,/datum/file/camnet_key/prison) - spawn_parts = list(/obj/item/part/computer/storage/hdd/big,/obj/item/part/computer/storage/removable,/obj/item/part/computer/ai_holder, - /obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/networking/cameras, - /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) - New(var/L,var/built=0) - if(!built && !battery) - battery = new /obj/item/weapon/cell(src) - ..(L,built) - -/obj/machinery/computer3/server/testing - spawn_files = list(/datum/file/program/aifixer,/datum/file/program/arcade,/datum/file/program/atmos_alert, - /datum/file/program/security,/datum/file/program/card_comp, - /datum/file/program/borg_control,/datum/file/program/holodeck, /datum/file/program/communications, - /datum/file/program/crew,/datum/file/program/op_monitor, /datum/file/program/powermon, - - /datum/file/camnet_key,/datum/file/camnet_key/mining,/datum/file/camnet_key/entertainment,/datum/file/camnet_key/research, - /datum/file/camnet_key/bombrange,/datum/file/camnet_key/xeno,/datum/file/camnet_key/singulo,/datum/file/camnet_key/prison) - spawn_parts = list(/obj/item/part/computer/storage/hdd/big,/obj/item/part/computer/storage/removable,/obj/item/part/computer/ai_holder, - /obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/networking/cameras, - /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) - New(var/L,var/built=0) - if(!built && !battery) - battery = new /obj/item/weapon/cell(src) - ..(L,built) - -/obj/machinery/computer3/server/rack/testing - spawn_files = list(/datum/file/program/aifixer,/datum/file/program/arcade,/datum/file/program/atmos_alert, - /datum/file/program/security,/datum/file/program/card_comp, - /datum/file/program/borg_control,/datum/file/program/holodeck, /datum/file/program/communications, - /datum/file/program/crew,/datum/file/program/op_monitor, /datum/file/program/powermon, - - /datum/file/camnet_key,/datum/file/camnet_key/mining,/datum/file/camnet_key/entertainment,/datum/file/camnet_key/research, - /datum/file/camnet_key/bombrange,/datum/file/camnet_key/xeno,/datum/file/camnet_key/singulo,/datum/file/camnet_key/prison) - spawn_parts = list(/obj/item/part/computer/storage/hdd/big,/obj/item/part/computer/storage/removable,/obj/item/part/computer/ai_holder, - /obj/item/part/computer/networking/radio/subspace,/obj/item/part/computer/networking/cameras, - /obj/item/part/computer/cardslot/dual,/obj/item/part/computer/networking/area) - New(var/L,var/built=0) - if(!built && !battery) - battery = new /obj/item/weapon/cell(src) - ..(L,built) - -/obj/item/weapon/storage/box/testing_disks - New() - ..() - for(var/typekey in typesof(/obj/item/weapon/disk/file) - /obj/item/weapon/disk/file) - new typekey(src) \ No newline at end of file diff --git a/code/WorkInProgress/computer3/upload/lawfile.dm b/code/WorkInProgress/computer3/upload/lawfile.dm deleted file mode 100644 index 7fcbac0066..0000000000 --- a/code/WorkInProgress/computer3/upload/lawfile.dm +++ /dev/null @@ -1,29 +0,0 @@ -/* - Computer3 law changes: - - * Laws are a file type - * Connecting to the AI requires a network connection - * Connecting to a borg requires a radio or network. - -*/ - -/datum/file/ai_law - var/list/hacklaws = null - var/zerolaw = null - var/list/corelaws = null - var/list/auxlaws = null - - var/configurable = 0 - - // override this when you need to be able to alter the parameters of the lawset - proc/configure() - return - - execute(var/datum/file/program/source) - if(istype(usr,/mob/living/silicon)) - return - if(istype(source,/datum/file/program/ntos)) - if(configurable) - configure() - return - if(istype(source,/datum/file/program/upload/ai)) \ No newline at end of file diff --git a/code/WorkInProgress/computer3/upload/programs.dm b/code/WorkInProgress/computer3/upload/programs.dm deleted file mode 100644 index bcf45159b6..0000000000 --- a/code/WorkInProgress/computer3/upload/programs.dm +++ /dev/null @@ -1,13 +0,0 @@ -/* - Note that as with existing ai upload, this is not an interactive program. - That means that the work is done in execute() rather than interact() -*/ - -/datum/file/program/upload/ai - execute(var/datum/file/program/source) - if(!interactable() || istype(usr,/mob/living/silicon)) - return 0 - if(!computer.net) - usr << "An indecipherable set of code flicks across the screen. Nothing else happens." - return - var/list/results = computer.net.get_machines \ No newline at end of file diff --git a/code/WorkInProgress/kilakk/responseteam.dm b/code/WorkInProgress/kilakk/responseteam.dm deleted file mode 100644 index 8e0cdbc638..0000000000 --- a/code/WorkInProgress/kilakk/responseteam.dm +++ /dev/null @@ -1,254 +0,0 @@ -// emergency response teams -// work in progress - -var/const/members_possible = 5 -var/const/members_required = 1 // We need at least *one* person ;_; -var/global/admin_emergency_team = 0 // Used for admin-spawned response teams -// 'sent_response_team' for automagic response teams - -/client/proc/response_team() - set name = "Dispatch Emergency Response Team" - set category = "Special Verbs" - set desc = "Send an emergency response team to the station" - - if(!holder) - usr << "\red Only administrators may use this command." - return - if(!ticker) - usr << "\red The game hasn't started yet!" - return - if(ticker.current_state == GAME_STATE_PREGAME) - usr << "\red The round hasn't started yet!" - return - if(admin_emergency_team || send_emergency_team) - usr << "\red Central Command has already dispatched an emergency response team!" - return - if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes") - return - if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red - switch(alert("The station has not entered code red recently. Do you still want to dispatch a response team?",,"Yes","No")) - if("No") - return - - var/situation = null - while(!situation) - situation = copytext(sanitize(input(src, "Please specify the mission the emergency response team will undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN) - if(!situation) - if(alert("You haven't specified a mission. Exit the setup process?",,"No","Yes")=="Yes") - return - - if(admin_emergency_team || send_emergency_team) - usr << "\red Looks like somebody beat you to it!" - return - - admin_emergency_team = 1 - message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1) - log_admin("[key_name(usr)] used Dispatch Response Team.") - - var/member_number = members_possible - var/leader_selected = 0 - - // Shamelessly stolen nuke code - var/nuke_code - var/temp_code - for(var/obj/machinery/nuclearbomb/N in machines) - temp_code = text2num(N.r_code) - if(temp_code) - nuke_code = N.r_code - break - -/* var/list/candidates = list() // ghosts who can be picked - var/list/members = list() // ghosts who have been picked - for(var/mob/dead/observer/G in player_list) - if(!G.client.holder && !G.client.is_afk()) - if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) - candidates += G.key - for(var/i=members_possible,(i>0&&candidates.len), i--) - var/candidate = input("Choose characters to spawn as response team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Active Players") as null|anything in candidates */ - - // I tried doing this differently. Ghosts get a pop-up box similar to pAIs and one-click-antag - // Biggest diff here is in how the candidates list is updated - alert(usr, "Active ghosts will be given a chance to choose whether or not they want to be considered for the emergency reponse team. This will take about 30 seconds.") // There's probably a better way to do this, with a fancy count-down timer or something - - var/list/candidates = list() - var/list/members = list() - var/time_passed = world.time - - for(var/mob/dead/observer/G in player_list) - if(!jobban_isbanned(G, "Syndicate") && !jobban_isbanned(G, "Emergency Response Team") && !jobban_isbanned(G, "Security Officer")) - spawn(0) - switch(alert(G, "Do you want to be considered for the Emergency Response Team? Please answer in 30 seconds!",,"Yes","No")) - if("Yes") - if((world.time-time_passed)>300) - return - candidates += G.key - if("No") - return - else - return - - sleep(300) - - if(candidates.len < members_required) - message_admins("Not enough people signed up for [key_name_admin(usr)]'s response team! Aborting.") - log_admin("Response Team aborted: Not Enough Signups.") - admin_emergency_team = 0 - return - - for(var/i=members_possible,(i>0&&candidates.len), i--) // The rest of the choosing process is just an input with a list of candidates on it - var/chosen = input("Time's up! Choose characters to spawn as reponse team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Considered Players") as null|anything in candidates - candidates -= chosen - members += chosen - - command_alert("Sensors indicate that [station_name()] has entered Code Red and is in need of assistance. We will prepare and dispatch an emergency response team to deal with the situation.", "NMV Icarus Command") - - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Response Team") - leader_selected = member_number == 1?1:0 // The last person selected will be the leader - - var/mob/living/carbon/human/new_member = spawn_response_team(L, leader_selected) - - new_member.age = !leader_selected ? rand(23,35) : rand(35,45) - - if(members.len) - new_member.key = pick(members) - members -= new_member.key - - if(!new_member.key) // It works ok? sort of - del(new_member) - break - - spawn(0) - - switch(alert(new_member, "You are an Emergency Response Team member! Are you a boy or a girl?",,"Male","Female")) - if("Male") - new_member.gender = MALE - if("Female") - new_member.gender = FEMALE - - var/new_name = input(new_member, "...Erm, what was your name again?", "Choose your name") as text - - if(!new_name) - new_member.real_name = "Agent [pick("Red","Yellow","Orange","Silver","Gold", "Pink", "Purple", "Rainbow")]" // Choose a "random" agent name - new_member.name = usr.real_name - new_member.mind.name = usr.real_name - - else - new_member.real_name = new_name - new_member.name = new_name - new_member.mind.name = new_name - - // -- CHANGE APPEARANCE -- - var/new_tone = input(new_member, "Please select your new skin tone: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as num - - if(new_tone) - new_member.s_tone = max(min(round(text2num(new_tone)), 220), 1) - new_member.s_tone = -new_member.s_tone + 35 - - var/new_hair = input(new_member, "Please select your new hair color.","Character Generation") as color - - if(new_hair) - new_member.r_hair = hex2num(copytext(new_hair, 2, 4)) - new_member.g_hair = hex2num(copytext(new_hair, 4, 6)) - new_member.b_hair = hex2num(copytext(new_hair, 6, 8)) - - var/new_facial = input(new_member, "Please select your new facial hair color.","Character Generation") as color - - if(new_facial) - new_member.r_facial = hex2num(copytext(new_facial, 2, 4)) - new_member.g_facial = hex2num(copytext(new_facial, 4, 6)) - new_member.b_facial = hex2num(copytext(new_facial, 6, 8)) - - var/new_eyes = input(new_member, "Please select eye color.", "Character Generation") as color - - if(new_eyes) - new_member.r_eyes = hex2num(copytext(new_eyes, 2, 4)) - new_member.g_eyes = hex2num(copytext(new_eyes, 4, 6)) - new_member.b_eyes = hex2num(copytext(new_eyes, 6, 8)) - - var/new_hstyle = input(new_member, "Please select your new hair style!", "Grooming") as null|anything in hair_styles_list - - if(new_hstyle) - new_member.h_style = new_hstyle - - var/new_fstyle = input(new_member, "Please select your new facial hair style!", "Grooming") as null|anything in facial_hair_styles_list - - if(new_fstyle) - new_member.f_style = new_fstyle - - // -- END -- - - new_member.dna.ready_dna(new_member) - new_member.update_body(1) - new_member.update_hair(1) - - new_member.mind_initialize() - - new_member.mind.assigned_role = "Emergency Response Team" - new_member.mind.special_role = "Emergency Response Team" - ticker.mode.traitors |= new_member.mind // ERTs will show up at the end of the round on the "traitor" list - - // Join message - new_member << "\blue You are the Emergency Response Team[!leader_selected?"!":" Leader!
"] \nAs a response team [!leader_selected?"member":"leader"] you answer directly to [!leader_selected?"your team leader.":"Central Command."] \nYou have been deployed by NanoTrasen Central Command in Tau Ceti to resolve a Code Red alert aboard [station_name()], and have been provided with the following instructions and information regarding your mission: \red [situation]" - new_member.mind.store_memory("Mission Parameters: \red [situation].") - - // Leader join message - if(leader_selected) - new_member << "\red The Nuclear Authentication Code is: [nuke_code]. You are instructed not to detonate the nuclear device aboard [station_name()] unless absolutely necessary." - new_member.mind.store_memory("Nuclear Authentication Code: \red [nuke_code]") - - new_member.equip_response_team(leader_selected) // Start equipping them - - member_number-- - return 1 - -// Mob creation -/client/proc/spawn_response_team(obj/spawn_location, leader_selected = 0) - var/mob/living/carbon/human/new_member = new(spawn_location.loc) - - return new_member - -// Equip mob -/mob/living/carbon/human/proc/equip_response_team(leader_selected = 0) - - // Headset - equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(src), slot_ears) - - // Uniform - equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(src), slot_w_uniform) - equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(src), slot_shoes) - equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves) - equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(src), slot_belt) - - // Glasses - equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses) - - // Backpack - equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back) - - // Put stuff into their backpacks - equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack) - // equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack) // Regular medkit - - // Loyalty implants - implant_loyalty(src) - - // ID cards - var/obj/item/weapon/card/id/E = new(src) - E.name = "[real_name]'s ID Card (Emergency Response Team)" - E.icon_state = "centcom" - E.access = get_all_accesses() // ERTs can go everywhere on the station - if(leader_selected) - E.name = "[real_name]'s ID Card (Emergency Response Team Leader)" - E.access += get_all_centcom_access() - E.assignment = "Emergency Response Team Leader" - else - E.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) - E.assignment = "Emergency Response Team" - E.registered_name = real_name - equip_to_slot_or_del(E, slot_wear_id) - - update_icons() - - return 1 - diff --git a/code/WorkInProgress/meteors.dm b/code/WorkInProgress/meteors.dm deleted file mode 100644 index ce1bafdb44..0000000000 --- a/code/WorkInProgress/meteors.dm +++ /dev/null @@ -1,153 +0,0 @@ -#define METEOR_TEMPERATURE - -/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds -//set to at least 100 unless you want evarr ruining every round - -/var/const/meteors_in_wave = 20 -/var/const/meteors_in_small_wave = 10 - -/proc/meteor_wave(var/number = meteors_in_wave) - if(!ticker || wavesecret) - return - - var/startx - var/starty - var/endx - var/endy - var/turf/pickedstart - var/turf/pickedgoal - switch(pick(1,2,3,4)) - if(1) //NORTH - starty = world.maxy-3 - startx = rand(1, world.maxx-1) - endy = 1 - endx = rand(1, world.maxx-1) - if(2) //EAST - starty = rand(1,world.maxy-1) - startx = world.maxx-3 - endy = rand(1, world.maxy-1) - endx = 1 - if(3) //SOUTH - starty = 3 - startx = rand(1, world.maxx-1) - endy = world.maxy-1 - endx = rand(1, world.maxx-1) - if(4) //WEST - starty = rand(1, world.maxy-1) - startx = 3 - endy = rand(1,world.maxy-1) - endx = world.maxx-1 - pickedstart = locate(startx, starty, 1) - pickedgoal = locate(endx, endy, 1) - wavesecret = 1 - for(var/i = 0 to number) - spawn(rand(10,100)) - spawn_meteor(pickedstart, pickedgoal) - spawn(meteor_wave_delay) - wavesecret = 0 - -/proc/spawn_meteors(var/turf/pickedstart, var/turf/pickedgoal, var/number = meteors_in_small_wave) - for(var/i = 0; i < number; i++) - spawn(0) - spawn_meteor(pickedstart, pickedgoal) - -/proc/spawn_meteor(var/turf/pickedstart, var/turf/pickedgoal) - - var/route = rand(1,5) - var/turf/tempgoal = pickedgoal - for(var/i, i < route, i++) - tempgoal = get_step(tempgoal,rand(1,8)) - - var/obj/effect/meteor/M - switch(rand(1, 100)) - if(1 to 15) - M = new /obj/effect/meteor/big(pickedstart) - if(16 to 75) - M = new /obj/effect/meteor( pickedstart ) - if(76 to 100) - M = new /obj/effect/meteor/small( pickedstart ) - - M.dest = tempgoal - - do - sleep(1) - walk_towards(M, M.dest, 1) - while (!istype(M.loc, /turf/space) || pickedstart.loc.name != "Space" ) //FUUUCK, should never happen. - - return - -/obj/effect/meteor - name = "meteor" - icon = 'icons/obj/meteor.dmi' - icon_state = "flaming" - density = 1 - anchored = 1.0 - var/hits = 1 - var/dest - pass_flags = PASSTABLE - -/obj/effect/meteor/small - name = "small meteor" - icon_state = "smallf" - pass_flags = PASSTABLE | PASSGRILLE - -/obj/effect/meteor/Move() - var/turf/T = src.loc - if (istype(T, /turf)) - T.hotspot_expose(METEOR_TEMPERATURE, 1000) - ..() - return - -/obj/effect/meteor/Bump(atom/A) - spawn(0) - for(var/mob/M in range(10, src)) - if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view - shake_camera(M, 3, 1) - if (A) - A.meteorhit(src) - playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1) - if (--src.hits <= 0) - if(prob(15))// && !istype(A, /obj/structure/grille)) - explosion(get_turf(src), 4, 5, 6, 7, 0) - playsound(get_turf(src), "explosion", 50, 1) - del(src) - return - - -/obj/effect/meteor/ex_act(severity) - spawn(0) - del(src) - return - -/obj/effect/meteor/big - name = "big meteor" - hits = 5 - - ex_act(severity) - return - - Bump(atom/A) - spawn(0) - for(var/mob/M in range(10, src)) - if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view - shake_camera(M, 3, 1) - if (A) - if(isobj(A)) - del(A) - else - A.meteorhit(src) - src.hits-- - return - playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1) - if (--src.hits <= 0) - if(prob(15) && !istype(A, /obj/structure/grille)) - explosion(get_turf(src), 1, 2, 3, 4, 0) - playsound(get_turf(src), "explosion", 50, 1) - del(src) - return - -/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pickaxe)) - del(src) - return - ..() \ No newline at end of file diff --git a/code/WorkInProgress/organs/implants.dm b/code/WorkInProgress/organs/implants.dm deleted file mode 100644 index c8f83bc6a3..0000000000 --- a/code/WorkInProgress/organs/implants.dm +++ /dev/null @@ -1,13 +0,0 @@ -/*------ -SPELL IMPLANTS - + Most diverse effects - - Limited charges, failure rate - -CYBERNETIC IMPLANTS - + Easiest to make - - Require power - -GRAFTS (includes basic human bodyparts) - + Permanent effects - - Horrible side effects -*/ \ No newline at end of file diff --git a/code/WorkInProgress/organs/organs.dm b/code/WorkInProgress/organs/organs.dm deleted file mode 100644 index 22f51bffc6..0000000000 --- a/code/WorkInProgress/organs/organs.dm +++ /dev/null @@ -1,700 +0,0 @@ -<<<<<<< HEAD -/obj/effect/organstructure //used obj for the "contents" var - name = "organs" - - var/species = "mob" //for speaking in unknown languages purposes - - var/obj/effect/organ/limb/arms/arms = null - var/obj/effect/organ/limb/legs/legs = null - var/obj/effect/organ/torso/torso = null - var/obj/effect/organ/head/head = null - - - proc/GetSpeciesName() - var/list/speciesPresent = list() - - for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance - if(speciesPresent[organ.species]) - speciesPresent[organ.species]++ - else - speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++ - - var/list/dominantSpecies = list() - - for(var/speciesName in speciesPresent) - if(!dominantSpecies.len) - dominantSpecies += speciesName - else - if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName]) - dominantSpecies += speciesName - else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName]) - dominantSpecies = list(speciesName) - - if(!dominantSpecies.len) - species = "mob" - else - species = pick(dominantSpecies) - - return species - - proc/RecalculateStructure() - var/list/organs = GetAllContents() - - arms = locate(/obj/effect/organ/limb/arms) in organs - legs = locate(/obj/effect/organ/limb/legs) in organs - torso = locate(/obj/effect/organ/torso) in organs - head = locate(/obj/effect/organ/head) in organs - - GetSpeciesName() - - return - - proc/ProcessOrgans() - set background = 1 - - var/list/organs = GetAllContents() - for(var/obj/effect/organ/organ in organs) - organ.ProcessOrgan() - - return - - New() - ..() - RecalculateStructure() - -/obj/effect/organstructure/human - name = "human organs" - - New() - new /obj/effect/organ/torso/human(src) - ..() - -/obj/effect/organstructure/alien - name = "alien organs" - - New() - new /obj/effect/organ/torso/alien(src) - ..() - -/obj/effect/organ - name = "organ" - - //All types - var/organType = 0 //CYBER and SPELL go here - var/species = "mob" - var/obj/effect/organstructure/rootOrganStructure = null - - New(location) - ..() - - rootOrganStructure = FindRootStructure() - - proc/FindRootStructure() - if(istype(loc,/obj/effect/organ)) - var/obj/effect/organ/parent = loc - return parent.FindRootStructure() - else if(istype(loc,/obj/effect/organstructure)) - return loc - return null - - proc/ProcessOrgan() - return - -/obj/effect/organ/torso - name = "torso" - var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later - -/obj/effect/organ/torso/human - name = "human torso" - species = "human" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/human(src) - new /obj/effect/organ/limb/legs/human(src) - new /obj/effect/organ/head/human(src) -/obj/effect/organ/torso/alien - name = "alien torso" - species = "alien" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/alien(src) - new /obj/effect/organ/limb/legs/alien(src) - new /obj/effect/organ/head/alien(src) - - -/obj/effect/organ/limb - name = "limb" - -/obj/effect/organ/limb/arms - name = "arms" - - var/minDamage = 5 //punching damage - var/maxDamage = 5 - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - - -/obj/effect/organ/limb/arms/human - name = "human arms" - species = "human" - minDamage = 1 - maxDamage = 9 - -/obj/effect/organ/limb/legs - name = "legs" - -/obj/effect/organ/limb/legs/human - name = "human legs" - species = "human" - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - - -/obj/effect/organ/head - name = "head" - -/obj/effect/organ/head/human - name = "human head" - species = "human" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++ -/obj/effect/organstructure/stub - name = "stub organs" - - New() - new /obj/effect/organ/torso/stub(src) - ..() - -/obj/effect/organ/torso/stub - name = "stub torso" - species = "stub" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/stub(src) - new /obj/effect/organ/limb/legs/stub(src) - new /obj/effect/organ/head/stub(src) - -/obj/effect/organ/limb/arms/stub - name = "stub arms" - species = "stub" - -/obj/effect/organ/limb/legs/stub - name = "stub legs" - species = "stub" - -/obj/effect/organ/head/stub - name = "stub head" - species = "stub" - -// ++++STUB ORGAN STRUCTURE. END++++ - - -// ++++MONKEY++++ - -/obj/effect/organstructure/monkey - name = "monkey organs" - - New() - new /obj/effect/organ/torso/monkey(src) - ..() - -/obj/effect/organ/torso/monkey - name = "monkey torso" - species = "monkey" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/monkey(src) - new /obj/effect/organ/limb/legs/monkey(src) - new /obj/effect/organ/head/monkey(src) - -/obj/effect/organ/limb/arms/monkey - name = "monkey arms" - species = "monkey" - -/obj/effect/organ/limb/legs/monkey - name = "monkey legs" - species = "monkey" - -/obj/effect/organ/head/monkey - name = "monkey head" - species = "monkey" - - -// +++++CYBORG+++++ -/obj/effect/organstructure/cyborg - name = "cyborg organs" - - New() - new /obj/effect/organ/torso/cyborg(src) - ..() - -/obj/effect/organ/torso/cyborg - name = "cyborg torso" - species = "cyborg" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/cyborg(src) - new /obj/effect/organ/limb/legs/cyborg(src) - new /obj/effect/organ/head/cyborg(src) - -/obj/effect/organ/limb/arms/cyborg - name = "cyborg arms" - species = "cyborg" - -/obj/effect/organ/limb/legs/cyborg - name = "cyborg legs" - species = "cyborg" - -/obj/effect/organ/head/cyborg - name = "cyborg head" - species = "cyborg" - -// +++++AI++++++ -/obj/effect/organstructure/AI - name = "AI organs" - - New() - new /obj/effect/organ/torso/AI(src) - ..() - -/obj/effect/organ/torso/AI - name = "AI torso" - species = "AI" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/AI(src) - new /obj/effect/organ/limb/legs/AI(src) - new /obj/effect/organ/head/AI(src) - -/obj/effect/organ/limb/arms/AI - name = "AI arms" - species = "AI" - -/obj/effect/organ/limb/legs/AI - name = "AI legs" - species = "AI" - -/obj/effect/organ/head/AI - name = "AI head" - species = "AI" - -/* New organ structure template - - -/obj/effect/organstructure/template - name = "template organs" - - New() - new /obj/effect/organ/torso/template(src) - ..() - -/obj/effect/organ/torso/template - name = "template torso" - species = "template" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/template(src) - new /obj/effect/organ/limb/legs/template(src) - new /obj/effect/organ/head/template(src) - -/obj/effect/organ/limb/arms/template - name = "template arms" - species = "template" - -/obj/effect/organ/limb/legs/template - name = "template legs" - species = "template" - -/obj/effect/organ/head/template - name = "template head" - species = "template" - -======= -/obj/effect/organstructure //used obj for the "contents" var - name = "organs" - - var/species = "mob" //for speaking in unknown languages purposes - - var/obj/effect/organ/limb/arms/arms = null - var/obj/effect/organ/limb/legs/legs = null - var/obj/effect/organ/torso/torso = null - var/obj/effect/organ/head/head = null - - - proc/GetSpeciesName() - var/list/speciesPresent = list() - - for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance - if(speciesPresent[organ.species]) - speciesPresent[organ.species]++ - else - speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++ - - var/list/dominantSpecies = list() - - for(var/speciesName in speciesPresent) - if(!dominantSpecies.len) - dominantSpecies += speciesName - else - if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName]) - dominantSpecies += speciesName - else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName]) - dominantSpecies = list(speciesName) - - if(!dominantSpecies.len) - species = "mob" - else - species = pick(dominantSpecies) - - return species - - proc/RecalculateStructure() - var/list/organs = GetAllContents() - - arms = locate(/obj/effect/organ/limb/arms) in organs - legs = locate(/obj/effect/organ/limb/legs) in organs - torso = locate(/obj/effect/organ/torso) in organs - head = locate(/obj/effect/organ/head) in organs - - GetSpeciesName() - - return - - proc/ProcessOrgans() - set background = 1 - - var/list/organs = GetAllContents() - for(var/obj/effect/organ/organ in organs) - organ.ProcessOrgan() - - return - - New() - ..() - RecalculateStructure() - -/obj/effect/organstructure/human - name = "human organs" - - New() - new /obj/effect/organ/torso/human(src) - ..() - -/obj/effect/organstructure/alien - name = "alien organs" - - New() - new /obj/effect/organ/torso/alien(src) - ..() - -/obj/effect/organ - name = "organ" - - //All types - var/organType = 0 //CYBER and SPELL go here - var/species = "mob" - var/obj/effect/organstructure/rootOrganStructure = null - - New(location) - ..() - - rootOrganStructure = FindRootStructure() - - proc/FindRootStructure() - if(istype(loc,/obj/effect/organ)) - var/obj/effect/organ/parent = loc - return parent.FindRootStructure() - else if(istype(loc,/obj/effect/organstructure)) - return loc - return null - - proc/ProcessOrgan() - return - -/obj/effect/organ/torso - name = "torso" - var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later - -/obj/effect/organ/torso/human - name = "human torso" - species = "human" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/human(src) - new /obj/effect/organ/limb/legs/human(src) - new /obj/effect/organ/head/human(src) -/obj/effect/organ/torso/alien - name = "alien torso" - species = "alien" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/alien(src) - new /obj/effect/organ/limb/legs/alien(src) - new /obj/effect/organ/head/alien(src) - - -/obj/effect/organ/limb - name = "limb" - -/obj/effect/organ/limb/arms - name = "arms" - - var/minDamage = 5 //punching damage - var/maxDamage = 5 - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - - -/obj/effect/organ/limb/arms/human - name = "human arms" - species = "human" - minDamage = 1 - maxDamage = 9 - -/obj/effect/organ/limb/legs - name = "legs" - -/obj/effect/organ/limb/legs/human - name = "human legs" - species = "human" - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - - -/obj/effect/organ/head - name = "head" - -/obj/effect/organ/head/human - name = "human head" - species = "human" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++ -/obj/effect/organstructure/stub - name = "stub organs" - - New() - new /obj/effect/organ/torso/stub(src) - ..() - -/obj/effect/organ/torso/stub - name = "stub torso" - species = "stub" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/stub(src) - new /obj/effect/organ/limb/legs/stub(src) - new /obj/effect/organ/head/stub(src) - -/obj/effect/organ/limb/arms/stub - name = "stub arms" - species = "stub" - -/obj/effect/organ/limb/legs/stub - name = "stub legs" - species = "stub" - -/obj/effect/organ/head/stub - name = "stub head" - species = "stub" - -// ++++STUB ORGAN STRUCTURE. END++++ - - -// ++++MONKEY++++ - -/obj/effect/organstructure/monkey - name = "monkey organs" - - New() - new /obj/effect/organ/torso/monkey(src) - ..() - -/obj/effect/organ/torso/monkey - name = "monkey torso" - species = "monkey" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/monkey(src) - new /obj/effect/organ/limb/legs/monkey(src) - new /obj/effect/organ/head/monkey(src) - -/obj/effect/organ/limb/arms/monkey - name = "monkey arms" - species = "monkey" - -/obj/effect/organ/limb/legs/monkey - name = "monkey legs" - species = "monkey" - -/obj/effect/organ/head/monkey - name = "monkey head" - species = "monkey" - - -// +++++CYBORG+++++ -/obj/effect/organstructure/cyborg - name = "cyborg organs" - - New() - new /obj/effect/organ/torso/cyborg(src) - ..() - -/obj/effect/organ/torso/cyborg - name = "cyborg torso" - species = "cyborg" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/cyborg(src) - new /obj/effect/organ/limb/legs/cyborg(src) - new /obj/effect/organ/head/cyborg(src) - -/obj/effect/organ/limb/arms/cyborg - name = "cyborg arms" - species = "cyborg" - -/obj/effect/organ/limb/legs/cyborg - name = "cyborg legs" - species = "cyborg" - -/obj/effect/organ/head/cyborg - name = "cyborg head" - species = "cyborg" - -// +++++AI++++++ -/obj/effect/organstructure/AI - name = "AI organs" - - New() - new /obj/effect/organ/torso/AI(src) - ..() - -/obj/effect/organ/torso/AI - name = "AI torso" - species = "AI" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/AI(src) - new /obj/effect/organ/limb/legs/AI(src) - new /obj/effect/organ/head/AI(src) - -/obj/effect/organ/limb/arms/AI - name = "AI arms" - species = "AI" - -/obj/effect/organ/limb/legs/AI - name = "AI legs" - species = "AI" - -/obj/effect/organ/head/AI - name = "AI head" - species = "AI" - -/* New organ structure template - - -/obj/effect/organstructure/template - name = "template organs" - - New() - new /obj/effect/organ/torso/template(src) - ..() - -/obj/effect/organ/torso/template - name = "template torso" - species = "template" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/template(src) - new /obj/effect/organ/limb/legs/template(src) - new /obj/effect/organ/head/template(src) - -/obj/effect/organ/limb/arms/template - name = "template arms" - species = "template" - -/obj/effect/organ/limb/legs/template - name = "template legs" - species = "template" - -/obj/effect/organ/head/template - name = "template head" - species = "template" - ->>>>>>> remotes/git-svn -*/ \ No newline at end of file From 7b3c3cf60055c07cbfc1b72cdebfd29a0922eb2e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 2 Feb 2015 13:30:11 +0100 Subject: [PATCH 264/282] Cleans out the WiP folder. Step two: Included but otherwise non-references files. --- baystation12.dme | 6 - code/WorkInProgress/Apples/artifacts.dm | 23 - .../Cael_Aislinn/Jungle/falsewall.dm | 59 --- .../Cael_Aislinn/Jungle/jungle.dm | 345 --------------- .../Cael_Aislinn/Jungle/jungle_temple.dm | 398 ------------------ .../Cael_Aislinn/Jungle/jungle_turfs.dm | 178 -------- .../Cael_Aislinn/Jungle/misc_helpers.dm | 122 ------ 7 files changed, 1131 deletions(-) delete mode 100644 code/WorkInProgress/Apples/artifacts.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm diff --git a/baystation12.dme b/baystation12.dme index ae1808a241..6c2d38aaef 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1452,15 +1452,9 @@ #include "code\WorkInProgress\buildmode.dm" #include "code\WorkInProgress\explosion_particles.dm" #include "code\WorkInProgress\periodic_news.dm" -#include "code\WorkInProgress\Apples\artifacts.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\falsewall.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_temple.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_turfs.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\misc_helpers.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\circuits_and_design.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\core_control.dm" diff --git a/code/WorkInProgress/Apples/artifacts.dm b/code/WorkInProgress/Apples/artifacts.dm deleted file mode 100644 index 242a17074e..0000000000 --- a/code/WorkInProgress/Apples/artifacts.dm +++ /dev/null @@ -1,23 +0,0 @@ -/obj/item/changestone - name = "An uncut ruby" - desc = "The ruby shines and catches the light, despite being uncut" - icon = 'icons/obj/artifacts.dmi' - icon_state = "changerock" - -obj/item/changestone/attack_hand(var/mob/user as mob) - if(istype(user,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = user - if(!H.gloves) - if (H.gender == FEMALE) - H.gender = MALE - else - H.gender = FEMALE - H.dna.ready_dna(H) - H.update_body() - ..() - - - - - - diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm deleted file mode 100644 index 1a5d46371a..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm +++ /dev/null @@ -1,59 +0,0 @@ -//simplified copy of /obj/structure/falsewall - -/obj/effect/landmark/falsewall_spawner - name = "falsewall spawner" - -/obj/structure/temple_falsewall - name = "wall" - anchored = 1 - icon = 'icons/turf/walls.dmi' - icon_state = "phoron0" - opacity = 1 - var/closed_wall_dir = 0 - var/opening = 0 - var/mineral = "phoron" - var/is_metal = 0 - -/obj/structure/temple_falsewall/New() - ..() - spawn(10) - if(prob(95)) - desc = pick("Something seems slightly off about it.","") - - var/junction = 0 //will be used to determine from which side the wall is connected to other walls - - for(var/turf/unsimulated/wall/W in orange(src,1)) - if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls - junction |= get_dir(src,W) - - closed_wall_dir = junction - density = 1 - icon_state = "[mineral][closed_wall_dir]" - -/obj/structure/temple_falsewall/attack_hand(mob/user as mob) - if(opening) - return - - if(density) - opening = 1 - if(is_metal) - icon_state = "metalfwall_open" - flick("metalfwall_opening", src) - else - icon_state = "[mineral]fwall_open" - flick("[mineral]fwall_opening", src) - sleep(15) - src.density = 0 - SetOpacity(0) - opening = 0 - else - opening = 1 - icon_state = "[mineral][closed_wall_dir]" - if(is_metal) - flick("metalfwall_closing", src) - else - flick("[mineral]fwall_closing", src) - density = 1 - sleep(15) - SetOpacity(1) - opening = 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm deleted file mode 100644 index 421e803ec4..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm +++ /dev/null @@ -1,345 +0,0 @@ -//some testin stuff - -#define PATH_SPREAD_CHANCE_START 90 -#define PATH_SPREAD_CHANCE_LOSS_UPPER 80 -#define PATH_SPREAD_CHANCE_LOSS_LOWER 50 - -#define RIVER_SPREAD_CHANCE_START 100 -#define RIVER_SPREAD_CHANCE_LOSS_UPPER 65 -#define RIVER_SPREAD_CHANCE_LOSS_LOWER 50 - -#define RANDOM_UPPER_X 100 -#define RANDOM_UPPER_Y 100 - -#define RANDOM_LOWER_X 18 -#define RANDOM_LOWER_Y 18 - -/area/jungle - name = "jungle" - icon = 'code/workinprogress/cael_aislinn/jungle/jungle.dmi' - icon_state = "area" - lighting_use_dynamic = 0 - luminosity = 1 - -//randomly spawns, will create paths around the map -/obj/effect/landmark/path_waypoint - name = "path waypoint" - icon_state = "x2" - var/connected = 0 - -/obj/effect/landmark/temple - name = "temple entrance" - icon_state = "x2" - var/obj/structure/ladder/my_ladder - - New() - //pick a random temple to link to - var/list/waypoints = list() - for(var/obj/effect/landmark/temple/destination/T in landmarks_list) - waypoints.Add(T) - if(!T) - return - else continue - var/obj/effect/landmark/temple/destination/dest_temple = pick(waypoints) - dest_temple.init() - - //connect this landmark to the other - my_ladder = new /obj/structure/ladder(src.loc) - my_ladder.id = dest_temple.my_ladder.id - dest_temple.my_ladder.up = my_ladder - - //delete the landmarks now that we're finished - del(dest_temple) - del(src) - -/obj/effect/landmark/temple/destination/New() - //nothing - -/obj/effect/landmark/temple/destination/proc/init() - my_ladder = new /obj/structure/ladder(src.loc) - my_ladder.id = rand(999) - my_ladder.height = -1 - - //loop over the walls in the temple and make them a random pre-chosen mineral (null is a stand in for phoron, which the walls already are) - //treat phoron slightly differently because it's the default wall type - var/mineral = pick("uranium","sandstone","gold","iron","silver","diamond","clown","phoron") - //world << "init [mineral]" - var/area/my_area = get_area(src) - var/list/temple_turfs = get_area_turfs(my_area.type) - - for(var/turf/simulated/floor/T in temple_turfs) - - for(var/obj/effect/landmark/falsewall_spawner/F in T.contents) - var/obj/structure/temple_falsewall/fwall = new(F.loc) - fwall.mineral = mineral - if(mineral == "iron") - fwall.is_metal = 1 - del(F) - - for(var/obj/effect/landmark/door_spawner/D in T.contents) - var/spawn_type - if(mineral == "iron") - spawn_type = text2path("/obj/machinery/door/airlock/vault") - else - spawn_type = text2path("/obj/machinery/door/airlock/[mineral]") - new spawn_type(D.loc) - del(D) - - for(var/turf/unsimulated/wall/T in temple_turfs) - if(mineral != "phoron") - T.icon_state = replacetext(T.icon_state, "phoron", mineral) - - /*for(var/obj/effect/landmark/falsewall_spawner/F in T.contents) - //world << "falsewall_spawner found in wall" - var/obj/structure/temple_falsewall/fwall = new(F.loc) - fwall.mineral = mineral - del(F) - - for(var/obj/effect/landmark/door_spawner/D in T.contents) - //world << "door_spawner found in wall" - T = new /turf/unsimulated/floor(T.loc) - T.icon_state = "dark" - var/spawn_type = text2path("/obj/machinery/door/airlock/[door_mineral]") - new spawn_type(T) - del(D)*/ - -//a shuttle has crashed somewhere on the map, it should have a power cell to let the adventurers get home -/area/jungle/crash_ship_source - icon_state = "crash" - -/area/jungle/crash_ship_clean - icon_state = "crash" - -/area/jungle/crash_ship_one - icon_state = "crash" - -/area/jungle/crash_ship_two - icon_state = "crash" - -/area/jungle/crash_ship_three - icon_state = "crash" - -/area/jungle/crash_ship_four - icon_state = "crash" - -//randomly spawns, will create rivers around the map -//uses the same logic as jungle paths -/obj/effect/landmark/river_waypoint - name = "river source waypoint" - var/connected = 0 - -/obj/machinery/jungle_controller - name = "jungle controller" - desc = "a mysterious and ancient piece of machinery" - var/list/animal_spawners = list() - - -/obj/machinery/jungle_controller/initialize() - world << "\red \b Setting up jungle, this may take a bleeding eternity..." - - //crash dat shuttle - var/area/start_location = locate(/area/jungle/crash_ship_source) - var/area/clean_location = locate(/area/jungle/crash_ship_clean) - var/list/ship_locations = list(/area/jungle/crash_ship_one, /area/jungle/crash_ship_two, /area/jungle/crash_ship_three, /area/jungle/crash_ship_four) - var/area/end_location = locate( pick(ship_locations) ) - ship_locations -= end_location.type - - start_location.move_contents_to(end_location) - for(var/area_type in ship_locations) - var/area/cur_location = locate(area_type) - clean_location.copy_turfs_to(cur_location) - - //drop some random river nodes - var/list/river_nodes = list() - var/max = rand(1,3) - var/num_spawned = 0 - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!istype(J)) - continue - if(!J.bushes_spawn) - continue - river_nodes.Add(new /obj/effect/landmark/river_waypoint(J)) - num_spawned++ - - //make some randomly pathing rivers - for(var/obj/effect/landmark/river_waypoint/W in landmarks_list) - if (W.z != src.z || W.connected) - continue - - W.connected = 1 - var/turf/cur_turf = new /turf/unsimulated/jungle/water(get_turf(W)) - var/turf/target_turf = get_turf(pick(river_nodes)) - - var/detouring = 0 - var/cur_dir = get_dir(cur_turf, target_turf) - // - while(cur_turf != target_turf) - //randomly snake around a bit - if(detouring) - if(prob(20)) - detouring = 0 - cur_dir = get_dir(cur_turf, target_turf) - else if(prob(20)) - detouring = 1 - if(prob(50)) - cur_dir = turn(cur_dir, 45) - else - cur_dir = turn(cur_dir, -45) - else - cur_dir = get_dir(cur_turf, target_turf) - - cur_turf = get_step(cur_turf, cur_dir) - - var/skip = 0 - if(!istype(cur_turf, /turf/unsimulated/jungle) || istype(cur_turf, /turf/unsimulated/jungle/rock)) - detouring = 0 - cur_dir = get_dir(cur_turf, target_turf) - cur_turf = get_step(cur_turf, cur_dir) - continue - - if(!skip) - var/turf/unsimulated/jungle/water/water_turf = new(cur_turf) - water_turf.Spread(75, rand(65, 25)) - - var/list/path_nodes = list() - - //place some ladders leading down to pre-generated temples - max = rand(2,5) - num_spawned = 0 - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !J.bushes_spawn) - continue - new /obj/effect/landmark/temple(J) - path_nodes.Add(new /obj/effect/landmark/path_waypoint(J)) - num_spawned++ - - //put a native tribe somewhere - num_spawned = 0 - while(num_spawned < 1) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !J.bushes_spawn) - continue - new /obj/effect/jungle_tribe_spawn(J) - path_nodes.Add(new /obj/effect/landmark/path_waypoint(J)) - num_spawned++ - - //place some random path waypoints to confuse players - max = rand(1,3) - num_spawned = 0 - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !J.bushes_spawn) - continue - path_nodes.Add(new /obj/effect/landmark/path_waypoint(J)) - num_spawned++ - - //get any path nodes placed on the map - for(var/obj/effect/landmark/path_waypoint/W in landmarks_list) - if (W.z == src.z) - path_nodes.Add(W) - - //make random, connecting paths - for(var/obj/effect/landmark/path_waypoint/W in path_nodes) - if (W.connected) - continue - - W.connected = 1 - var/turf/cur_turf = get_turf(W) - path_nodes.Remove(W) - var/turf/target_turf = get_turf(pick(path_nodes)) - path_nodes.Add(W) - // - cur_turf = new /turf/unsimulated/jungle/path(cur_turf) - - var/detouring = 0 - var/cur_dir = get_dir(cur_turf, target_turf) - // - while(cur_turf != target_turf) - //randomly snake around a bit - if(detouring) - if(prob(20) || get_dist(cur_turf, target_turf) < 5) - detouring = 0 - cur_dir = get_dir(cur_turf, target_turf) - else if(prob(20) && get_dist(cur_turf, target_turf) > 5) - detouring = 1 - if(prob(50)) - cur_dir = turn(cur_dir, 45) - else - cur_dir = turn(cur_dir, -45) - else - cur_dir = get_dir(cur_turf, target_turf) - - //move a step forward - cur_turf = get_step(cur_turf, cur_dir) - - //if we're not a jungle turf, get back to what we were doing - if(!istype(cur_turf, /turf/unsimulated/jungle/)) - cur_dir = get_dir(cur_turf, target_turf) - cur_turf = get_step(cur_turf, cur_dir) - continue - - var/turf/unsimulated/jungle/J = cur_turf - if(istype(J, /turf/unsimulated/jungle/impenetrable) || istype(J, /turf/unsimulated/jungle/water/deep)) - cur_dir = get_dir(cur_turf, target_turf) - cur_turf = get_step(cur_turf, cur_dir) - continue - - if(!istype(J, /turf/unsimulated/jungle/water)) - J = new /turf/unsimulated/jungle/path(cur_turf) - J.Spread(PATH_SPREAD_CHANCE_START, rand(PATH_SPREAD_CHANCE_LOSS_UPPER, PATH_SPREAD_CHANCE_LOSS_LOWER)) - - //create monkey spawners - num_spawned = 0 - max = rand(3,6) - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !J.bushes_spawn) - continue - animal_spawners.Add(new /obj/effect/landmark/animal_spawner/monkey(J)) - num_spawned++ - - //create panther spawners - num_spawned = 0 - max = rand(6,12) - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !istype(J) || !J.bushes_spawn) - continue - animal_spawners.Add(new /obj/effect/landmark/animal_spawner/panther(J)) - num_spawned++ - - //create snake spawners - num_spawned = 0 - max = rand(6,12) - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !istype(J) || !J.bushes_spawn) - continue - animal_spawners.Add(new /obj/effect/landmark/animal_spawner/snake(J)) - num_spawned++ - - //create parrot spawners - num_spawned = 0 - max = rand(3,6) - while(num_spawned < max) - var/turf/unsimulated/jungle/J = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), src.z) - if(!J || !istype(J) || !J.bushes_spawn) - continue - animal_spawners.Add(new /obj/effect/landmark/animal_spawner/parrot(J)) - num_spawned++ - -#undef PATH_SPREAD_CHANCE_START -#undef PATH_SPREAD_CHANCE_LOSS_UPPER -#undef PATH_SPREAD_CHANCE_LOSS_LOWER - -#undef RIVER_SPREAD_CHANCE_START -#undef RIVER_SPREAD_CHANCE_LOSS_UPPER -#undef RIVER_SPREAD_CHANCE_LOSS_LOWER - -#undef RANDOM_UPPER_X -#undef RANDOM_UPPER_Y - -#undef RANDOM_LOWER_X -#undef RANDOM_LOWER_Y diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm deleted file mode 100644 index 7e350dc3a0..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm +++ /dev/null @@ -1,398 +0,0 @@ -//randomly generated temples, indiana jones style (minus the cultists, probably) - -/area/jungle/temple_one - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple1" - -/area/jungle/temple_two - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple2" - -/area/jungle/temple_three - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple3" - -/area/jungle/temple_four - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple4" - -/area/jungle/temple_five - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple5" - -/area/jungle/temple_six - name = "temple" - lighting_use_dynamic = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "temple6" - -/obj/effect/landmark/door_spawner - name = "door spawner" - -//******// -// Loot // -//******// - -/obj/effect/landmark/glowshroom_spawn - icon_state = "x3" - invisibility = 101 - New() - if(prob(10)) - new /obj/effect/glowshroom(src.loc) - del(src) - -/obj/effect/landmark/loot_spawn - name = "loot spawner" - icon_state = "grabbed1" - var/low_probability = 0 - New() - - switch(pick( \ - low_probability * 1000;"nothing", \ - 200 - low_probability * 175;"treasure", \ - 25 + low_probability * 75;"remains", \ - 25 + low_probability * 75;"plants", \ - 5; "blob", \ - 50 + low_probability * 50;"clothes", \ - "glasses", \ - 100 - low_probability * 50;"weapons", \ - 100 - low_probability * 50;"spacesuit", \ - "health", \ - 25 + low_probability * 75;"snacks", \ - 25;"alien", \ - "lights", \ - 25 - low_probability * 25;"engineering", \ - 25 - low_probability * 25;"coffin", \ - 25;"mimic", \ - 25;"viscerator", \ - )) - if("treasure") - var/obj/structure/closet/crate/C = new(src.loc) - if(prob(33)) - //coins - - var/amount = rand(2,6) - var/list/possible_spawns = list() - for(var/coin_type in typesof(/obj/item/weapon/coin)) - possible_spawns += coin_type - - var/coin_type = pick(possible_spawns) - for(var/i=0,iA sawblade shoots out of the ground and strikes you!
" - M.apply_damage(rand(5,10), BRUTE, sharp=1, edge=1) - - var/atom/myloc = src.loc - var/image/flicker = image('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"sawblade") - myloc.overlays += flicker - spawn(8) - myloc.overlays -= flicker - del(flicker) - //flick("sawblade",src) - if("poison_dart") - M << "\red You feel something small and sharp strike you!" - M.apply_damage(rand(5,10), TOX) - - var/atom/myloc = src.loc - var/image/flicker = image('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"dart[rand(1,3)]") - myloc.overlays += flicker - spawn(8) - myloc.overlays -= flicker - del(flicker) - //flick("dart[rand(1,3)]",src) - if("flame_burst") - M << "\red A jet of fire comes out of nowhere!" - M.apply_damage(rand(5,10), BURN) - - var/atom/myloc = src.loc - var/image/flicker = image('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"flameburst") - myloc.overlays += flicker - spawn(8) - myloc.overlays -= flicker - del flicker - //flick("flameburst",src) - if("phoron_gas") - //spawn a bunch of phoron - if("n2_gas") - //spawn a bunch of sleeping gas - if("thrower") - //edited version of obj/effect/step_trigger/thrower - var/throw_dir = pick(1,2,4,8) - M.visible_message("\red The floor under [M] suddenly tips upward!","\red The floor tips upward under you!") - - var/atom/myloc = src.loc - var/image/flicker = image('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"throw[throw_dir]") - myloc.overlays += flicker - var/turf/my_turf = get_turf(loc) - if(!my_turf.density) - my_turf.density = 1 - spawn(8) - my_turf.density = 0 - spawn(8) - myloc.overlays -= flicker - del(flicker) - - var/dist = rand(1,5) - var/curtiles = 0 - while(M) - if(curtiles >= dist) - break - if(M.z != src.z) - break - - curtiles++ - sleep(1) - - var/predir = M.dir - step(M, throw_dir) - M.set_dir(predir) - -//gives turf a different description, to try and trick players -/obj/effect/step_trigger/trap/fake - icon_state = "faketrap" - name = "fake trap" - - New() - if(prob(10)) - new /obj/effect/glowshroom(src.loc) - if(prob(90)) - var/turf/T = get_turf(src) - T.desc = pick("It looks a little dustier than the surrounding tiles.","It is somewhat ornate.","It looks a little darker than the surrounding tiles.") - del(src) - -//50% chance of being a trap -/obj/effect/step_trigger/trap/fifty - icon_state = "trap" - name = "fifty fifty trap" - icon_state = "fiftytrap" - - New() - if(prob(50)) - ..() - else - if(prob(10)) - new /obj/effect/glowshroom(src.loc) - del(src) diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm deleted file mode 100644 index 7daeae006b..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm +++ /dev/null @@ -1,178 +0,0 @@ - -/turf/unsimulated/jungle - var/bushes_spawn = 1 - var/plants_spawn = 1 - name = "wet grass" - desc = "Thick, long wet grass" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "grass1" - var/icon_spawn_state = "grass1" - luminosity = 3 - - New() - icon_state = icon_spawn_state - - if(plants_spawn && prob(40)) - if(prob(90)) - var/image/I - if(prob(35)) - I = image('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"plant[rand(1,7)]") - else - if(prob(30)) - I = image('icons/obj/flora/ausflora.dmi',"reedbush_[rand(1,4)]") - else if(prob(33)) - I = image('icons/obj/flora/ausflora.dmi',"leafybush_[rand(1,3)]") - else if(prob(50)) - I = image('icons/obj/flora/ausflora.dmi',"fernybush_[rand(1,3)]") - else - I = image('icons/obj/flora/ausflora.dmi',"stalkybush_[rand(1,3)]") - I.pixel_x = rand(-6,6) - I.pixel_y = rand(-6,6) - overlays += I - else - var/obj/structure/jungle_plant/J = new(src) - J.pixel_x = rand(-6,6) - J.pixel_y = rand(-6,6) - if(bushes_spawn && prob(90)) - new /obj/structure/bush(src) - -/turf/unsimulated/jungle/clear - bushes_spawn = 0 - plants_spawn = 0 - icon_state = "grass_clear" - icon_spawn_state = "grass3" - -/turf/unsimulated/jungle/path - bushes_spawn = 0 - name = "wet grass" - desc = "thick, long wet grass" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "grass_path" - icon_spawn_state = "grass2" - - New() - ..() - for(var/obj/structure/bush/B in src) - del B - -/turf/unsimulated/jungle/proc/Spread(var/probability, var/prob_loss = 50) - if(probability <= 0) - return - - //world << "\blue Spread([probability])" - for(var/turf/unsimulated/jungle/J in orange(1, src)) - if(!J.bushes_spawn) - continue - - var/turf/unsimulated/jungle/P = null - if(J.type == src.type) - P = J - else - P = new src.type(J) - - if(P && prob(probability)) - P.Spread(probability - prob_loss) - -/turf/unsimulated/jungle/impenetrable - bushes_spawn = 0 - icon_state = "grass_impenetrable" - icon_spawn_state = "grass1" - New() - ..() - var/obj/structure/bush/B = new(src) - B.indestructable = 1 - -//copy paste from asteroid mineral turfs -/turf/unsimulated/jungle/rock - bushes_spawn = 0 - plants_spawn = 0 - density = 1 - name = "rock wall" - icon = 'icons/turf/walls.dmi' - icon_state = "rock" - icon_spawn_state = "rock" - -/turf/unsimulated/jungle/rock/New() - spawn(1) - var/turf/T - if(!istype(get_step(src, NORTH), /turf/unsimulated/jungle/rock) && !istype(get_step(src, NORTH), /turf/unsimulated/wall)) - T = get_step(src, NORTH) - if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_s") - if(!istype(get_step(src, SOUTH), /turf/unsimulated/jungle/rock) && !istype(get_step(src, SOUTH), /turf/unsimulated/wall)) - T = get_step(src, SOUTH) - if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=6) - if(!istype(get_step(src, EAST), /turf/unsimulated/jungle/rock) && !istype(get_step(src, EAST), /turf/unsimulated/wall)) - T = get_step(src, EAST) - if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6) - if(!istype(get_step(src, WEST), /turf/unsimulated/jungle/rock) && !istype(get_step(src, WEST), /turf/unsimulated/wall)) - T = get_step(src, WEST) - if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6) - -/turf/unsimulated/jungle/water - bushes_spawn = 0 - name = "murky water" - desc = "thick, murky water" - icon = 'icons/misc/beach.dmi' - icon_state = "water" - icon_spawn_state = "water" - -/turf/unsimulated/jungle/water/New() - ..() - for(var/obj/structure/bush/B in src) - del(B) - -/turf/unsimulated/jungle/water/Entered(atom/movable/O) - ..() - if(istype(O, /mob/living/)) - var/mob/living/M = O - //slip in the murky water if we try to run through it - if(prob(10 + (M.m_intent == "run" ? 40 : 0))) - M << pick("\blue You slip on something slimy.","\blue You fall over into the murk.") - M.Stun(2) - M.Weaken(1) - - //piranhas - 25% chance to be an omnipresent risk, although they do practically no damage - if(prob(25)) - M << "\blue You feel something slithering around your legs." - if(prob(50)) - spawn(rand(25,50)) - var/turf/T = get_turf(M) - if(istype(T, /turf/unsimulated/jungle/water)) - M << pick("\red Something sharp bites you!","\red Sharp teeth grab hold of you!","\red You feel something take a chunk out of your leg!") - M.apply_damage(rand(0,1), BRUTE, sharp=1) - if(prob(50)) - spawn(rand(25,50)) - var/turf/T = get_turf(M) - if(istype(T, /turf/unsimulated/jungle/water)) - M << pick("\red Something sharp bites you!","\red Sharp teeth grab hold of you!","\red You feel something take a chunk out of your leg!") - M.apply_damage(rand(0,1), BRUTE, sharp=1) - if(prob(50)) - spawn(rand(25,50)) - var/turf/T = get_turf(M) - if(istype(T, /turf/unsimulated/jungle/water)) - M << pick("\red Something sharp bites you!","\red Sharp teeth grab hold of you!","\red You feel something take a chunk out of your leg!") - M.apply_damage(rand(0,1), BRUTE, sharp=1) - if(prob(50)) - spawn(rand(25,50)) - var/turf/T = get_turf(M) - if(istype(T, /turf/unsimulated/jungle/water)) - M << pick("\red Something sharp bites you!","\red Sharp teeth grab hold of you!","\red You feel something take a chunk out of your leg!") - M.apply_damage(rand(0,1), BRUTE, sharp=1) - -/turf/unsimulated/jungle/water/deep - plants_spawn = 0 - density = 1 - icon_state = "water2" - icon_spawn_state = "water2" - -/turf/unsimulated/jungle/temple_wall - name = "temple wall" - desc = "" - density = 1 - icon = 'icons/turf/walls.dmi' - icon_state = "phoron0" - var/mineral = "phoron" diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm deleted file mode 100644 index 7ae07059f7..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm +++ /dev/null @@ -1,122 +0,0 @@ -//put this here because i needed specific functionality, and i wanted to avoid the hassle of getting it onto svn - - -/area/proc/copy_turfs_to(var/area/A , var/platingRequired = 0 ) - //Takes: Area. Optional: If it should copy to areas that don't have plating - //Returns: Nothing. - //Notes: Attempts to move the contents of one area to another area. - // Movement based on lower left corner. Tiles that do not fit - // into the new area will not be moved. - - if(!A || !src) return 0 - - var/list/turfs_src = get_area_turfs(src.type) - var/list/turfs_trg = get_area_turfs(A.type) - - var/src_min_x = 0 - var/src_min_y = 0 - for (var/turf/T in turfs_src) - if(T.x < src_min_x || !src_min_x) src_min_x = T.x - if(T.y < src_min_y || !src_min_y) src_min_y = T.y - - var/trg_min_x = 0 - var/trg_min_y = 0 - for (var/turf/T in turfs_trg) - if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x - if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y - - var/list/refined_src = new/list() - for(var/turf/T in turfs_src) - refined_src += T - refined_src[T] = new/datum/coords - var/datum/coords/C = refined_src[T] - C.x_pos = (T.x - src_min_x) - C.y_pos = (T.y - src_min_y) - - var/list/refined_trg = new/list() - for(var/turf/T in turfs_trg) - refined_trg += T - refined_trg[T] = new/datum/coords - var/datum/coords/C = refined_trg[T] - C.x_pos = (T.x - trg_min_x) - C.y_pos = (T.y - trg_min_y) - - var/list/toupdate = new/list() - - var/copiedobjs = list() - - - moving: - for (var/turf/T in refined_src) - var/datum/coords/C_src = refined_src[T] - for (var/turf/B in refined_trg) - var/datum/coords/C_trg = refined_trg[B] - if(C_src.x_pos == C_trg.x_pos && C_src.y_pos == C_trg.y_pos) - - var/old_dir1 = T.dir - var/old_icon_state1 = T.icon_state - var/old_icon1 = T.icon - - if(platingRequired) - if(istype(B, /turf/space)) - continue moving - - var/turf/X = new T.type(B) - X.set_dir(old_dir1) - X.icon_state = old_icon_state1 - X.icon = old_icon1 //Shuttle floors are in shuttle.dmi while the defaults are floors.dmi - - - var/list/mobs = new/list() - var/list/newmobs = new/list() - - for(var/mob/M in T) - - if(!istype(M,/mob) || istype(M, /mob/aiEye)) continue // If we need to check for more mobs, I'll add a variable - mobs += M - - for(var/mob/M in mobs) - newmobs += DuplicateObject(M , 1) - - for(var/mob/M in newmobs) - M.loc = X - - - - for(var/V in T.vars) - if(!(V in list("type","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity"))) - X.vars[V] = T.vars[V] - -// var/area/AR = X.loc - -// if(AR.lighting_use_dynamic) -// X.opacity = !X.opacity -// X.sd_SetOpacity(!X.opacity) //TODO: rewrite this code so it's not messed by lighting ~Carn - - toupdate += X - - refined_src -= T - refined_trg -= B - continue moving - - - - - /*var/list/doors = new/list() - - if(toupdate.len) - for(var/turf/simulated/T1 in toupdate) - for(var/obj/machinery/door/D2 in T1) - doors += D2 - if(T1.parent) - air_master.groups_to_rebuild += T1.parent - else - air_master.tiles_to_update += T1 - - for(var/obj/O in doors) - O:update_nearby_tiles(1)*/ - - - - - return copiedobjs From 9f97269a29b471bf7109f239dc20c24fd33ff631 Mon Sep 17 00:00:00 2001 From: Amunak Date: Mon, 2 Feb 2015 17:43:26 +0100 Subject: [PATCH 265/282] Improves the printed research paper's header. --- code/modules/research/rdconsole.dm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 4a00a3114f..8d390fa785 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -524,15 +524,13 @@ won't update every console in existence) but it's more of a hassle to do. Also, screen = 0.5 spawn(20) var/obj/item/weapon/paper/PR = new/obj/item/weapon/paper - if( text2num(href_list["print"]) == 2) - PR.name = "list of researched technologies" - PR.info = "

List of researched technologies

" - PR.info += "by [station_name()] Research Lab at [worldtime2text()] station time

" + PR.name = "list of researched technologies" + PR.info = "
[station_name()] Science Laboratories" + PR.info += "

[ (text2num(href_list["print"]) == 2) ? "Detailed" : ] Research Progress Report

" + PR.info += "report prepared at [worldtime2text()] station time

" + if(text2num(href_list["print"]) == 2) PR.info += GetResearchListInfo() else - PR.name = "researched technology levels" - PR.info = "

Researched technology levels

" - PR.info += "by [station_name()] Research Lab at [worldtime2text()] station time

" PR.info += GetResearchLevelsInfo() PR.info_links = PR.info PR.icon_state = "paper_words" From 6ea6c82897f6f53a451feb24348099df1c63b45f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 2 Feb 2015 17:59:57 +0000 Subject: [PATCH 266/282] AI latejoin --- baystation12.dme | 1 + code/game/jobs/job/job.dm | 3 ++ code/game/jobs/job/silicon.dm | 4 +- code/game/jobs/job_controller.dm | 4 +- code/game/machinery/computer/ai_core.dm | 38 ++++++++++--- code/global.dm | 3 ++ code/modules/mob/living/silicon/ai/ai.dm | 2 +- .../modules/mob/living/silicon/ai/latejoin.dm | 40 ++++++++++++++ code/modules/mob/new_player/new_player.dm | 28 +++++++--- code/modules/mob/transform_procs.dm | 53 ++++++++++--------- 10 files changed, 133 insertions(+), 43 deletions(-) create mode 100644 code/modules/mob/living/silicon/ai/latejoin.dm diff --git a/baystation12.dme b/baystation12.dme index ae1808a241..83716d5361 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1081,6 +1081,7 @@ #include "code\modules\mob\living\silicon\ai\ai.dm" #include "code\modules\mob\living\silicon\ai\death.dm" #include "code\modules\mob\living\silicon\ai\examine.dm" +#include "code\modules\mob\living\silicon\ai\latejoin.dm" #include "code\modules\mob\living\silicon\ai\laws.dm" #include "code\modules\mob\living\silicon\ai\life.dm" #include "code\modules\mob\living\silicon\ai\login.dm" diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 0c44f6f260..c0d9bd44b3 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -110,3 +110,6 @@ if(H.r_store) H.r_store.add_fingerprint(H,1) return 1 + +/datum/job/proc/is_position_available() + return (current_positions < total_positions) || (total_positions == -1) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 07ceefb8b3..11d8f70a12 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -3,7 +3,7 @@ flag = AI department_flag = ENGSEC faction = "Station" - total_positions = 0 + total_positions = 0 // Not used for AI, see is_position_available below and modules/mob/living/silicon/ai/latejoin.dm spawn_positions = 1 selection_color = "#ccffcc" supervisors = "your laws" @@ -14,6 +14,8 @@ if(!H) return 0 return 1 +/datum/job/ai/is_position_available() + return (empty_playable_ai_cores.len != 0) /datum/job/cyborg diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index b3918713e7..87f8989b10 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -463,7 +463,9 @@ var/global/datum/controller/occupations/job_master switch(rank) if("Cyborg") return H.Robotize() - if("AI","Clown") //don't need bag preference stuff! + if("AI") + return H + if("Clown") //don't need bag preference stuff! else switch(H.backbag) //BS12 EDIT if(1) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 69c884ec70..40da8e2ca0 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -168,9 +168,15 @@ if(istype(P, /obj/item/weapon/screwdriver)) playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." - var/mob/living/silicon/ai/A = new /mob/living/silicon/ai ( loc, laws, brain ) - if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created - A.rename_self("ai", 1) + if(!brain) + var/open_for_latejoin = alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", "Yes", "Yes", "No") == "Yes" + var/obj/structure/AIcore/deactivated/D = new(loc) + if(open_for_latejoin) + empty_playable_ai_cores += D + else + var/mob/living/silicon/ai/A = new /mob/living/silicon/ai ( loc, laws, brain ) + if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created + A.rename_self("ai", 1) feedback_inc("cyborg_ais_created",1) del(src) @@ -207,14 +213,32 @@ if (ai.mind == malfai) return 1 -/obj/structure/AIcore/deactivated/attackby(var/obj/item/device/aicard/card, var/mob/user) +/obj/structure/AIcore/deactivated/attackby(var/obj/item/weapon/W, var/mob/user) - if(istype(card)) + if(istype(W, /obj/item/device/aicard)) + var/obj/item/device/aicard/card = W var/mob/living/silicon/ai/transfer = locate() in card if(transfer) load_ai(transfer,card,user) else user << "\red ERROR: \black Unable to locate artificial intelligence." return - - ..() + else if(istype(W, /obj/item/weapon/wrench)) + if(anchored) + user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...") + if(!do_after(user,40)) + user.visible_message("\blue \The [user] decides not to unbolt \the [src].") + return + user.visible_message("\blue \The [user] finishes unfastening \the [src]!") + anchored = 0 + return + else + user.visible_message("\blue \The [user] starts to bolt \the [src] to the plating...") + if(!do_after(user,40)) + user.visible_message("\blue \The [user] decides not to bolt \the [src].") + return + user.visible_message("\blue \The [user] finishes fastening down \the [src]!") + anchored = 1 + return + else + return ..() diff --git a/code/global.dm b/code/global.dm index 19ddbbe289..13f10c0764 100644 --- a/code/global.dm +++ b/code/global.dm @@ -231,3 +231,6 @@ var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons // Bomb cap! var/max_explosion_range = 14 + +// Announcer intercom, because too much stuff creates an intercom for one message then hard del()s it. +var/global/obj/item/device/radio/intercom/global_announcer = new(null) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ff948d2387..c25e833c08 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -141,7 +141,7 @@ var/list/ai_verbs_default = list( if(!safety)//Only used by AIize() to successfully spawn an AI. if (!B)//If there is no player/brain inside. - new/obj/structure/AIcore/deactivated(loc)//New empty terminal. + empty_playable_ai_cores += new/obj/structure/AIcore/deactivated(loc)//New empty terminal. del(src)//Delete AI. return else diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm new file mode 100644 index 0000000000..11a617360a --- /dev/null +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -0,0 +1,40 @@ +var/global/list/empty_playable_ai_cores = list() + +/hook/roundstart/proc/spawn_empty_ai() + for(var/obj/effect/landmark/start/S in landmarks_list) + if(S.name != "AI") + continue + if(locate(/mob/living) in S.loc) + continue + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) + + return 1 + +/mob/living/silicon/ai/verb/wipe_core() + set name = "Wipe Core" + set category = "OOC" + set desc = "Wipe your core. This is functionally equivalent to cryo or robotic storage, freeing up your job slot." + + // Guard against misclicks, this isn't the sort of thing we want happening accidentally + if(alert("WARNING: This will immediately wipe your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", + "Wipe Core", "No", "No", "Yes") != "Yes") + return + + // We warned you. + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(loc) + global_announcer.autosay("[src] has been moved to intelligence storage.", "Artificial Intelligence Oversight") + + //Handle job slot/tater cleanup. + var/job = mind.assigned_role + + job_master.FreeRole(job) + + if(mind.objectives.len) + del(mind.objectives) + mind.special_role = null + else + if(ticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + current_mode.possible_traitors.Remove(src) + + del(src) \ No newline at end of file diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index a07e538e1e..78817c9ccf 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -284,7 +284,7 @@ proc/IsJobAvailable(rank) var/datum/job/job = job_master.GetJob(rank) if(!job) return 0 - if((job.current_positions >= job.total_positions) && job.total_positions != -1) return 0 + if(!job.is_position_available()) return 0 if(jobban_isbanned(src,rank)) return 0 if(!job.player_old_enough(src.client)) return 0 return 1 @@ -313,6 +313,24 @@ UpdateFactionList(character) EquipCustomItems(character) + // AIs don't need a spawnpoint, they must spawn at an empty core + if(character.mind.assigned_role == "AI") + + character = character.AIize(move=0) // AIize the character, but don't move them yet + + // IsJobAvailable for AI checks that there is an empty core available in this list + var/obj/structure/AIcore/deactivated/C = empty_playable_ai_cores[1] + empty_playable_ai_cores -= C + + character.loc = C.loc + + AnnounceCyborg(character, rank, "has been downloaded to the empty core in \the [character.loc.loc]") + ticker.mode.latespawn(character) + + del(C) + del(src) + return + //Find our spawning point. var/join_message var/datum/spawnpoint/S @@ -356,20 +374,16 @@ proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message) if (ticker.current_state == GAME_STATE_PLAYING) - var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)// BS12 EDIT Arrivals Announcement Computer, rather than the AI. if(character.mind.role_alt_title) rank = character.mind.role_alt_title - a.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer") - del(a) + global_announcer.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer") proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message) if (ticker.current_state == GAME_STATE_PLAYING) - var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)// BS12 EDIT Arrivals Announcement Computer, rather than the AI. if(character.mind.role_alt_title) rank = character.mind.role_alt_title // can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc. - a.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer") - del(a) + global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer") proc/LateChoices() var/mills = world.time // 1/10 of a second, not real milliseconds but whatever diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index b4530b0767..d6181f5ec7 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -56,13 +56,13 @@ spawning = 1 return ..() -/mob/living/carbon/human/AIize() +/mob/living/carbon/human/AIize(move=1) // 'move' argument needs defining here too because BYOND is dumb if (monkeyizing) return for(var/t in organs) del(t) - return ..() + return ..(move) /mob/living/carbon/AIize() if (monkeyizing) @@ -75,7 +75,7 @@ invisibility = 101 return ..() -/mob/proc/AIize() +/mob/proc/AIize(move=1) if(client) src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jams for AIs var/mob/living/silicon/ai/O = new (loc, base_law_type,,1)//No MMI but safety is in effect. @@ -88,37 +88,38 @@ else O.key = key - var/obj/loc_landmark - for(var/obj/effect/landmark/start/sloc in landmarks_list) - if (sloc.name != "AI") - continue - if (locate(/mob/living) in sloc.loc) - continue - loc_landmark = sloc - if (!loc_landmark) - for(var/obj/effect/landmark/tripai in landmarks_list) - if (tripai.name == "tripai") - if(locate(/mob/living) in tripai.loc) - continue - loc_landmark = tripai - if (!loc_landmark) - O << "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone." + if(move) + var/obj/loc_landmark for(var/obj/effect/landmark/start/sloc in landmarks_list) - if (sloc.name == "AI") - loc_landmark = sloc + if (sloc.name != "AI") + continue + if ((locate(/mob/living) in sloc.loc) || (locate(/obj/structure/AIcore) in sloc.loc)) + continue + loc_landmark = sloc + if (!loc_landmark) + for(var/obj/effect/landmark/tripai in landmarks_list) + if (tripai.name == "tripai") + if((locate(/mob/living) in tripai.loc) || (locate(/obj/structure/AIcore) in tripai.loc)) + continue + loc_landmark = tripai + if (!loc_landmark) + O << "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone." + for(var/obj/effect/landmark/start/sloc in landmarks_list) + if (sloc.name == "AI") + loc_landmark = sloc - O.loc = loc_landmark.loc - for (var/obj/item/device/radio/intercom/comm in O.loc) - comm.ai += O + O.loc = loc_landmark.loc + for (var/obj/item/device/radio/intercom/comm in O.loc) + comm.ai += O O.on_mob_init() O.add_ai_verbs() O.rename_self("ai",1) - . = O - del(src) - + spawn(0) + del(src) + return O //human -> robot /mob/living/carbon/human/proc/Robotize() From 271fe31e64f8ce6088ceb48a1c86c5f7b6d6b2ea Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 2 Feb 2015 18:34:26 +0000 Subject: [PATCH 267/282] Admin verb to toggle latejoin-ability. Wipe Core disallowed in malfunction. --- code/game/machinery/computer/ai_core.dm | 21 +++++++++++++++++++ code/modules/admin/admin_verbs.dm | 3 ++- .../modules/mob/living/silicon/ai/latejoin.dm | 4 ++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 40da8e2ca0..7bd8e4b8e8 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -242,3 +242,24 @@ return else return ..() + +/client/proc/empty_ai_core_toggle_latejoin() + set name = "Toggle AI Core Latejoin" + set category = "Admin" + + var/list/cores = list() + for(var/obj/structure/AIcore/deactivated/D in world) + cores["[D] ([D.loc.loc])"] = D + + var/id = input("Which core?", "Toggle AI Core Latejoin", null) as null|anything in cores + if(!id) return + + var/obj/structure/AIcore/deactivated/D = cores[id] + if(!D) return + + if(D in empty_playable_ai_cores) + empty_playable_ai_cores -= D + src << "\The [id] is now not available for latejoining AIs." + else + empty_playable_ai_cores += D + src << "\The [id] is now available for latejoining AIs." diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d20105a67e..823fb69f80 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -78,7 +78,8 @@ var/list/admin_verbs_admin = list( /client/proc/toggle_antagHUD_use, /client/proc/toggle_antagHUD_restrictions, /client/proc/allow_character_respawn, /* Allows a ghost to respawn */ - /client/proc/event_manager_panel + /client/proc/event_manager_panel, + /client/proc/empty_ai_core_toggle_latejoin ) var/list/admin_verbs_ban = list( /client/proc/unban_panel, diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 11a617360a..8aca00a711 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -15,6 +15,10 @@ var/global/list/empty_playable_ai_cores = list() set category = "OOC" set desc = "Wipe your core. This is functionally equivalent to cryo or robotic storage, freeing up your job slot." + if(ticker && ticker.mode && ticker.mode.name == "AI malfunction") + usr << "You cannot use this verb in malfunction. If you need to leave, please adminhelp." + return + // Guard against misclicks, this isn't the sort of thing we want happening accidentally if(alert("WARNING: This will immediately wipe your core and ghost you, removing your character from the round permanently (similar to cryo and robotic storage). Are you entirely sure you want to do this?", "Wipe Core", "No", "No", "Yes") != "Yes") From 609f9848bcdf795e27f09d3a40214a723267b46f Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Mon, 2 Feb 2015 13:33:00 -0500 Subject: [PATCH 268/282] Fix borg radio weirdness Borg radio interface toggling was backwards: when usr got the message that the subspace mode was disabled, the radio would actually enter subspace mode. --- code/game/objects/items/devices/radio/radio.dm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 667cb6f115..2fed0787cd 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -194,7 +194,7 @@ return radio_connection // Otherwise, if a channel is specified, look for it. - if(channels) + if(channels && channels.len > 0) if (message_mode == "department") // Department radio shortcut message_mode = channels[1] @@ -506,6 +506,7 @@ icon = 'icons/obj/robot_component.dmi' // Cyborgs radio icons should look like the component. icon_state = "radio" canhear_range = 3 + subspace_transmission = 1 /obj/item/device/radio/borg/talk_into() . = ..() @@ -594,11 +595,11 @@ if (href_list["mode"]) if(subspace_transmission != 1) subspace_transmission = 1 - usr << "Subspace Transmission is disabled" + usr << "Subspace Transmission is enabled" else subspace_transmission = 0 - usr << "Subspace Transmission is enabled" - if(subspace_transmission == 1)//Simple as fuck, clears the channel list to prevent talking/listening over them if subspace transmission is disabled + usr << "Subspace Transmission is disabled" + if(subspace_transmission == 0)//Simple as fuck, clears the channel list to prevent talking/listening over them if subspace transmission is disabled channels = list() else recalculateChannels() @@ -628,7 +629,7 @@ Toggle Loudspeaker
"} - if(!subspace_transmission)//Don't even bother if subspace isn't turned on + if(subspace_transmission)//Don't even bother if subspace isn't turned on for (var/ch_name in channels) dat+=text_sec_channel(ch_name, channels[ch_name]) dat+={"[text_wires()]"} From abeb634d017e764faafd17abf7cce76649622ac8 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Mon, 2 Feb 2015 13:51:13 -0500 Subject: [PATCH 269/282] Make borg radio window tell if loudspeaker is on --- code/game/objects/items/devices/radio/radio.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 2fed0787cd..24c44694f5 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -626,7 +626,7 @@ + +
Toggle Broadcast Mode
- Toggle Loudspeaker
+ Loudspeaker: [shut_up ? "Disengaged" : "Engaged"]
"} if(subspace_transmission)//Don't even bother if subspace isn't turned on From 2a1f0849d808716262ed7181563aa92ac21ff819 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 08:27:18 +0300 Subject: [PATCH 270/282] Cleaned out my WIP folder. --- baystation12.dme | 21 +++++++++---------- .../machinery/computer}/guestpass.dm | 0 .../Chinsky => game/objects/items}/ashtray.dm | 0 .../Chinsky => modules}/overmap/README.dm | 0 .../Chinsky => modules}/overmap/_defines.dm | 0 .../Chinsky => modules}/overmap/sectors.dm | 0 .../overmap/ships/computers/engine_control.dm | 0 .../overmap/ships/computers/helm.dm | 0 .../overmap/ships/computers/shuttle.dm | 0 .../overmap/ships/engines/engine.dm | 0 .../overmap/ships/engines/thermal.dm | 0 .../Chinsky => modules}/overmap/ships/ship.dm | 0 12 files changed, 10 insertions(+), 11 deletions(-) rename code/{WorkInProgress/Chinsky => game/machinery/computer}/guestpass.dm (100%) rename code/{WorkInProgress/Chinsky => game/objects/items}/ashtray.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/README.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/_defines.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/sectors.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/computers/engine_control.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/computers/helm.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/computers/shuttle.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/engines/engine.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/engines/thermal.dm (100%) rename code/{WorkInProgress/Chinsky => modules}/overmap/ships/ship.dm (100%) diff --git a/baystation12.dme b/baystation12.dme index 6c2d38aaef..04a5375f1f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -379,6 +379,7 @@ #include "code\game\machinery\computer\communications.dm" #include "code\game\machinery\computer\computer.dm" #include "code\game\machinery\computer\crew.dm" +#include "code\game\machinery\computer\guestpass.dm" #include "code\game\machinery\computer\HolodeckControl.dm" #include "code\game\machinery\computer\hologram.dm" #include "code\game\machinery\computer\law.dm" @@ -494,6 +495,7 @@ #include "code\game\objects\effects\spawners\gibspawner.dm" #include "code\game\objects\effects\spawners\vaultspawner.dm" #include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\ashtray.dm" #include "code\game\objects\items\blueprints.dm" #include "code\game\objects\items\bodybag.dm" #include "code\game\objects\items\contraband.dm" @@ -1182,6 +1184,14 @@ #include "code\modules\organs\organ_objects.dm" #include "code\modules\organs\pain.dm" #include "code\modules\organs\wound.dm" +#include "code\modules\overmap\_defines.dm" +#include "code\modules\overmap\sectors.dm" +#include "code\modules\overmap\ships\ship.dm" +#include "code\modules\overmap\ships\computers\engine_control.dm" +#include "code\modules\overmap\ships\computers\helm.dm" +#include "code\modules\overmap\ships\computers\shuttle.dm" +#include "code\modules\overmap\ships\engines\engine.dm" +#include "code\modules\overmap\ships\engines\thermal.dm" #include "code\modules\paperwork\carbonpaper.dm" #include "code\modules\paperwork\clipboard.dm" #include "code\modules\paperwork\faxmachine.dm" @@ -1475,17 +1485,6 @@ #include "code\WorkInProgress\Cael_Aislinn\Rust\virtual_particle_catcher.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\LaserComputer.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm" -#include "code\WorkInProgress\Chinsky\ashtray.dm" -#include "code\WorkInProgress\Chinsky\guestpass.dm" -#include "code\WorkInProgress\Chinsky\overmap\_defines.dm" -#include "code\WorkInProgress\Chinsky\overmap\README.dm" -#include "code\WorkInProgress\Chinsky\overmap\sectors.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\ship.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\computers\engine_control.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\computers\helm.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\computers\shuttle.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\engines\engine.dm" -#include "code\WorkInProgress\Chinsky\overmap\ships\engines\thermal.dm" #include "code\WorkInProgress\Cib\MedicalSideEffects.dm" #include "code\WorkInProgress\computer3\bios.dm" #include "code\WorkInProgress\computer3\buildandrepair.dm" diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/game/machinery/computer/guestpass.dm similarity index 100% rename from code/WorkInProgress/Chinsky/guestpass.dm rename to code/game/machinery/computer/guestpass.dm diff --git a/code/WorkInProgress/Chinsky/ashtray.dm b/code/game/objects/items/ashtray.dm similarity index 100% rename from code/WorkInProgress/Chinsky/ashtray.dm rename to code/game/objects/items/ashtray.dm diff --git a/code/WorkInProgress/Chinsky/overmap/README.dm b/code/modules/overmap/README.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/README.dm rename to code/modules/overmap/README.dm diff --git a/code/WorkInProgress/Chinsky/overmap/_defines.dm b/code/modules/overmap/_defines.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/_defines.dm rename to code/modules/overmap/_defines.dm diff --git a/code/WorkInProgress/Chinsky/overmap/sectors.dm b/code/modules/overmap/sectors.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/sectors.dm rename to code/modules/overmap/sectors.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm rename to code/modules/overmap/ships/computers/engine_control.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm rename to code/modules/overmap/ships/computers/helm.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm rename to code/modules/overmap/ships/computers/shuttle.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm b/code/modules/overmap/ships/engines/engine.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm rename to code/modules/overmap/ships/engines/engine.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm b/code/modules/overmap/ships/engines/thermal.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm rename to code/modules/overmap/ships/engines/thermal.dm diff --git a/code/WorkInProgress/Chinsky/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm similarity index 100% rename from code/WorkInProgress/Chinsky/overmap/ships/ship.dm rename to code/modules/overmap/ships/ship.dm From cbe030b56e37521ff147931d0ec2cff905ce8928 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 08:39:39 +0300 Subject: [PATCH 271/282] Compile fix --- code/modules/overmap/ships/ship.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm index b080c41b07..3397fe9a76 100644 --- a/code/modules/overmap/ships/ship.dm +++ b/code/modules/overmap/ships/ship.dm @@ -72,6 +72,7 @@ return INFINITY return max(abs(speed[1]),abs(speed[2]))/get_acceleration() +#define SIGN(X) (X == 0 ? 0 : (X > 0 ? 1 : -1)) /obj/effect/map/ship/proc/decelerate() if(!is_still() && can_burn()) if (speed[1]) From 7027b74ae7764e7ca30b450a3c0adb9786fa4330 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 11:18:21 +0300 Subject: [PATCH 272/282] Another pass at WIP folder --- baystation12.dme | 75 +++++++++--------- .../machinery/computer}/atmos_control.dm | 0 .../machinery}/computer3/NTOS.dm | 0 .../machinery}/computer3/bios.dm | 0 .../machinery}/computer3/buildandrepair.dm | 0 .../machinery}/computer3/component.dm | 0 .../machinery}/computer3/computer.dm | 0 .../machinery}/computer3/computer3_notes.dm | 0 .../computer3/computers/HolodeckControl.dm | 0 .../computer3/computers/Operating.dm | 0 .../machinery}/computer3/computers/arcade.dm | 0 .../computer3/computers/atmos_alert.dm | 0 .../machinery}/computer3/computers/camera.dm | 0 .../machinery}/computer3/computers/card.dm | 0 .../computer3/computers/communications.dm | 0 .../machinery}/computer3/computers/crew.dm | 0 .../machinery}/computer3/computers/customs.dm | 0 .../machinery}/computer3/computers/law.dm | 0 .../machinery}/computer3/computers/medical.dm | 0 .../machinery}/computer3/computers/power.dm | 0 .../computer3/computers/prisoner.dm | 0 .../machinery}/computer3/computers/robot.dm | 0 .../computer3/computers/security.dm | 0 .../machinery}/computer3/computers/welcome.dm | 0 .../machinery}/computer3/file.dm | 0 .../machinery}/computer3/laptop.dm | 0 .../machinery}/computer3/lapvend.dm | 0 .../machinery}/computer3/networking.dm | 0 .../machinery}/computer3/program.dm | 0 .../machinery}/computer3/program_disks.dm | 0 .../machinery}/computer3/server.dm | 0 .../machinery}/computer3/storage.dm | 0 .../objects/effects}/explosion_particles.dm | 0 .../objects/items/weapons}/autopsy.dm | 0 .../objects/items/weapons}/policetape.dm | 0 .../objects/items/weapons}/weldbackpack.dm | 0 .../{WorkInProgress => game}/periodic_news.dm | 0 .../admin/verbs}/buildmode.dm | 0 .../living/carbon/human/chem_side_effects.dm} | 0 .../Susan => icons/mob}/biocraps.dmi | Bin .../Susan => icons/turf}/desert.dmi | Bin 41 files changed, 37 insertions(+), 38 deletions(-) rename code/{WorkInProgress/Mini => game/machinery/computer}/atmos_control.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/NTOS.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/bios.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/buildandrepair.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/component.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computer.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computer3_notes.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/HolodeckControl.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/Operating.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/arcade.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/atmos_alert.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/camera.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/card.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/communications.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/crew.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/customs.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/law.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/medical.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/power.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/prisoner.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/robot.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/security.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/welcome.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/file.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/laptop.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/lapvend.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/networking.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/program.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/program_disks.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/server.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/storage.dm (100%) rename code/{WorkInProgress => game/objects/effects}/explosion_particles.dm (100%) rename code/{WorkInProgress => game/objects/items/weapons}/autopsy.dm (100%) rename code/{WorkInProgress/Ported => game/objects/items/weapons}/policetape.dm (100%) rename code/{WorkInProgress/Wrongnumber => game/objects/items/weapons}/weldbackpack.dm (100%) rename code/{WorkInProgress => game}/periodic_news.dm (100%) rename code/{WorkInProgress => modules/admin/verbs}/buildmode.dm (100%) rename code/{WorkInProgress/Cib/MedicalSideEffects.dm => modules/mob/living/carbon/human/chem_side_effects.dm} (100%) rename {code/WorkInProgress/Susan => icons/mob}/biocraps.dmi (100%) rename {code/WorkInProgress/Susan => icons/turf}/desert.dmi (100%) diff --git a/baystation12.dme b/baystation12.dme index 04a5375f1f..975f83fbca 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -194,6 +194,7 @@ #include "code\game\asteroid.dm" #include "code\game\atoms.dm" #include "code\game\atoms_movable.dm" +#include "code\game\periodic_news.dm" #include "code\game\response_team.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" @@ -372,6 +373,7 @@ #include "code\game\machinery\computer\aifixer.dm" #include "code\game\machinery\computer\arcade.dm" #include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" #include "code\game\machinery\computer\buildandrepair.dm" #include "code\game\machinery\computer\camera.dm" #include "code\game\machinery\computer\card.dm" @@ -398,6 +400,36 @@ #include "code\game\machinery\computer\station_alert.dm" #include "code\game\machinery\computer\supply.dm" #include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer3\bios.dm" +#include "code\game\machinery\computer3\buildandrepair.dm" +#include "code\game\machinery\computer3\component.dm" +#include "code\game\machinery\computer3\computer.dm" +#include "code\game\machinery\computer3\computer3_notes.dm" +#include "code\game\machinery\computer3\file.dm" +#include "code\game\machinery\computer3\laptop.dm" +#include "code\game\machinery\computer3\lapvend.dm" +#include "code\game\machinery\computer3\networking.dm" +#include "code\game\machinery\computer3\NTOS.dm" +#include "code\game\machinery\computer3\program.dm" +#include "code\game\machinery\computer3\program_disks.dm" +#include "code\game\machinery\computer3\server.dm" +#include "code\game\machinery\computer3\storage.dm" +#include "code\game\machinery\computer3\computers\arcade.dm" +#include "code\game\machinery\computer3\computers\atmos_alert.dm" +#include "code\game\machinery\computer3\computers\camera.dm" +#include "code\game\machinery\computer3\computers\card.dm" +#include "code\game\machinery\computer3\computers\communications.dm" +#include "code\game\machinery\computer3\computers\crew.dm" +#include "code\game\machinery\computer3\computers\customs.dm" +#include "code\game\machinery\computer3\computers\HolodeckControl.dm" +#include "code\game\machinery\computer3\computers\law.dm" +#include "code\game\machinery\computer3\computers\medical.dm" +#include "code\game\machinery\computer3\computers\Operating.dm" +#include "code\game\machinery\computer3\computers\power.dm" +#include "code\game\machinery\computer3\computers\prisoner.dm" +#include "code\game\machinery\computer3\computers\robot.dm" +#include "code\game\machinery\computer3\computers\security.dm" +#include "code\game\machinery\computer3\computers\welcome.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_control.dm" #include "code\game\machinery\doors\airlock_electronics.dm" @@ -468,6 +500,7 @@ #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\chemsmoke.dm" #include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" #include "code\game\objects\effects\landmarks.dm" @@ -553,6 +586,7 @@ #include "code\game\objects\items\stacks\tiles\plasteel.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\autopsy.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" @@ -570,6 +604,7 @@ #include "code\game\objects\items\weapons\mop.dm" #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\policetape.dm" #include "code\game\objects\items\weapons\power_cells.dm" #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RSF.dm" @@ -585,6 +620,7 @@ #include "code\game\objects\items\weapons\tools.dm" #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" #include "code\game\objects\items\weapons\circuitboards\broken.dm" #include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" @@ -745,6 +781,7 @@ #include "code\modules\admin\verbs\adminsay.dm" #include "code\modules\admin\verbs\atmosdebug.dm" #include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\buildmode.dm" #include "code\modules\admin\verbs\check_customitem_activity.dm" #include "code\modules\admin\verbs\cinematic.dm" #include "code\modules\admin\verbs\custom_event.dm" @@ -1458,10 +1495,6 @@ #include "code\TriDimension\Structures.dm" #include "code\TriDimension\Structures_presets.dm" #include "code\TriDimension\Turfs.dm" -#include "code\WorkInProgress\autopsy.dm" -#include "code\WorkInProgress\buildmode.dm" -#include "code\WorkInProgress\explosion_particles.dm" -#include "code\WorkInProgress\periodic_news.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" @@ -1485,42 +1518,8 @@ #include "code\WorkInProgress\Cael_Aislinn\Rust\virtual_particle_catcher.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\LaserComputer.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm" -#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" -#include "code\WorkInProgress\computer3\bios.dm" -#include "code\WorkInProgress\computer3\buildandrepair.dm" -#include "code\WorkInProgress\computer3\component.dm" -#include "code\WorkInProgress\computer3\computer.dm" -#include "code\WorkInProgress\computer3\computer3_notes.dm" -#include "code\WorkInProgress\computer3\file.dm" -#include "code\WorkInProgress\computer3\laptop.dm" -#include "code\WorkInProgress\computer3\lapvend.dm" -#include "code\WorkInProgress\computer3\networking.dm" -#include "code\WorkInProgress\computer3\NTOS.dm" -#include "code\WorkInProgress\computer3\program.dm" -#include "code\WorkInProgress\computer3\program_disks.dm" -#include "code\WorkInProgress\computer3\server.dm" -#include "code\WorkInProgress\computer3\storage.dm" -#include "code\WorkInProgress\computer3\computers\arcade.dm" -#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" -#include "code\WorkInProgress\computer3\computers\camera.dm" -#include "code\WorkInProgress\computer3\computers\card.dm" -#include "code\WorkInProgress\computer3\computers\communications.dm" -#include "code\WorkInProgress\computer3\computers\crew.dm" -#include "code\WorkInProgress\computer3\computers\customs.dm" -#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" -#include "code\WorkInProgress\computer3\computers\law.dm" -#include "code\WorkInProgress\computer3\computers\medical.dm" -#include "code\WorkInProgress\computer3\computers\Operating.dm" -#include "code\WorkInProgress\computer3\computers\power.dm" -#include "code\WorkInProgress\computer3\computers\prisoner.dm" -#include "code\WorkInProgress\computer3\computers\robot.dm" -#include "code\WorkInProgress\computer3\computers\security.dm" -#include "code\WorkInProgress\computer3\computers\welcome.dm" -#include "code\WorkInProgress\Mini\atmos_control.dm" -#include "code\WorkInProgress\Ported\policetape.dm" #include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" #include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" -#include "code\WorkInProgress\Wrongnumber\weldbackpack.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\_gas_mixture_xgm.dm" #include "code\ZAS\_xgm_gas_data.dm" diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm similarity index 100% rename from code/WorkInProgress/Mini/atmos_control.dm rename to code/game/machinery/computer/atmos_control.dm diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/game/machinery/computer3/NTOS.dm similarity index 100% rename from code/WorkInProgress/computer3/NTOS.dm rename to code/game/machinery/computer3/NTOS.dm diff --git a/code/WorkInProgress/computer3/bios.dm b/code/game/machinery/computer3/bios.dm similarity index 100% rename from code/WorkInProgress/computer3/bios.dm rename to code/game/machinery/computer3/bios.dm diff --git a/code/WorkInProgress/computer3/buildandrepair.dm b/code/game/machinery/computer3/buildandrepair.dm similarity index 100% rename from code/WorkInProgress/computer3/buildandrepair.dm rename to code/game/machinery/computer3/buildandrepair.dm diff --git a/code/WorkInProgress/computer3/component.dm b/code/game/machinery/computer3/component.dm similarity index 100% rename from code/WorkInProgress/computer3/component.dm rename to code/game/machinery/computer3/component.dm diff --git a/code/WorkInProgress/computer3/computer.dm b/code/game/machinery/computer3/computer.dm similarity index 100% rename from code/WorkInProgress/computer3/computer.dm rename to code/game/machinery/computer3/computer.dm diff --git a/code/WorkInProgress/computer3/computer3_notes.dm b/code/game/machinery/computer3/computer3_notes.dm similarity index 100% rename from code/WorkInProgress/computer3/computer3_notes.dm rename to code/game/machinery/computer3/computer3_notes.dm diff --git a/code/WorkInProgress/computer3/computers/HolodeckControl.dm b/code/game/machinery/computer3/computers/HolodeckControl.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/HolodeckControl.dm rename to code/game/machinery/computer3/computers/HolodeckControl.dm diff --git a/code/WorkInProgress/computer3/computers/Operating.dm b/code/game/machinery/computer3/computers/Operating.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/Operating.dm rename to code/game/machinery/computer3/computers/Operating.dm diff --git a/code/WorkInProgress/computer3/computers/arcade.dm b/code/game/machinery/computer3/computers/arcade.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/arcade.dm rename to code/game/machinery/computer3/computers/arcade.dm diff --git a/code/WorkInProgress/computer3/computers/atmos_alert.dm b/code/game/machinery/computer3/computers/atmos_alert.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/atmos_alert.dm rename to code/game/machinery/computer3/computers/atmos_alert.dm diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/game/machinery/computer3/computers/camera.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/camera.dm rename to code/game/machinery/computer3/computers/camera.dm diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/card.dm rename to code/game/machinery/computer3/computers/card.dm diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/game/machinery/computer3/computers/communications.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/communications.dm rename to code/game/machinery/computer3/computers/communications.dm diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/game/machinery/computer3/computers/crew.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/crew.dm rename to code/game/machinery/computer3/computers/crew.dm diff --git a/code/WorkInProgress/computer3/computers/customs.dm b/code/game/machinery/computer3/computers/customs.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/customs.dm rename to code/game/machinery/computer3/computers/customs.dm diff --git a/code/WorkInProgress/computer3/computers/law.dm b/code/game/machinery/computer3/computers/law.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/law.dm rename to code/game/machinery/computer3/computers/law.dm diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/game/machinery/computer3/computers/medical.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/medical.dm rename to code/game/machinery/computer3/computers/medical.dm diff --git a/code/WorkInProgress/computer3/computers/power.dm b/code/game/machinery/computer3/computers/power.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/power.dm rename to code/game/machinery/computer3/computers/power.dm diff --git a/code/WorkInProgress/computer3/computers/prisoner.dm b/code/game/machinery/computer3/computers/prisoner.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/prisoner.dm rename to code/game/machinery/computer3/computers/prisoner.dm diff --git a/code/WorkInProgress/computer3/computers/robot.dm b/code/game/machinery/computer3/computers/robot.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/robot.dm rename to code/game/machinery/computer3/computers/robot.dm diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/game/machinery/computer3/computers/security.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/security.dm rename to code/game/machinery/computer3/computers/security.dm diff --git a/code/WorkInProgress/computer3/computers/welcome.dm b/code/game/machinery/computer3/computers/welcome.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/welcome.dm rename to code/game/machinery/computer3/computers/welcome.dm diff --git a/code/WorkInProgress/computer3/file.dm b/code/game/machinery/computer3/file.dm similarity index 100% rename from code/WorkInProgress/computer3/file.dm rename to code/game/machinery/computer3/file.dm diff --git a/code/WorkInProgress/computer3/laptop.dm b/code/game/machinery/computer3/laptop.dm similarity index 100% rename from code/WorkInProgress/computer3/laptop.dm rename to code/game/machinery/computer3/laptop.dm diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/game/machinery/computer3/lapvend.dm similarity index 100% rename from code/WorkInProgress/computer3/lapvend.dm rename to code/game/machinery/computer3/lapvend.dm diff --git a/code/WorkInProgress/computer3/networking.dm b/code/game/machinery/computer3/networking.dm similarity index 100% rename from code/WorkInProgress/computer3/networking.dm rename to code/game/machinery/computer3/networking.dm diff --git a/code/WorkInProgress/computer3/program.dm b/code/game/machinery/computer3/program.dm similarity index 100% rename from code/WorkInProgress/computer3/program.dm rename to code/game/machinery/computer3/program.dm diff --git a/code/WorkInProgress/computer3/program_disks.dm b/code/game/machinery/computer3/program_disks.dm similarity index 100% rename from code/WorkInProgress/computer3/program_disks.dm rename to code/game/machinery/computer3/program_disks.dm diff --git a/code/WorkInProgress/computer3/server.dm b/code/game/machinery/computer3/server.dm similarity index 100% rename from code/WorkInProgress/computer3/server.dm rename to code/game/machinery/computer3/server.dm diff --git a/code/WorkInProgress/computer3/storage.dm b/code/game/machinery/computer3/storage.dm similarity index 100% rename from code/WorkInProgress/computer3/storage.dm rename to code/game/machinery/computer3/storage.dm diff --git a/code/WorkInProgress/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm similarity index 100% rename from code/WorkInProgress/explosion_particles.dm rename to code/game/objects/effects/explosion_particles.dm diff --git a/code/WorkInProgress/autopsy.dm b/code/game/objects/items/weapons/autopsy.dm similarity index 100% rename from code/WorkInProgress/autopsy.dm rename to code/game/objects/items/weapons/autopsy.dm diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/game/objects/items/weapons/policetape.dm similarity index 100% rename from code/WorkInProgress/Ported/policetape.dm rename to code/game/objects/items/weapons/policetape.dm diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm similarity index 100% rename from code/WorkInProgress/Wrongnumber/weldbackpack.dm rename to code/game/objects/items/weapons/weldbackpack.dm diff --git a/code/WorkInProgress/periodic_news.dm b/code/game/periodic_news.dm similarity index 100% rename from code/WorkInProgress/periodic_news.dm rename to code/game/periodic_news.dm diff --git a/code/WorkInProgress/buildmode.dm b/code/modules/admin/verbs/buildmode.dm similarity index 100% rename from code/WorkInProgress/buildmode.dm rename to code/modules/admin/verbs/buildmode.dm diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm similarity index 100% rename from code/WorkInProgress/Cib/MedicalSideEffects.dm rename to code/modules/mob/living/carbon/human/chem_side_effects.dm diff --git a/code/WorkInProgress/Susan/biocraps.dmi b/icons/mob/biocraps.dmi similarity index 100% rename from code/WorkInProgress/Susan/biocraps.dmi rename to icons/mob/biocraps.dmi diff --git a/code/WorkInProgress/Susan/desert.dmi b/icons/turf/desert.dmi similarity index 100% rename from code/WorkInProgress/Susan/desert.dmi rename to icons/turf/desert.dmi From 72463a35f3ac88483bb7256e54feed9bc2abf5a1 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 11:18:21 +0300 Subject: [PATCH 273/282] Another pass at WIP folder --- baystation12.dme | 112 ++++----- .../Cael_Aislinn/Supermatter/LaserComputer.dm | 122 --------- .../Cael_Aislinn/Supermatter/Shard.dmi | Bin 1575 -> 0 bytes .../Supermatter/ZeroPointLaser.dm | 236 ------------------ code/WorkInProgress/Cael_Aislinn/unknown.dmi | Bin 950 -> 0 bytes code/__HELPERS/global_lists.dm | 6 - .../machinery/computer}/atmos_control.dm | 0 .../machinery}/computer3/NTOS.dm | 0 .../machinery}/computer3/bios.dm | 0 .../machinery}/computer3/buildandrepair.dm | 0 .../machinery}/computer3/component.dm | 0 .../machinery}/computer3/computer.dm | 0 .../machinery}/computer3/computer3_notes.dm | 0 .../computer3/computers/HolodeckControl.dm | 0 .../computer3/computers/Operating.dm | 0 .../machinery}/computer3/computers/arcade.dm | 0 .../computer3/computers/atmos_alert.dm | 0 .../machinery}/computer3/computers/camera.dm | 0 .../machinery}/computer3/computers/card.dm | 0 .../computer3/computers/communications.dm | 0 .../machinery}/computer3/computers/crew.dm | 0 .../machinery}/computer3/computers/customs.dm | 0 .../machinery}/computer3/computers/law.dm | 0 .../machinery}/computer3/computers/medical.dm | 0 .../machinery}/computer3/computers/power.dm | 0 .../computer3/computers/prisoner.dm | 0 .../machinery}/computer3/computers/robot.dm | 0 .../computer3/computers/security.dm | 0 .../machinery}/computer3/computers/welcome.dm | 0 .../machinery}/computer3/file.dm | 0 .../machinery}/computer3/laptop.dm | 0 .../machinery}/computer3/lapvend.dm | 0 .../machinery}/computer3/networking.dm | 0 .../machinery}/computer3/program.dm | 0 .../machinery}/computer3/program_disks.dm | 0 .../machinery}/computer3/server.dm | 0 .../machinery}/computer3/storage.dm | 0 .../objects/effects}/explosion_particles.dm | 0 .../objects/items/weapons}/autopsy.dm | 0 code/game/objects/items/weapons/cards_ids.dm | 1 - .../objects/items/weapons}/policetape.dm | 0 .../objects/items/weapons}/weldbackpack.dm | 0 .../{WorkInProgress => game}/periodic_news.dm | 0 .../admin/verbs}/buildmode.dm | 0 .../living/carbon/human/chem_side_effects.dm} | 0 .../Rust => modules/power/rust}/areas.dm | 0 .../power/rust}/circuits_and_design.dm | 2 +- .../power/rust}/core_control.dm | 2 +- .../Rust => modules/power/rust}/core_field.dm | 4 +- .../Rust => modules/power/rust}/core_gen.dm | 2 +- .../power/rust}/core_monitor.dm | 0 .../power/rust}/fuel_assembly.dm | 2 +- .../power/rust}/fuel_assembly_port.dm | 2 +- .../rust}/fuel_assembly_port_construction.dm | 2 +- .../power/rust}/fuel_compressor.dm | 2 +- .../rust}/fuel_compressor_construction.dm | 2 +- .../power/rust}/fuel_control.dm | 2 +- .../power/rust}/fuel_injector.dm | 2 +- .../power/rust}/fusion_reactions.dm | 0 .../Rust => modules/power/rust}/gyrotron.dm | 2 +- .../power/rust}/gyrotron_controller.dm | 2 +- .../Rust => modules/power/rust}/radiation.dm | 0 .../power/rust}/virtual_particle_catcher.dm | 0 .../Cael_Aislinn => icons}/covershield.dmi | Bin .../Cael_Aislinn => icons}/meteor_turret.dmi | Bin .../Susan => icons/mob}/biocraps.dmi | Bin .../Cael_Aislinn/Rust => icons}/rust.dmi | Bin .../Cael_Aislinn/Rust => icons}/rust_old.dmi | Bin .../Susan => icons/turf}/desert.dmi | Bin 69 files changed, 68 insertions(+), 437 deletions(-) delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/unknown.dmi rename code/{WorkInProgress/Mini => game/machinery/computer}/atmos_control.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/NTOS.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/bios.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/buildandrepair.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/component.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computer.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computer3_notes.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/HolodeckControl.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/Operating.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/arcade.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/atmos_alert.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/camera.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/card.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/communications.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/crew.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/customs.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/law.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/medical.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/power.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/prisoner.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/robot.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/security.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/computers/welcome.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/file.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/laptop.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/lapvend.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/networking.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/program.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/program_disks.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/server.dm (100%) rename code/{WorkInProgress => game/machinery}/computer3/storage.dm (100%) rename code/{WorkInProgress => game/objects/effects}/explosion_particles.dm (100%) rename code/{WorkInProgress => game/objects/items/weapons}/autopsy.dm (100%) rename code/{WorkInProgress/Ported => game/objects/items/weapons}/policetape.dm (100%) rename code/{WorkInProgress/Wrongnumber => game/objects/items/weapons}/weldbackpack.dm (100%) rename code/{WorkInProgress => game}/periodic_news.dm (100%) rename code/{WorkInProgress => modules/admin/verbs}/buildmode.dm (100%) rename code/{WorkInProgress/Cib/MedicalSideEffects.dm => modules/mob/living/carbon/human/chem_side_effects.dm} (100%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/areas.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/circuits_and_design.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/core_control.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/core_field.dm (99%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/core_gen.dm (99%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/core_monitor.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_assembly.dm (83%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_assembly_port.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_assembly_port_construction.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_compressor.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_compressor_construction.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_control.dm (99%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fuel_injector.dm (99%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/fusion_reactions.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/gyrotron.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/gyrotron_controller.dm (98%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/radiation.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Rust => modules/power/rust}/virtual_particle_catcher.dm (100%) rename {code/WorkInProgress/Cael_Aislinn => icons}/covershield.dmi (100%) rename {code/WorkInProgress/Cael_Aislinn => icons}/meteor_turret.dmi (100%) rename {code/WorkInProgress/Susan => icons/mob}/biocraps.dmi (100%) rename {code/WorkInProgress/Cael_Aislinn/Rust => icons}/rust.dmi (100%) rename {code/WorkInProgress/Cael_Aislinn/Rust => icons}/rust_old.dmi (100%) rename {code/WorkInProgress/Susan => icons/turf}/desert.dmi (100%) diff --git a/baystation12.dme b/baystation12.dme index 04a5375f1f..2a272af5dd 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -194,6 +194,7 @@ #include "code\game\asteroid.dm" #include "code\game\atoms.dm" #include "code\game\atoms_movable.dm" +#include "code\game\periodic_news.dm" #include "code\game\response_team.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" @@ -372,6 +373,7 @@ #include "code\game\machinery\computer\aifixer.dm" #include "code\game\machinery\computer\arcade.dm" #include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" #include "code\game\machinery\computer\buildandrepair.dm" #include "code\game\machinery\computer\camera.dm" #include "code\game\machinery\computer\card.dm" @@ -398,6 +400,36 @@ #include "code\game\machinery\computer\station_alert.dm" #include "code\game\machinery\computer\supply.dm" #include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer3\bios.dm" +#include "code\game\machinery\computer3\buildandrepair.dm" +#include "code\game\machinery\computer3\component.dm" +#include "code\game\machinery\computer3\computer.dm" +#include "code\game\machinery\computer3\computer3_notes.dm" +#include "code\game\machinery\computer3\file.dm" +#include "code\game\machinery\computer3\laptop.dm" +#include "code\game\machinery\computer3\lapvend.dm" +#include "code\game\machinery\computer3\networking.dm" +#include "code\game\machinery\computer3\NTOS.dm" +#include "code\game\machinery\computer3\program.dm" +#include "code\game\machinery\computer3\program_disks.dm" +#include "code\game\machinery\computer3\server.dm" +#include "code\game\machinery\computer3\storage.dm" +#include "code\game\machinery\computer3\computers\arcade.dm" +#include "code\game\machinery\computer3\computers\atmos_alert.dm" +#include "code\game\machinery\computer3\computers\camera.dm" +#include "code\game\machinery\computer3\computers\card.dm" +#include "code\game\machinery\computer3\computers\communications.dm" +#include "code\game\machinery\computer3\computers\crew.dm" +#include "code\game\machinery\computer3\computers\customs.dm" +#include "code\game\machinery\computer3\computers\HolodeckControl.dm" +#include "code\game\machinery\computer3\computers\law.dm" +#include "code\game\machinery\computer3\computers\medical.dm" +#include "code\game\machinery\computer3\computers\Operating.dm" +#include "code\game\machinery\computer3\computers\power.dm" +#include "code\game\machinery\computer3\computers\prisoner.dm" +#include "code\game\machinery\computer3\computers\robot.dm" +#include "code\game\machinery\computer3\computers\security.dm" +#include "code\game\machinery\computer3\computers\welcome.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_control.dm" #include "code\game\machinery\doors\airlock_electronics.dm" @@ -468,6 +500,7 @@ #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\chemsmoke.dm" #include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" #include "code\game\objects\effects\landmarks.dm" @@ -553,6 +586,7 @@ #include "code\game\objects\items\stacks\tiles\plasteel.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\autopsy.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" @@ -570,6 +604,7 @@ #include "code\game\objects\items\weapons\mop.dm" #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\policetape.dm" #include "code\game\objects\items\weapons\power_cells.dm" #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RSF.dm" @@ -585,6 +620,7 @@ #include "code\game\objects\items\weapons\tools.dm" #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" #include "code\game\objects\items\weapons\circuitboards\broken.dm" #include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" @@ -745,6 +781,7 @@ #include "code\modules\admin\verbs\adminsay.dm" #include "code\modules\admin\verbs\atmosdebug.dm" #include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\buildmode.dm" #include "code\modules\admin\verbs\check_customitem_activity.dm" #include "code\modules\admin\verbs\cinematic.dm" #include "code\modules\admin\verbs\custom_event.dm" @@ -1230,6 +1267,23 @@ #include "code\modules\power\antimatter\containment_jar.dm" #include "code\modules\power\antimatter\control.dm" #include "code\modules\power\antimatter\shielding.dm" +#include "code\modules\power\rust\circuits_and_design.dm" +#include "code\modules\power\rust\core_control.dm" +#include "code\modules\power\rust\core_field.dm" +#include "code\modules\power\rust\core_gen.dm" +#include "code\modules\power\rust\core_monitor.dm" +#include "code\modules\power\rust\fuel_assembly.dm" +#include "code\modules\power\rust\fuel_assembly_port.dm" +#include "code\modules\power\rust\fuel_assembly_port_construction.dm" +#include "code\modules\power\rust\fuel_compressor.dm" +#include "code\modules\power\rust\fuel_compressor_construction.dm" +#include "code\modules\power\rust\fuel_control.dm" +#include "code\modules\power\rust\fuel_injector.dm" +#include "code\modules\power\rust\fusion_reactions.dm" +#include "code\modules\power\rust\gyrotron.dm" +#include "code\modules\power\rust\gyrotron_controller.dm" +#include "code\modules\power\rust\radiation.dm" +#include "code\modules\power\rust\virtual_particle_catcher.dm" #include "code\modules\power\sensors\powernet_sensor.dm" #include "code\modules\power\sensors\sensor_monitoring.dm" #include "code\modules\power\singularity\collector.dm" @@ -1458,69 +1512,11 @@ #include "code\TriDimension\Structures.dm" #include "code\TriDimension\Structures_presets.dm" #include "code\TriDimension\Turfs.dm" -#include "code\WorkInProgress\autopsy.dm" -#include "code\WorkInProgress\buildmode.dm" -#include "code\WorkInProgress\explosion_particles.dm" -#include "code\WorkInProgress\periodic_news.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\circuits_and_design.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\core_control.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\core_field.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\core_gen.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\core_monitor.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_assembly.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_assembly_port.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_assembly_port_construction.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_compressor.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_compressor_construction.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_control.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fuel_injector.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\fusion_reactions.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\gyrotron.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\gyrotron_controller.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\radiation.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\virtual_particle_catcher.dm" -#include "code\WorkInProgress\Cael_Aislinn\Supermatter\LaserComputer.dm" -#include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm" -#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" -#include "code\WorkInProgress\computer3\bios.dm" -#include "code\WorkInProgress\computer3\buildandrepair.dm" -#include "code\WorkInProgress\computer3\component.dm" -#include "code\WorkInProgress\computer3\computer.dm" -#include "code\WorkInProgress\computer3\computer3_notes.dm" -#include "code\WorkInProgress\computer3\file.dm" -#include "code\WorkInProgress\computer3\laptop.dm" -#include "code\WorkInProgress\computer3\lapvend.dm" -#include "code\WorkInProgress\computer3\networking.dm" -#include "code\WorkInProgress\computer3\NTOS.dm" -#include "code\WorkInProgress\computer3\program.dm" -#include "code\WorkInProgress\computer3\program_disks.dm" -#include "code\WorkInProgress\computer3\server.dm" -#include "code\WorkInProgress\computer3\storage.dm" -#include "code\WorkInProgress\computer3\computers\arcade.dm" -#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" -#include "code\WorkInProgress\computer3\computers\camera.dm" -#include "code\WorkInProgress\computer3\computers\card.dm" -#include "code\WorkInProgress\computer3\computers\communications.dm" -#include "code\WorkInProgress\computer3\computers\crew.dm" -#include "code\WorkInProgress\computer3\computers\customs.dm" -#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" -#include "code\WorkInProgress\computer3\computers\law.dm" -#include "code\WorkInProgress\computer3\computers\medical.dm" -#include "code\WorkInProgress\computer3\computers\Operating.dm" -#include "code\WorkInProgress\computer3\computers\power.dm" -#include "code\WorkInProgress\computer3\computers\prisoner.dm" -#include "code\WorkInProgress\computer3\computers\robot.dm" -#include "code\WorkInProgress\computer3\computers\security.dm" -#include "code\WorkInProgress\computer3\computers\welcome.dm" -#include "code\WorkInProgress\Mini\atmos_control.dm" -#include "code\WorkInProgress\Ported\policetape.dm" #include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" #include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" -#include "code\WorkInProgress\Wrongnumber\weldbackpack.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\_gas_mixture_xgm.dm" #include "code\ZAS\_xgm_gas_data.dm" diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm deleted file mode 100644 index d606337f4c..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm +++ /dev/null @@ -1,122 +0,0 @@ -//The laser control computer -//Used to control the lasers -/obj/machinery/computer/lasercon - name = "Laser control computer" - var/list/lasers = new/list - icon_state = "atmos" - var/id - //var/advanced = 0 - -/obj/machinery/computer/lasercon - New() - spawn(1) - for(var/obj/machinery/zero_point_emitter/las in world) - if(las.id == src.id) - lasers += las - - process() - ..() - updateDialog() - - interact(mob/user) - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=laser_control") - return - var/t = "Laser status monitor
" - for(var/obj/machinery/zero_point_emitter/laser in lasers) - t += "Zero Point Laser
" - t += "Power level: - - - - [laser.energy]MeV + + + +
" - t += "Frequency: - - [laser.freq] + +
" - t += "Output: [laser.active ? "Online Offline" : "Online Offline "]
" - t += "
" - t += "Close
" - user << browse(t, "window=laser_control;size=500x800") - user.machine = src - -/* -/obj/machinery/computer/lasercon/proc/interact(mob/user) - - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=powcomp") - return - - - user.machine = src - var/t = "Laser status monitor
" - - var/obj/machinery/engine/laser/laser = src.laser[1] - - if(!laser) - t += "\red No laser found" - else - - - t += "Power level: - - - - [add_lspace(laser.power,5)] + + + +
" - if(advanced) - t += "Frequency: - - [add_lspace(laser.freq,5)] + +
" - - t += "Output: [laser.on ? "Online Offline" : "Online Offline "]
" - - t += "

Close
" - - user << browse(t, "window=lascomp;size=420x700") - onclose(user, "lascomp") -*/ - -/obj/machinery/computer/lasercon/Topic(href, href_list) - ..() - if( href_list["close"] ) - usr << browse(null, "window=laser_control") - usr.machine = null - return - - else if( href_list["input"] ) - var/i = text2num(href_list["input"]) - var/d = i - for(var/obj/machinery/zero_point_emitter/laser in lasers) - var/new_power = laser.energy + d - new_power = max(new_power,0.0001) //lowest possible value - new_power = min(new_power,0.01) //highest possible value - laser.energy = new_power - // - src.updateDialog() - else if( href_list["online"] ) - var/obj/machinery/zero_point_emitter/laser = href_list["online"] - laser.active = !laser.active - src.updateDialog() - else if( href_list["freq"] ) - var/amt = text2num(href_list["freq"]) - for(var/obj/machinery/zero_point_emitter/laser in lasers) - var/new_freq = laser.frequency + amt - new_freq = max(new_freq,1) //lowest possible value - new_freq = min(new_freq,20000) //highest possible value - laser.frequency = new_freq - // - src.updateDialog() - -/* -/obj/machinery/computer/lasercon/process() - if(!(stat & (NOPOWER|BROKEN)) ) - use_power(250) - - //src.updateDialog() -*/ - -/* -/obj/machinery/computer/lasercon/power_change() - - if(stat & BROKEN) - icon_state = "broken" - else - if( powered() ) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - src.icon_state = "c_unpowered" - stat |= NOPOWER -*/ diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi b/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi deleted file mode 100644 index 3d312aa7927f332ca67609344b7aad8c7fd6d670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1575 zcmZWpdpy$%6#s23dCZU@G|PJEp=e?iZEVJ3D9LMSuI5tiEK%~>Mq{Mrab1coQhHsF z^q4y|DUo5ty-5^#eR^EvJz>AQTe<)A$2sSFo}cqQf1FegHz&B7p&9@HaEdeOfWmVA zla)#eJ>8!qU?jT_Yb11Puj~PPLC!}cP38@ zlO>M`l461+fgq~T7Nuy5XxfrT_L5?INrJr~1t~a&6u2Orot+cd>?_4r#A0zwY@8FB ze3(YV;c!GEF*Y{#CCjck%&t7hF4KE=%bjb@AvWThzt;rW+{()+@yBJIP2hW2zsLxC zk{VhTAC%4X6ESSc18wqrY}jr)tEk9QioSqobjlVbV&KXHae2Ntw!3wvBPzwgB+3pQ zXpN3y&@QC$!vegxr%wd??)RbKT?xAs>`Y-fstU4@$OCSk0Ab`+u);}5ba4xJ%?R?_l7~U)zEMUZv_L3y9kFk#&cl-Q?XziA5!oE@|qM z_T@XQI_@Z^nQf{5@+YSb3P{#qjd<`*JOC&MQ%Lp)qYFm;L&FE0wPqfL#-8RBtU_CS zN-{EuWeu5H;)X!5*qmH)am_QY@OznSO}=b8<`{FR%f&nDYRtzDD;SJt`+j@~UZ2m| zp3~RleQU>&+mc$wGl*7rPZiLV3G-RMB%J$vs!?`0{RkFMiR-SKe!53?>lY&`w_?wQ zZXMa(tnyqQz{gh@kiE26`>}1iw-AIajB~T%#lqS^@7vam;-8{BZ+5LoW4EcA<{~`(qzaLU(ebV#u{6^!#E+&)t`m$R-K^!HJ9v9ZhPfs%i z(oX%z9ZMDXLidJMF{6)F<|i*aI$q}{?#i|{%L8ZaRl+=s-JPbdbuE~Nd04O`Ai~S1 zgm1=9^|b0c^^1%1+2_?p7Di1#GttuEl%IHE5Fa(R0ygCb3P5ytQsNoK!3+DLZu{Sx;#@BXdqJO znmA<&b!DN(3tPB_8!44~vKsCuO&DYjBQ;WoqBcClBb9C26Y1@0tjF&xuFBjs#vKPw zkS1(2#+y1rT_*}x?{yxTIy)d{L6eglolRHJ;OR~hJ}JH0FwgCfWojO4r$u4eDjmz9 zD#;`hfhK~WuzKhWJQt3acMc)QR z$5RmshTpS~_m&t{_xLg5>x`1*`_8x`^`qB4vyV-q~(inZOg6Xun^ zQb}x3fyRJ>5tZkQkRL%h;w@M*53yo%ILiPn2AigoLga)M%WcZbKo3|h`oH=|;1LZ9 zzDgX3KM1%T3hGL?HMcnl=Wq*CrG%;T_&B;dMPCK?JOz6a@7R XpBFWtLh8~K{|}%zx{=Bq=!yRVxJmM# diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm deleted file mode 100644 index 66ccf181bd..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm +++ /dev/null @@ -1,236 +0,0 @@ -//new supermatter lasers - -/obj/machinery/zero_point_emitter - name = "Zero-point laser" - desc = "A super-powerful laser" - icon = 'icons/obj/engine.dmi' - icon_state = "laser" - anchored = 0 - density = 1 - req_access = list(access_research) - - use_power = 1 - idle_power_usage = 10 - active_power_usage = 300 - - var/active = 0 - var/fire_delay = 100 - var/last_shot = 0 - var/shot_number = 0 - var/state = 0 - var/locked = 0 - - var/energy = 0.0001 - var/frequency = 1 - - var/freq = 50000 - var/id - -/obj/machinery/zero_point_emitter/verb/rotate() - set name = "Rotate" - set category = "Object" - set src in oview(1) - - if (src.anchored || usr:stat) - usr << "It is fastened to the floor!" - return 0 - src.set_dir(turn(src.dir, 90)) - return 1 - -/obj/machinery/zero_point_emitter/New() - ..() - return - -/obj/machinery/zero_point_emitter/update_icon() - if (active && !(stat & (NOPOWER|BROKEN))) - icon_state = "laser"//"emitter_+a" - else - icon_state = "laser"//"emitter" - -/obj/machinery/zero_point_emitter/attack_hand(mob/user as mob) - src.add_fingerprint(user) - if(state == 2) - if(!src.locked) - if(src.active==1) - src.active = 0 - user << "You turn off the [src]." - src.use_power = 1 - else - src.active = 1 - user << "You turn on the [src]." - src.shot_number = 0 - src.fire_delay = 100 - src.use_power = 2 - update_icon() - else - user << "\red The controls are locked!" - else - user << "\red The [src] needs to be firmly secured to the floor first." - return 1 - - -/obj/machinery/zero_point_emitter/emp_act(var/severity)//Emitters are hardened but still might have issues - use_power(1000) -/* if((severity == 1)&&prob(1)&&prob(1)) - if(src.active) - src.active = 0 - src.use_power = 1 */ - return 1 - -/obj/machinery/zero_point_emitter/process() - if(stat & (NOPOWER|BROKEN)) - return - if(src.state != 2) - src.active = 0 - return - if(((src.last_shot + src.fire_delay) <= world.time) && (src.active == 1)) - src.last_shot = world.time - if(src.shot_number < 3) - src.fire_delay = 2 - src.shot_number ++ - else - src.fire_delay = rand(20,100) - src.shot_number = 0 - use_power(1000) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1) - if(prob(35)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - A.set_dir(src.dir) - switch(dir) - if(NORTH) - A.yo = 20 - A.xo = 0 - if(EAST) - A.yo = 0 - A.xo = 20 - if(WEST) - A.yo = 0 - A.xo = -20 - else // Any other - A.yo = -20 - A.xo = 0 - A.process() //TODO: Carn: check this out - - -/obj/machinery/zero_point_emitter/attackby(obj/item/W, mob/user) - - if(istype(W, /obj/item/weapon/wrench)) - if(active) - user << "Turn off the [src] first." - return - switch(state) - if(0) - state = 1 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] secures [src.name] to the floor.", \ - "You secure the external reinforcing bolts to the floor.", \ - "You hear a ratchet") - src.anchored = 1 - if(1) - state = 0 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \ - "You undo the external reinforcing bolts.", \ - "You hear a ratchet") - src.anchored = 0 - if(2) - user << "\red The [src.name] needs to be unwelded from the floor." - return - - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(active) - user << "Turn off the [src] first." - return - switch(state) - if(0) - user << "\red The [src.name] needs to be wrenched to the floor." - if(1) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 2 - user << "You weld the [src] to the floor." - else - user << "\red You need more welding fuel to complete this task." - if(2) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 1 - user << "You cut the [src] free from the floor." - else - user << "\red You need more welding fuel to complete this task." - return - - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) - if(emagged) - user << "\red The lock seems to be broken" - return - if(src.allowed(user)) - if(active) - src.locked = !src.locked - user << "The controls are now [src.locked ? "locked." : "unlocked."]" - else - src.locked = 0 //just in case it somehow gets locked - user << "\red The controls can only be locked when the [src] is online" - else - user << "\red Access denied." - return - - - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - locked = 0 - emagged = 1 - user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.") - return - - ..() - return - - -/obj/machinery/zero_point_emitter/power_change() - ..() - update_icon() - return - -/obj/machinery/zero_point_emitter/Topic(href, href_list) - ..() - if( href_list["input"] ) - var/i = text2num(href_list["input"]) - var/d = i - var/new_power = energy + d - new_power = max(new_power,0.0001) //lowest possible value - new_power = min(new_power,0.01) //highest possible value - energy = new_power - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() - else if( href_list["online"] ) - active = !active - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() - else if( href_list["freq"] ) - var/amt = text2num(href_list["freq"]) - var/new_freq = frequency + amt - new_freq = max(new_freq,1) //lowest possible value - new_freq = min(new_freq,20000) //highest possible value - frequency = new_freq - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() diff --git a/code/WorkInProgress/Cael_Aislinn/unknown.dmi b/code/WorkInProgress/Cael_Aislinn/unknown.dmi deleted file mode 100644 index e254c1019738a392a03b5910b7d6a43695fd2361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950 zcmV;n14;aeP)pN zf3%c(tBrJ#jIW-IkZyXujf0o7A|0@hceNxRZLe5LJTgc-F|Z&TU7}4&nLV=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r z;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5sW`bbr=X;?C{>AzGbOXA7^IPlGp#5w zHxYCm4FJQ*8}-Q>>ZSky0#`{yK~z|U?Uq|}qc9AGu@S6DNDE7VQbMn3 zo2J+Q|LazE=uUTP9cQ<%tC!5=9Dforwn&oCVdhAbi0U@AJ`_h>x0Fec&4Lb-S)!bN zXu1GoJ+mW(0R{1bC8!7kmPJ;UMNyVnu?zxAa?2M?B>*g!2;d7)0Vc~cPVg!m|js$ z>Z=~tCBaXIfS7J9b0Y?A7h<|d>$XdclEYYIoi0DxX|$%5&;YIir>hlsL)Rh0tShoN z_zeH5i=k`V4gs+4GW0#J0P2Zp`!jLqfQar&?9X5YG2L}3)wVgRJA)4ZfO;}32mtl} z05ARV^Y?mk+~ZHKFo4tdaDkse)8b&3%EWu|D{QE3fD*Gf9&hvWB#|hu)1rl$Q2^& zT4E0fZKDS;Y4{l+^WUA=`U^q+l4zJCfHj%4syPJUx=IbLkErl-- z2Dn!R0hkbA*S8IWeUe?~rUit@eQ$I9w7T=2+kXG30-m1tk_6q#Qr`agNd>r0TMV%9 zTK82p=(INYD0l!NK;$gNlHl@=NP^3oJ=F_(gco?2z2)@{0p4DtfcJLhQSJoHx Y7b>kJH8x-wK>z>%07*qoM6N<$f~N+tkpKVy diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 67e7dd2948..db927a1f67 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -87,12 +87,6 @@ var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Al surgery_steps += S sort_surgeries() - //Medical side effects. List all effects by their names - paths = typesof(/datum/medical_effect)-/datum/medical_effect - for(var/T in paths) - var/datum/medical_effect/M = new T - side_effects[M.name] = T - //List of job. I can't believe this was calculated multiple times per tick! paths = typesof(/datum/job) -list(/datum/job,/datum/job/ai,/datum/job/cyborg) for(var/T in paths) diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm similarity index 100% rename from code/WorkInProgress/Mini/atmos_control.dm rename to code/game/machinery/computer/atmos_control.dm diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/game/machinery/computer3/NTOS.dm similarity index 100% rename from code/WorkInProgress/computer3/NTOS.dm rename to code/game/machinery/computer3/NTOS.dm diff --git a/code/WorkInProgress/computer3/bios.dm b/code/game/machinery/computer3/bios.dm similarity index 100% rename from code/WorkInProgress/computer3/bios.dm rename to code/game/machinery/computer3/bios.dm diff --git a/code/WorkInProgress/computer3/buildandrepair.dm b/code/game/machinery/computer3/buildandrepair.dm similarity index 100% rename from code/WorkInProgress/computer3/buildandrepair.dm rename to code/game/machinery/computer3/buildandrepair.dm diff --git a/code/WorkInProgress/computer3/component.dm b/code/game/machinery/computer3/component.dm similarity index 100% rename from code/WorkInProgress/computer3/component.dm rename to code/game/machinery/computer3/component.dm diff --git a/code/WorkInProgress/computer3/computer.dm b/code/game/machinery/computer3/computer.dm similarity index 100% rename from code/WorkInProgress/computer3/computer.dm rename to code/game/machinery/computer3/computer.dm diff --git a/code/WorkInProgress/computer3/computer3_notes.dm b/code/game/machinery/computer3/computer3_notes.dm similarity index 100% rename from code/WorkInProgress/computer3/computer3_notes.dm rename to code/game/machinery/computer3/computer3_notes.dm diff --git a/code/WorkInProgress/computer3/computers/HolodeckControl.dm b/code/game/machinery/computer3/computers/HolodeckControl.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/HolodeckControl.dm rename to code/game/machinery/computer3/computers/HolodeckControl.dm diff --git a/code/WorkInProgress/computer3/computers/Operating.dm b/code/game/machinery/computer3/computers/Operating.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/Operating.dm rename to code/game/machinery/computer3/computers/Operating.dm diff --git a/code/WorkInProgress/computer3/computers/arcade.dm b/code/game/machinery/computer3/computers/arcade.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/arcade.dm rename to code/game/machinery/computer3/computers/arcade.dm diff --git a/code/WorkInProgress/computer3/computers/atmos_alert.dm b/code/game/machinery/computer3/computers/atmos_alert.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/atmos_alert.dm rename to code/game/machinery/computer3/computers/atmos_alert.dm diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/game/machinery/computer3/computers/camera.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/camera.dm rename to code/game/machinery/computer3/computers/camera.dm diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/card.dm rename to code/game/machinery/computer3/computers/card.dm diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/game/machinery/computer3/computers/communications.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/communications.dm rename to code/game/machinery/computer3/computers/communications.dm diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/game/machinery/computer3/computers/crew.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/crew.dm rename to code/game/machinery/computer3/computers/crew.dm diff --git a/code/WorkInProgress/computer3/computers/customs.dm b/code/game/machinery/computer3/computers/customs.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/customs.dm rename to code/game/machinery/computer3/computers/customs.dm diff --git a/code/WorkInProgress/computer3/computers/law.dm b/code/game/machinery/computer3/computers/law.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/law.dm rename to code/game/machinery/computer3/computers/law.dm diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/game/machinery/computer3/computers/medical.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/medical.dm rename to code/game/machinery/computer3/computers/medical.dm diff --git a/code/WorkInProgress/computer3/computers/power.dm b/code/game/machinery/computer3/computers/power.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/power.dm rename to code/game/machinery/computer3/computers/power.dm diff --git a/code/WorkInProgress/computer3/computers/prisoner.dm b/code/game/machinery/computer3/computers/prisoner.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/prisoner.dm rename to code/game/machinery/computer3/computers/prisoner.dm diff --git a/code/WorkInProgress/computer3/computers/robot.dm b/code/game/machinery/computer3/computers/robot.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/robot.dm rename to code/game/machinery/computer3/computers/robot.dm diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/game/machinery/computer3/computers/security.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/security.dm rename to code/game/machinery/computer3/computers/security.dm diff --git a/code/WorkInProgress/computer3/computers/welcome.dm b/code/game/machinery/computer3/computers/welcome.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/welcome.dm rename to code/game/machinery/computer3/computers/welcome.dm diff --git a/code/WorkInProgress/computer3/file.dm b/code/game/machinery/computer3/file.dm similarity index 100% rename from code/WorkInProgress/computer3/file.dm rename to code/game/machinery/computer3/file.dm diff --git a/code/WorkInProgress/computer3/laptop.dm b/code/game/machinery/computer3/laptop.dm similarity index 100% rename from code/WorkInProgress/computer3/laptop.dm rename to code/game/machinery/computer3/laptop.dm diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/game/machinery/computer3/lapvend.dm similarity index 100% rename from code/WorkInProgress/computer3/lapvend.dm rename to code/game/machinery/computer3/lapvend.dm diff --git a/code/WorkInProgress/computer3/networking.dm b/code/game/machinery/computer3/networking.dm similarity index 100% rename from code/WorkInProgress/computer3/networking.dm rename to code/game/machinery/computer3/networking.dm diff --git a/code/WorkInProgress/computer3/program.dm b/code/game/machinery/computer3/program.dm similarity index 100% rename from code/WorkInProgress/computer3/program.dm rename to code/game/machinery/computer3/program.dm diff --git a/code/WorkInProgress/computer3/program_disks.dm b/code/game/machinery/computer3/program_disks.dm similarity index 100% rename from code/WorkInProgress/computer3/program_disks.dm rename to code/game/machinery/computer3/program_disks.dm diff --git a/code/WorkInProgress/computer3/server.dm b/code/game/machinery/computer3/server.dm similarity index 100% rename from code/WorkInProgress/computer3/server.dm rename to code/game/machinery/computer3/server.dm diff --git a/code/WorkInProgress/computer3/storage.dm b/code/game/machinery/computer3/storage.dm similarity index 100% rename from code/WorkInProgress/computer3/storage.dm rename to code/game/machinery/computer3/storage.dm diff --git a/code/WorkInProgress/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm similarity index 100% rename from code/WorkInProgress/explosion_particles.dm rename to code/game/objects/effects/explosion_particles.dm diff --git a/code/WorkInProgress/autopsy.dm b/code/game/objects/items/weapons/autopsy.dm similarity index 100% rename from code/WorkInProgress/autopsy.dm rename to code/game/objects/items/weapons/autopsy.dm diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 0203bf0846..81a3cbc7ea 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -90,7 +90,6 @@ /obj/machinery/suspension_gen, /obj/machinery/shield_capacitor, /obj/machinery/shield_gen, - /obj/machinery/zero_point_emitter, /obj/machinery/clonepod, /obj/machinery/deployable, /obj/machinery/door_control, diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/game/objects/items/weapons/policetape.dm similarity index 100% rename from code/WorkInProgress/Ported/policetape.dm rename to code/game/objects/items/weapons/policetape.dm diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm similarity index 100% rename from code/WorkInProgress/Wrongnumber/weldbackpack.dm rename to code/game/objects/items/weapons/weldbackpack.dm diff --git a/code/WorkInProgress/periodic_news.dm b/code/game/periodic_news.dm similarity index 100% rename from code/WorkInProgress/periodic_news.dm rename to code/game/periodic_news.dm diff --git a/code/WorkInProgress/buildmode.dm b/code/modules/admin/verbs/buildmode.dm similarity index 100% rename from code/WorkInProgress/buildmode.dm rename to code/modules/admin/verbs/buildmode.dm diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm similarity index 100% rename from code/WorkInProgress/Cib/MedicalSideEffects.dm rename to code/modules/mob/living/carbon/human/chem_side_effects.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm b/code/modules/power/rust/areas.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/areas.dm rename to code/modules/power/rust/areas.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm b/code/modules/power/rust/circuits_and_design.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm rename to code/modules/power/rust/circuits_and_design.dm index bf71c4fe9a..4c00673061 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm +++ b/code/modules/power/rust/circuits_and_design.dm @@ -1,4 +1,4 @@ - +#define IMPRINTER 1 //For circuits. Uses glass/chemicals. ////////////////////////////////////// // RUST Core Control computer diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm b/code/modules/power/rust/core_control.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm rename to code/modules/power/rust/core_control.dm index f20f33a7ac..b4d0bb1de7 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm +++ b/code/modules/power/rust/core_control.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/rust_core_control name = "RUST Core Control" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "core_control" var/list/connected_devices = list() var/id_tag = "allan remember to update this before you leave" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm b/code/modules/power/rust/core_field.dm similarity index 99% rename from code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm rename to code/modules/power/rust/core_field.dm index cd397e1095..2c5806bef5 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm +++ b/code/modules/power/rust/core_field.dm @@ -9,7 +9,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K /obj/effect/rust_em_field name = "EM Field" desc = "A coruscating, barely visible field of energy. It is shaped like a slightly flattened torus." - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "emfield_s1" // var/major_radius = 0 //longer radius in meters = field_strength * 0.21875, max = 8.75 @@ -265,7 +265,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K switch(newsize) if(1) size = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "emfield_s1" pixel_x = 0 pixel_y = 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm b/code/modules/power/rust/core_gen.dm similarity index 99% rename from code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm rename to code/modules/power/rust/core_gen.dm index 7697fe17d4..7cf9f9d696 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm +++ b/code/modules/power/rust/core_gen.dm @@ -48,7 +48,7 @@ max volume of phoron storeable by the field = the total volume of a number of ti /obj/machinery/power/rust_core name = "RUST Tokamak core" desc = "Enormous solenoid for generating extremely high power electromagnetic fields" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "core0" density = 1 var/obj/effect/rust_em_field/owned_field diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm b/code/modules/power/rust/core_monitor.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm rename to code/modules/power/rust/core_monitor.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm b/code/modules/power/rust/fuel_assembly.dm similarity index 83% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm rename to code/modules/power/rust/fuel_assembly.dm index d8ca364cb2..bb20996c5f 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm +++ b/code/modules/power/rust/fuel_assembly.dm @@ -1,6 +1,6 @@ /obj/item/weapon/fuel_assembly - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "fuel_assembly" name = "Fuel Rod Assembly" var/list/rod_quantities diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm b/code/modules/power/rust/fuel_assembly_port.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm rename to code/modules/power/rust/fuel_assembly_port.dm index 7c976ac956..05f2ca11ad 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm +++ b/code/modules/power/rust/fuel_assembly_port.dm @@ -2,7 +2,7 @@ /obj/machinery/rust_fuel_assembly_port name = "Fuel Assembly Port" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "port2" density = 0 var/obj/item/weapon/fuel_assembly/cur_assembly diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/modules/power/rust/fuel_assembly_port_construction.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm rename to code/modules/power/rust/fuel_assembly_port_construction.dm index 9b0103cb8a..092805de78 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm +++ b/code/modules/power/rust/fuel_assembly_port_construction.dm @@ -3,7 +3,7 @@ /obj/item/rust_fuel_assembly_port_frame name = "Fuel Assembly Port frame" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "port2" w_class = 4 flags = CONDUCT diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm b/code/modules/power/rust/fuel_compressor.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm rename to code/modules/power/rust/fuel_compressor.dm index 526742aac9..2abd9f17f8 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm +++ b/code/modules/power/rust/fuel_compressor.dm @@ -1,7 +1,7 @@ var/const/max_assembly_amount = 300 /obj/machinery/rust_fuel_compressor - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "fuel_compressor1" name = "Fuel Compressor" var/list/new_assembly_quantities = list("Deuterium" = 150,"Tritium" = 150,"Rodinium-6" = 0,"Stravium-7" = 0, "Pergium" = 0, "Dilithium" = 0) diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/modules/power/rust/fuel_compressor_construction.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm rename to code/modules/power/rust/fuel_compressor_construction.dm index 0db3de8a7c..c9c3895f2b 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm +++ b/code/modules/power/rust/fuel_compressor_construction.dm @@ -3,7 +3,7 @@ /obj/item/rust_fuel_compressor_frame name = "Fuel Compressor frame" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "fuel_compressor0" w_class = 4 flags = CONDUCT diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm b/code/modules/power/rust/fuel_control.dm similarity index 99% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm rename to code/modules/power/rust/fuel_control.dm index 17c8fccfc7..2cef7bd2a6 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm +++ b/code/modules/power/rust/fuel_control.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/rust_fuel_control name = "RUST Fuel Injection Control" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "fuel" var/list/connected_injectors = list() var/list/active_stages = list() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm b/code/modules/power/rust/fuel_injector.dm similarity index 99% rename from code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm rename to code/modules/power/rust/fuel_injector.dm index ad7ea622e2..f5467f0f39 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm +++ b/code/modules/power/rust/fuel_injector.dm @@ -1,7 +1,7 @@ /obj/machinery/power/rust_fuel_injector name = "Fuel Injector" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "injector0" density = 1 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm b/code/modules/power/rust/fusion_reactions.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm rename to code/modules/power/rust/fusion_reactions.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm b/code/modules/power/rust/gyrotron.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm rename to code/modules/power/rust/gyrotron.dm index 0fff75bb50..31e0385391 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm +++ b/code/modules/power/rust/gyrotron.dm @@ -3,7 +3,7 @@ /obj/item/projectile/beam/ehf_beam /obj/machinery/rust/gyrotron - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "emitter-off" name = "Gyrotron" anchored = 1 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm b/code/modules/power/rust/gyrotron_controller.dm similarity index 98% rename from code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm rename to code/modules/power/rust/gyrotron_controller.dm index a28f67cc39..4542965795 100644 --- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm +++ b/code/modules/power/rust/gyrotron_controller.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/rust_gyrotron_controller name = "Gyrotron Remote Controller" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' + icon = 'icons/rust.dmi' icon_state = "engine" var/updating = 1 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm b/code/modules/power/rust/radiation.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm rename to code/modules/power/rust/radiation.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm b/code/modules/power/rust/virtual_particle_catcher.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm rename to code/modules/power/rust/virtual_particle_catcher.dm diff --git a/code/WorkInProgress/Cael_Aislinn/covershield.dmi b/icons/covershield.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/covershield.dmi rename to icons/covershield.dmi diff --git a/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi b/icons/meteor_turret.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi rename to icons/meteor_turret.dmi diff --git a/code/WorkInProgress/Susan/biocraps.dmi b/icons/mob/biocraps.dmi similarity index 100% rename from code/WorkInProgress/Susan/biocraps.dmi rename to icons/mob/biocraps.dmi diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi b/icons/rust.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi rename to icons/rust.dmi diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi b/icons/rust_old.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi rename to icons/rust_old.dmi diff --git a/code/WorkInProgress/Susan/desert.dmi b/icons/turf/desert.dmi similarity index 100% rename from code/WorkInProgress/Susan/desert.dmi rename to icons/turf/desert.dmi From 649473e0ec7f813fedb14f1c72b96e89afc59fa4 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 12:17:55 +0300 Subject: [PATCH 274/282] Restred medical side effects file since turns out it's used (need to look into why it doesn't appear to be later) --- baystation12.dme | 1 + .../living/carbon/human/MedicalSideEffects.dm | 149 ++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 code/modules/mob/living/carbon/human/MedicalSideEffects.dm diff --git a/baystation12.dme b/baystation12.dme index 2a272af5dd..065d2ff12b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1075,6 +1075,7 @@ #include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\login.dm" #include "code\modules\mob\living\carbon\human\logout.dm" +#include "code\modules\mob\living\carbon\human\MedicalSideEffects.dm" #include "code\modules\mob\living\carbon\human\say.dm" #include "code\modules\mob\living\carbon\human\unarmed_attack.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" diff --git a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm new file mode 100644 index 0000000000..62f9cf75f8 --- /dev/null +++ b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm @@ -0,0 +1,149 @@ +// MEDICAL SIDE EFFECT BASE +// ======================== +/datum/medical_effect + var/name = "None" + var/strength = 0 + var/start = 0 + var/list/triggers + var/list/cures + var/cure_message + +/datum/medical_effect/proc/manifest(mob/living/carbon/human/H) + for(var/R in cures) + if(H.reagents.has_reagent(R)) + return 0 + for(var/R in triggers) + if(H.reagents.get_reagent_amount(R) >= triggers[R]) + return 1 + return 0 + +/datum/medical_effect/proc/on_life(mob/living/carbon/human/H, strength) + return + +/datum/medical_effect/proc/cure(mob/living/carbon/human/H) + for(var/R in cures) + if(H.reagents.has_reagent(R)) + if (cure_message) + H <<"\blue [cure_message]" + return 1 + return 0 + + +// MOB HELPERS +// =========== +/mob/living/carbon/human/var/list/datum/medical_effect/side_effects = list() +/mob/proc/add_side_effect(name, strength = 0) +/mob/living/carbon/human/add_side_effect(name, strength = 0) + for(var/datum/medical_effect/M in src.side_effects) + if(M.name == name) + M.strength = max(M.strength, 10) + M.start = life_tick + return + + + var/T = side_effects[name] + if (!T) + return + + var/datum/medical_effect/M = new T + if(M.name == name) + M.strength = strength + M.start = life_tick + side_effects += M + +/mob/living/carbon/human/proc/handle_medical_side_effects() + //Going to handle those things only every few ticks. + if(life_tick % 15 != 0) + return 0 + + var/list/L = typesof(/datum/medical_effect)-/datum/medical_effect + for(var/T in L) + var/datum/medical_effect/M = new T + if (M.manifest(src)) + src.add_side_effect(M.name) + + // One full cycle(in terms of strength) every 10 minutes + for (var/datum/medical_effect/M in side_effects) + if (!M) continue + var/strength_percent = sin((life_tick - M.start) / 2) + + // Only do anything if the effect is currently strong enough + if(strength_percent >= 0.4) + if (M.cure(src) || M.strength > 50) + side_effects -= M + M = null + else + if(life_tick % 45 == 0) + M.on_life(src, strength_percent*M.strength) + // Effect slowly growing stronger + M.strength+=0.08 + +// HEADACHE +// ======== +/datum/medical_effect/headache + name = "Headache" + triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15) + cures = list("alkysine", "tramadol", "paracetamol", "oxycodone") + cure_message = "Your head stops throbbing..." + +/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength) + switch(strength) + if(1 to 10) + H.custom_pain("You feel a light pain in your head.",0) + if(11 to 30) + H.custom_pain("You feel a throbbing pain in your head!",1) + if(31 to INFINITY) + H.custom_pain("You feel an excrutiating pain in your head!",1) + +// BAD STOMACH +// =========== +/datum/medical_effect/bad_stomach + name = "Bad Stomach" + triggers = list("kelotane" = 30, "dermaline" = 15) + cures = list("anti_toxin") + cure_message = "Your stomach feels a little better now..." + +/datum/medical_effect/bad_stomach/on_life(mob/living/carbon/human/H, strength) + switch(strength) + if(1 to 10) + H.custom_pain("You feel a bit light around the stomach.",0) + if(11 to 30) + H.custom_pain("Your stomach hurts.",0) + if(31 to INFINITY) + H.custom_pain("You feel sick.",1) + +// CRAMPS +// ====== +/datum/medical_effect/cramps + name = "Cramps" + triggers = list("anti_toxin" = 30, "tramadol" = 15) + cures = list("inaprovaline") + cure_message = "The cramps let up..." + +/datum/medical_effect/cramps/on_life(mob/living/carbon/human/H, strength) + switch(strength) + if(1 to 10) + H.custom_pain("The muscles in your body hurt a little.",0) + if(11 to 30) + H.custom_pain("The muscles in your body cramp up painfully.",0) + if(31 to INFINITY) + H.emote("me",1,"flinches as all the muscles in their body cramp up.") + H.custom_pain("There's pain all over your body.",1) + +// ITCH +// ==== +/datum/medical_effect/itch + name = "Itch" + triggers = list("space_drugs" = 10) + cures = list("inaprovaline") + cure_message = "The itching stops..." + +/datum/medical_effect/itch/on_life(mob/living/carbon/human/H, strength) + switch(strength) + if(1 to 10) + H.custom_pain("You feel a slight itch.",0) + if(11 to 30) + H.custom_pain("You want to scratch your itch badly.",0) + if(31 to INFINITY) + H.emote("me",1,"shivers slightly.") + H.custom_pain("This itch makes it really hard to concentrate.",1) From b7b9a49204c6a6cf0590cd0b9419d1ec0ed32d3f Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 3 Feb 2015 10:35:42 +0100 Subject: [PATCH 275/282] Revert "dnm Another pass at WIP folder" --- baystation12.dme | 75 +++++++++--------- .../Cib/MedicalSideEffects.dm} | 0 .../Mini}/atmos_control.dm | 0 .../Ported}/policetape.dm | 0 .../WorkInProgress/Susan}/biocraps.dmi | Bin .../WorkInProgress/Susan}/desert.dmi | Bin .../Wrongnumber}/weldbackpack.dm | 0 .../weapons => WorkInProgress}/autopsy.dm | 0 .../verbs => WorkInProgress}/buildmode.dm | 0 .../computer3/NTOS.dm | 0 .../computer3/bios.dm | 0 .../computer3/buildandrepair.dm | 0 .../computer3/component.dm | 0 .../computer3/computer.dm | 0 .../computer3/computer3_notes.dm | 0 .../computer3/computers/HolodeckControl.dm | 0 .../computer3/computers/Operating.dm | 0 .../computer3/computers/arcade.dm | 0 .../computer3/computers/atmos_alert.dm | 0 .../computer3/computers/camera.dm | 0 .../computer3/computers/card.dm | 0 .../computer3/computers/communications.dm | 0 .../computer3/computers/crew.dm | 0 .../computer3/computers/customs.dm | 0 .../computer3/computers/law.dm | 0 .../computer3/computers/medical.dm | 0 .../computer3/computers/power.dm | 0 .../computer3/computers/prisoner.dm | 0 .../computer3/computers/robot.dm | 0 .../computer3/computers/security.dm | 0 .../computer3/computers/welcome.dm | 0 .../computer3/file.dm | 0 .../computer3/laptop.dm | 0 .../computer3/lapvend.dm | 0 .../computer3/networking.dm | 0 .../computer3/program.dm | 0 .../computer3/program_disks.dm | 0 .../computer3/server.dm | 0 .../computer3/storage.dm | 0 .../explosion_particles.dm | 0 .../{game => WorkInProgress}/periodic_news.dm | 0 41 files changed, 38 insertions(+), 37 deletions(-) rename code/{modules/mob/living/carbon/human/chem_side_effects.dm => WorkInProgress/Cib/MedicalSideEffects.dm} (100%) rename code/{game/machinery/computer => WorkInProgress/Mini}/atmos_control.dm (100%) rename code/{game/objects/items/weapons => WorkInProgress/Ported}/policetape.dm (100%) rename {icons/mob => code/WorkInProgress/Susan}/biocraps.dmi (100%) rename {icons/turf => code/WorkInProgress/Susan}/desert.dmi (100%) rename code/{game/objects/items/weapons => WorkInProgress/Wrongnumber}/weldbackpack.dm (100%) rename code/{game/objects/items/weapons => WorkInProgress}/autopsy.dm (100%) rename code/{modules/admin/verbs => WorkInProgress}/buildmode.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/NTOS.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/bios.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/buildandrepair.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/component.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computer.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computer3_notes.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/HolodeckControl.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/Operating.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/arcade.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/atmos_alert.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/camera.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/card.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/communications.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/crew.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/customs.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/law.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/medical.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/power.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/prisoner.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/robot.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/security.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/computers/welcome.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/file.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/laptop.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/lapvend.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/networking.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/program.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/program_disks.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/server.dm (100%) rename code/{game/machinery => WorkInProgress}/computer3/storage.dm (100%) rename code/{game/objects/effects => WorkInProgress}/explosion_particles.dm (100%) rename code/{game => WorkInProgress}/periodic_news.dm (100%) diff --git a/baystation12.dme b/baystation12.dme index 975f83fbca..04a5375f1f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -194,7 +194,6 @@ #include "code\game\asteroid.dm" #include "code\game\atoms.dm" #include "code\game\atoms_movable.dm" -#include "code\game\periodic_news.dm" #include "code\game\response_team.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" @@ -373,7 +372,6 @@ #include "code\game\machinery\computer\aifixer.dm" #include "code\game\machinery\computer\arcade.dm" #include "code\game\machinery\computer\atmos_alert.dm" -#include "code\game\machinery\computer\atmos_control.dm" #include "code\game\machinery\computer\buildandrepair.dm" #include "code\game\machinery\computer\camera.dm" #include "code\game\machinery\computer\card.dm" @@ -400,36 +398,6 @@ #include "code\game\machinery\computer\station_alert.dm" #include "code\game\machinery\computer\supply.dm" #include "code\game\machinery\computer\syndicate_specops_shuttle.dm" -#include "code\game\machinery\computer3\bios.dm" -#include "code\game\machinery\computer3\buildandrepair.dm" -#include "code\game\machinery\computer3\component.dm" -#include "code\game\machinery\computer3\computer.dm" -#include "code\game\machinery\computer3\computer3_notes.dm" -#include "code\game\machinery\computer3\file.dm" -#include "code\game\machinery\computer3\laptop.dm" -#include "code\game\machinery\computer3\lapvend.dm" -#include "code\game\machinery\computer3\networking.dm" -#include "code\game\machinery\computer3\NTOS.dm" -#include "code\game\machinery\computer3\program.dm" -#include "code\game\machinery\computer3\program_disks.dm" -#include "code\game\machinery\computer3\server.dm" -#include "code\game\machinery\computer3\storage.dm" -#include "code\game\machinery\computer3\computers\arcade.dm" -#include "code\game\machinery\computer3\computers\atmos_alert.dm" -#include "code\game\machinery\computer3\computers\camera.dm" -#include "code\game\machinery\computer3\computers\card.dm" -#include "code\game\machinery\computer3\computers\communications.dm" -#include "code\game\machinery\computer3\computers\crew.dm" -#include "code\game\machinery\computer3\computers\customs.dm" -#include "code\game\machinery\computer3\computers\HolodeckControl.dm" -#include "code\game\machinery\computer3\computers\law.dm" -#include "code\game\machinery\computer3\computers\medical.dm" -#include "code\game\machinery\computer3\computers\Operating.dm" -#include "code\game\machinery\computer3\computers\power.dm" -#include "code\game\machinery\computer3\computers\prisoner.dm" -#include "code\game\machinery\computer3\computers\robot.dm" -#include "code\game\machinery\computer3\computers\security.dm" -#include "code\game\machinery\computer3\computers\welcome.dm" #include "code\game\machinery\doors\airlock.dm" #include "code\game\machinery\doors\airlock_control.dm" #include "code\game\machinery\doors\airlock_electronics.dm" @@ -500,7 +468,6 @@ #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\chemsmoke.dm" #include "code\game\objects\effects\effect_system.dm" -#include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" #include "code\game\objects\effects\landmarks.dm" @@ -586,7 +553,6 @@ #include "code\game\objects\items\stacks\tiles\plasteel.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\weapons\AI_modules.dm" -#include "code\game\objects\items\weapons\autopsy.dm" #include "code\game\objects\items\weapons\candle.dm" #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" @@ -604,7 +570,6 @@ #include "code\game\objects\items\weapons\mop.dm" #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" -#include "code\game\objects\items\weapons\policetape.dm" #include "code\game\objects\items\weapons\power_cells.dm" #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RSF.dm" @@ -620,7 +585,6 @@ #include "code\game\objects\items\weapons\tools.dm" #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\weaponry.dm" -#include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" #include "code\game\objects\items\weapons\circuitboards\broken.dm" #include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" @@ -781,7 +745,6 @@ #include "code\modules\admin\verbs\adminsay.dm" #include "code\modules\admin\verbs\atmosdebug.dm" #include "code\modules\admin\verbs\BrokenInhands.dm" -#include "code\modules\admin\verbs\buildmode.dm" #include "code\modules\admin\verbs\check_customitem_activity.dm" #include "code\modules\admin\verbs\cinematic.dm" #include "code\modules\admin\verbs\custom_event.dm" @@ -1495,6 +1458,10 @@ #include "code\TriDimension\Structures.dm" #include "code\TriDimension\Structures_presets.dm" #include "code\TriDimension\Turfs.dm" +#include "code\WorkInProgress\autopsy.dm" +#include "code\WorkInProgress\buildmode.dm" +#include "code\WorkInProgress\explosion_particles.dm" +#include "code\WorkInProgress\periodic_news.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" #include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" @@ -1518,8 +1485,42 @@ #include "code\WorkInProgress\Cael_Aislinn\Rust\virtual_particle_catcher.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\LaserComputer.dm" #include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm" +#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" +#include "code\WorkInProgress\computer3\bios.dm" +#include "code\WorkInProgress\computer3\buildandrepair.dm" +#include "code\WorkInProgress\computer3\component.dm" +#include "code\WorkInProgress\computer3\computer.dm" +#include "code\WorkInProgress\computer3\computer3_notes.dm" +#include "code\WorkInProgress\computer3\file.dm" +#include "code\WorkInProgress\computer3\laptop.dm" +#include "code\WorkInProgress\computer3\lapvend.dm" +#include "code\WorkInProgress\computer3\networking.dm" +#include "code\WorkInProgress\computer3\NTOS.dm" +#include "code\WorkInProgress\computer3\program.dm" +#include "code\WorkInProgress\computer3\program_disks.dm" +#include "code\WorkInProgress\computer3\server.dm" +#include "code\WorkInProgress\computer3\storage.dm" +#include "code\WorkInProgress\computer3\computers\arcade.dm" +#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" +#include "code\WorkInProgress\computer3\computers\camera.dm" +#include "code\WorkInProgress\computer3\computers\card.dm" +#include "code\WorkInProgress\computer3\computers\communications.dm" +#include "code\WorkInProgress\computer3\computers\crew.dm" +#include "code\WorkInProgress\computer3\computers\customs.dm" +#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" +#include "code\WorkInProgress\computer3\computers\law.dm" +#include "code\WorkInProgress\computer3\computers\medical.dm" +#include "code\WorkInProgress\computer3\computers\Operating.dm" +#include "code\WorkInProgress\computer3\computers\power.dm" +#include "code\WorkInProgress\computer3\computers\prisoner.dm" +#include "code\WorkInProgress\computer3\computers\robot.dm" +#include "code\WorkInProgress\computer3\computers\security.dm" +#include "code\WorkInProgress\computer3\computers\welcome.dm" +#include "code\WorkInProgress\Mini\atmos_control.dm" +#include "code\WorkInProgress\Ported\policetape.dm" #include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" #include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" +#include "code\WorkInProgress\Wrongnumber\weldbackpack.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\_gas_mixture_xgm.dm" #include "code\ZAS\_xgm_gas_data.dm" diff --git a/code/modules/mob/living/carbon/human/chem_side_effects.dm b/code/WorkInProgress/Cib/MedicalSideEffects.dm similarity index 100% rename from code/modules/mob/living/carbon/human/chem_side_effects.dm rename to code/WorkInProgress/Cib/MedicalSideEffects.dm diff --git a/code/game/machinery/computer/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm similarity index 100% rename from code/game/machinery/computer/atmos_control.dm rename to code/WorkInProgress/Mini/atmos_control.dm diff --git a/code/game/objects/items/weapons/policetape.dm b/code/WorkInProgress/Ported/policetape.dm similarity index 100% rename from code/game/objects/items/weapons/policetape.dm rename to code/WorkInProgress/Ported/policetape.dm diff --git a/icons/mob/biocraps.dmi b/code/WorkInProgress/Susan/biocraps.dmi similarity index 100% rename from icons/mob/biocraps.dmi rename to code/WorkInProgress/Susan/biocraps.dmi diff --git a/icons/turf/desert.dmi b/code/WorkInProgress/Susan/desert.dmi similarity index 100% rename from icons/turf/desert.dmi rename to code/WorkInProgress/Susan/desert.dmi diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/WorkInProgress/Wrongnumber/weldbackpack.dm similarity index 100% rename from code/game/objects/items/weapons/weldbackpack.dm rename to code/WorkInProgress/Wrongnumber/weldbackpack.dm diff --git a/code/game/objects/items/weapons/autopsy.dm b/code/WorkInProgress/autopsy.dm similarity index 100% rename from code/game/objects/items/weapons/autopsy.dm rename to code/WorkInProgress/autopsy.dm diff --git a/code/modules/admin/verbs/buildmode.dm b/code/WorkInProgress/buildmode.dm similarity index 100% rename from code/modules/admin/verbs/buildmode.dm rename to code/WorkInProgress/buildmode.dm diff --git a/code/game/machinery/computer3/NTOS.dm b/code/WorkInProgress/computer3/NTOS.dm similarity index 100% rename from code/game/machinery/computer3/NTOS.dm rename to code/WorkInProgress/computer3/NTOS.dm diff --git a/code/game/machinery/computer3/bios.dm b/code/WorkInProgress/computer3/bios.dm similarity index 100% rename from code/game/machinery/computer3/bios.dm rename to code/WorkInProgress/computer3/bios.dm diff --git a/code/game/machinery/computer3/buildandrepair.dm b/code/WorkInProgress/computer3/buildandrepair.dm similarity index 100% rename from code/game/machinery/computer3/buildandrepair.dm rename to code/WorkInProgress/computer3/buildandrepair.dm diff --git a/code/game/machinery/computer3/component.dm b/code/WorkInProgress/computer3/component.dm similarity index 100% rename from code/game/machinery/computer3/component.dm rename to code/WorkInProgress/computer3/component.dm diff --git a/code/game/machinery/computer3/computer.dm b/code/WorkInProgress/computer3/computer.dm similarity index 100% rename from code/game/machinery/computer3/computer.dm rename to code/WorkInProgress/computer3/computer.dm diff --git a/code/game/machinery/computer3/computer3_notes.dm b/code/WorkInProgress/computer3/computer3_notes.dm similarity index 100% rename from code/game/machinery/computer3/computer3_notes.dm rename to code/WorkInProgress/computer3/computer3_notes.dm diff --git a/code/game/machinery/computer3/computers/HolodeckControl.dm b/code/WorkInProgress/computer3/computers/HolodeckControl.dm similarity index 100% rename from code/game/machinery/computer3/computers/HolodeckControl.dm rename to code/WorkInProgress/computer3/computers/HolodeckControl.dm diff --git a/code/game/machinery/computer3/computers/Operating.dm b/code/WorkInProgress/computer3/computers/Operating.dm similarity index 100% rename from code/game/machinery/computer3/computers/Operating.dm rename to code/WorkInProgress/computer3/computers/Operating.dm diff --git a/code/game/machinery/computer3/computers/arcade.dm b/code/WorkInProgress/computer3/computers/arcade.dm similarity index 100% rename from code/game/machinery/computer3/computers/arcade.dm rename to code/WorkInProgress/computer3/computers/arcade.dm diff --git a/code/game/machinery/computer3/computers/atmos_alert.dm b/code/WorkInProgress/computer3/computers/atmos_alert.dm similarity index 100% rename from code/game/machinery/computer3/computers/atmos_alert.dm rename to code/WorkInProgress/computer3/computers/atmos_alert.dm diff --git a/code/game/machinery/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm similarity index 100% rename from code/game/machinery/computer3/computers/camera.dm rename to code/WorkInProgress/computer3/computers/camera.dm diff --git a/code/game/machinery/computer3/computers/card.dm b/code/WorkInProgress/computer3/computers/card.dm similarity index 100% rename from code/game/machinery/computer3/computers/card.dm rename to code/WorkInProgress/computer3/computers/card.dm diff --git a/code/game/machinery/computer3/computers/communications.dm b/code/WorkInProgress/computer3/computers/communications.dm similarity index 100% rename from code/game/machinery/computer3/computers/communications.dm rename to code/WorkInProgress/computer3/computers/communications.dm diff --git a/code/game/machinery/computer3/computers/crew.dm b/code/WorkInProgress/computer3/computers/crew.dm similarity index 100% rename from code/game/machinery/computer3/computers/crew.dm rename to code/WorkInProgress/computer3/computers/crew.dm diff --git a/code/game/machinery/computer3/computers/customs.dm b/code/WorkInProgress/computer3/computers/customs.dm similarity index 100% rename from code/game/machinery/computer3/computers/customs.dm rename to code/WorkInProgress/computer3/computers/customs.dm diff --git a/code/game/machinery/computer3/computers/law.dm b/code/WorkInProgress/computer3/computers/law.dm similarity index 100% rename from code/game/machinery/computer3/computers/law.dm rename to code/WorkInProgress/computer3/computers/law.dm diff --git a/code/game/machinery/computer3/computers/medical.dm b/code/WorkInProgress/computer3/computers/medical.dm similarity index 100% rename from code/game/machinery/computer3/computers/medical.dm rename to code/WorkInProgress/computer3/computers/medical.dm diff --git a/code/game/machinery/computer3/computers/power.dm b/code/WorkInProgress/computer3/computers/power.dm similarity index 100% rename from code/game/machinery/computer3/computers/power.dm rename to code/WorkInProgress/computer3/computers/power.dm diff --git a/code/game/machinery/computer3/computers/prisoner.dm b/code/WorkInProgress/computer3/computers/prisoner.dm similarity index 100% rename from code/game/machinery/computer3/computers/prisoner.dm rename to code/WorkInProgress/computer3/computers/prisoner.dm diff --git a/code/game/machinery/computer3/computers/robot.dm b/code/WorkInProgress/computer3/computers/robot.dm similarity index 100% rename from code/game/machinery/computer3/computers/robot.dm rename to code/WorkInProgress/computer3/computers/robot.dm diff --git a/code/game/machinery/computer3/computers/security.dm b/code/WorkInProgress/computer3/computers/security.dm similarity index 100% rename from code/game/machinery/computer3/computers/security.dm rename to code/WorkInProgress/computer3/computers/security.dm diff --git a/code/game/machinery/computer3/computers/welcome.dm b/code/WorkInProgress/computer3/computers/welcome.dm similarity index 100% rename from code/game/machinery/computer3/computers/welcome.dm rename to code/WorkInProgress/computer3/computers/welcome.dm diff --git a/code/game/machinery/computer3/file.dm b/code/WorkInProgress/computer3/file.dm similarity index 100% rename from code/game/machinery/computer3/file.dm rename to code/WorkInProgress/computer3/file.dm diff --git a/code/game/machinery/computer3/laptop.dm b/code/WorkInProgress/computer3/laptop.dm similarity index 100% rename from code/game/machinery/computer3/laptop.dm rename to code/WorkInProgress/computer3/laptop.dm diff --git a/code/game/machinery/computer3/lapvend.dm b/code/WorkInProgress/computer3/lapvend.dm similarity index 100% rename from code/game/machinery/computer3/lapvend.dm rename to code/WorkInProgress/computer3/lapvend.dm diff --git a/code/game/machinery/computer3/networking.dm b/code/WorkInProgress/computer3/networking.dm similarity index 100% rename from code/game/machinery/computer3/networking.dm rename to code/WorkInProgress/computer3/networking.dm diff --git a/code/game/machinery/computer3/program.dm b/code/WorkInProgress/computer3/program.dm similarity index 100% rename from code/game/machinery/computer3/program.dm rename to code/WorkInProgress/computer3/program.dm diff --git a/code/game/machinery/computer3/program_disks.dm b/code/WorkInProgress/computer3/program_disks.dm similarity index 100% rename from code/game/machinery/computer3/program_disks.dm rename to code/WorkInProgress/computer3/program_disks.dm diff --git a/code/game/machinery/computer3/server.dm b/code/WorkInProgress/computer3/server.dm similarity index 100% rename from code/game/machinery/computer3/server.dm rename to code/WorkInProgress/computer3/server.dm diff --git a/code/game/machinery/computer3/storage.dm b/code/WorkInProgress/computer3/storage.dm similarity index 100% rename from code/game/machinery/computer3/storage.dm rename to code/WorkInProgress/computer3/storage.dm diff --git a/code/game/objects/effects/explosion_particles.dm b/code/WorkInProgress/explosion_particles.dm similarity index 100% rename from code/game/objects/effects/explosion_particles.dm rename to code/WorkInProgress/explosion_particles.dm diff --git a/code/game/periodic_news.dm b/code/WorkInProgress/periodic_news.dm similarity index 100% rename from code/game/periodic_news.dm rename to code/WorkInProgress/periodic_news.dm From 15bf312f13a7f16f969c456426b75179abfbfbd1 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 3 Feb 2015 01:42:33 -0700 Subject: [PATCH 276/282] Fixes up some helpers. --- baystation12.dme | 1 - code/__HELPERS/game.dm | 14 ++++---------- code/__HELPERS/maths.dm | 4 ---- code/modules/events/event_manager.dm | 4 ++-- 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 065d2ff12b..e56e725d11 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -871,7 +871,6 @@ #include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" #include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" -#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm" #include "code\modules\clothing\spacesuits\rig\modules\utility.dm" #include "code\modules\clothing\spacesuits\rig\modules\vision.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 9743988875..dcfcb50fcb 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -10,16 +10,10 @@ return null /proc/get_area(O) - var/atom/location = O - var/i - for(i=1, i<=20, i++) - if(isarea(location)) - return location - else if (istype(location)) - location = location.loc - else - return null - return 0 + var/turf/loc = get_turf(O) + if(!loc) + return null + return loc.loc /proc/get_area_name(N) //get area by its name for(var/area/A in world) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index d9bbc18ece..7f8958360d 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -119,7 +119,3 @@ var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, var/d = max - min var/t = Floor((val - min) / d) return val - (t * d) - -proc/RaiseToPower(num, power) - if(!power) return 1 - return (power-- > 1 ? num * RaiseToPower(num, power) : num) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index c531b139cc..070598b333 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -195,12 +195,12 @@ admin_log_and_message_admins("has [report_at_round_end ? "enabled" : "disabled"] the round end event report.") else if(href_list["dec_timer"]) var/datum/event_container/EC = locate(href_list["event"]) - var/decrease = (60 * RaiseToPower(10, text2num(href_list["dec_timer"]))) + var/decrease = (60 * 10 ** text2num(href_list["dec_timer"])) EC.next_event_time -= decrease admin_log_and_message_admins("decreased timer for [severity_to_string[EC.severity]] events by [decrease/600] minute(s).") else if(href_list["inc_timer"]) var/datum/event_container/EC = locate(href_list["event"]) - var/increase = (60 * RaiseToPower(10, text2num(href_list["inc_timer"]))) + var/increase = (60 * 10 ** text2num(href_list["inc_timer"])) EC.next_event_time += increase admin_log_and_message_admins("increased timer for [severity_to_string[EC.severity]] events by [increase/600] minute(s).") else if(href_list["select_event"]) From 8898689c5d56a186f50d3b50b736832a942c3372 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 3 Feb 2015 02:05:37 -0700 Subject: [PATCH 277/282] Cleared out my WIP folder. --- .../SkyMarshal/Ultralight_procs.dm | 32 --------------- .../SkyMarshal/officer_stuff.dm | 41 ------------------- code/ZAS/Airflow.dm | 4 +- code/modules/admin/verbs/debug.dm | 12 +++--- code/modules/awaymissions/corpse.dm | 2 +- code/modules/client/preferences_gear.dm | 2 +- code/modules/clothing/head/jobs.dm | 9 +++- code/modules/clothing/under/miscellaneous.dm | 23 ++++++++--- 8 files changed, 35 insertions(+), 90 deletions(-) delete mode 100644 code/WorkInProgress/SkyMarshal/Ultralight_procs.dm delete mode 100644 code/WorkInProgress/SkyMarshal/officer_stuff.dm diff --git a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm b/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm deleted file mode 100644 index 81ba9c458c..0000000000 --- a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm +++ /dev/null @@ -1,32 +0,0 @@ - -// MOVED HERE FROM ULTRALIGHT WHICH IS PROBABLY A BAD THING -#define UL_I_FALLOFF_SQUARE 0 -#define UL_I_FALLOFF_ROUND 1 -#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular. -var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7) - -atom/proc/ul_FalloffAmount(var/atom/ref) - if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) - var/delta_x = (ref.x - src.x) - var/delta_y = (ref.y - src.y) - - #ifdef ul_LightingResolution - if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution - - #else - if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1] - - #endif - - else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) - return get_dist(src, ref) - - return 0 \ No newline at end of file diff --git a/code/WorkInProgress/SkyMarshal/officer_stuff.dm b/code/WorkInProgress/SkyMarshal/officer_stuff.dm deleted file mode 100644 index f7483b7dd4..0000000000 --- a/code/WorkInProgress/SkyMarshal/officer_stuff.dm +++ /dev/null @@ -1,41 +0,0 @@ - // Reference: http://www.teuse.net/personal/harrington/hh_bible.htm - // http://www.trmn.org/portal/images/uniforms/rmn/rmn_officer_srv_dress_lrg.png - -/obj/item/clothing/head/beret/centcom/officer - name = "officers beret" - desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces, announcing to the world that the wearer is a defender of NanoTrasen." - icon_state = "centcomofficerberet" - -/obj/item/clothing/head/beret/centcom/captain - name = "captains beret" - desc = "A white beret adorned with the shield—a cobalt kite shield with an engraved sword—of the NanoTrasen security forces, worn only by those captaining a vessel of the NanoTrasen Navy." - icon_state = "centcomcaptain" - -/obj/item/clothing/shoes/centcom - name = "dress shoes" - desc = "They appear impeccably polished." - icon_state = "laceups" - -/obj/item/clothing/under/rank/centcom/representative - desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Ensign\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." - name = "\improper NanoTrasen Navy Uniform" - icon_state = "officer" - item_state = "g_suit" - item_color = "officer" - displays_id = 0 - -/obj/item/clothing/under/rank/centcom/officer - desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." - name = "\improper NanoTrasen Officers Uniform" - icon_state = "officer" - item_state = "g_suit" - item_color = "officer" - displays_id = 0 - -/obj/item/clothing/under/rank/centcom/captain - desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain\" and bears \"N.C.V. Fearless CV-286\" on the left shounder." - name = "\improper NanoTrasen Captains Uniform" - icon_state = "centcom" - item_state = "dg_suit" - item_color = "centcom" - displays_id = 0 \ No newline at end of file diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 5d63512c14..7b0d3afa98 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -89,7 +89,7 @@ obj/item/check_airflow_movable(n) if(src:shoes:magpulse) return src << "\red You are sucked away by airflow!" - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. + var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) if(airflow_falloff < 1) airflow_dest = null return @@ -154,7 +154,7 @@ obj/item/check_airflow_movable(n) return src << "\red You are pushed away by airflow!" last_airflow = world.time - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. + var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2) if(airflow_falloff < 1) airflow_dest = null return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 0f088f9897..71d50c1e8b 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -736,8 +736,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_syndicate_commando() if("nanotrasen representative") - M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/representative(M), slot_w_uniform) - M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/laceup(M), slot_shoes) M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) M.equip_if_possible(new /obj/item/device/radio/headset/heads/hop(M), slot_l_ear) @@ -761,8 +761,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_if_possible(W, slot_wear_id) if("nanotrasen officer") - M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/officer(M), slot_w_uniform) - M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/laceup(M), slot_shoes) M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear) M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head) @@ -786,8 +786,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if("nanotrasen captain") - M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/captain(M), slot_w_uniform) - M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes) + M.equip_if_possible(new /obj/item/clothing/under/rank/centcom_captain(M), slot_w_uniform) + M.equip_if_possible(new /obj/item/clothing/shoes/laceup(M), slot_shoes) M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves) M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear) M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/captain(M), slot_head) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0be6799a43..781dd8c44f 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -219,7 +219,7 @@ /obj/effect/landmark/corpse/commander name = "Commander" - corpseuniform = /obj/item/clothing/under/rank/centcom_commander + corpseuniform = /obj/item/clothing/under/rank/centcom_captain corpsesuit = /obj/item/clothing/suit/armor/bulletproof corpseradio = /obj/item/device/radio/headset/heads/captain corpseglasses = /obj/item/clothing/glasses/eyepatch diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index c83571650f..4b421d02bb 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -657,7 +657,7 @@ var/global/list/gear_datums = list() /datum/gear/dress_shoes display_name = "shoes, dress" - path = /obj/item/clothing/shoes/centcom + path = /obj/item/clothing/shoes/laceup cost = 1 slot = slot_shoes diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index a46cead9f8..ae2873e8f4 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -78,7 +78,14 @@ name = "purple beret" desc = "A stylish, if purple, beret." icon_state = "purpleberet" - +/obj/item/clothing/head/beret/centcom/officer + name = "officers beret" + desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces." + icon_state = "centcomofficerberet" +/obj/item/clothing/head/beret/centcom/captain + name = "captains beret" + desc = "A white beret adorned with the shield—a silver kite shield with an engraved sword—of the NanoTrasen security forces." + icon_state = "centcomcaptain" //Medical /obj/item/clothing/head/surgery diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index ac8db0967b..f8eabc4026 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -61,19 +61,30 @@ item_state = "gy_suit" item_color = "vice" -/obj/item/clothing/under/rank/centcom_officer - desc = "It's a jumpsuit worn by CentCom Officers." - name = "\improper CentCom officer's jumpsuit" + +/obj/item/clothing/under/rank/centcom + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Ensign.\"" + name = "\improper NanoTrasen Navy Uniform" icon_state = "officer" item_state = "g_suit" item_color = "officer" + displays_id = 0 -/obj/item/clothing/under/rank/centcom_commander - desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders." - name = "\improper CentCom officer's jumpsuit" +/obj/item/clothing/under/rank/centcom_officer + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant Commander.\"" + name = "\improper NanoTrasen Officers Uniform" + icon_state = "officer" + item_state = "g_suit" + item_color = "officer" + displays_id = 0 + +/obj/item/clothing/under/rank/centcom_captain + desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Captain.\"" + name = "\improper NanoTrasen Captains Uniform" icon_state = "centcom" item_state = "dg_suit" item_color = "centcom" + displays_id = 0 /obj/item/clothing/under/ert name = "ERT tactical uniform" From 7c1b70af935ad3dfeb2a612cbdc62d07e182b755 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 3 Feb 2015 04:01:16 -0700 Subject: [PATCH 278/282] Removes jungle --- baystation12.dme | 7 +- .../Cael_Aislinn/Jungle/jungle_animals.dm | 158 - .../Cael_Aislinn/Jungle/jungle_plants.dm | 119 - .../Cael_Aislinn/Jungle/jungle_tribe.dm | 91 - .../artifact/artifact_autocloner.dm | 4 +- .../genetics/prehistoric_animals.dm | 10 +- .../Cael_Aislinn/Jungle => icons}/jungle.dmi | Bin maps/exodus-2.dmm | 4166 ++++++++--------- 8 files changed, 2090 insertions(+), 2465 deletions(-) delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm rename {code/WorkInProgress/Cael_Aislinn/Jungle => icons}/jungle.dmi (100%) diff --git a/baystation12.dme b/baystation12.dme index e56e725d11..4746152b2a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -871,6 +871,7 @@ #include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" #include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" +#include "code\modules\clothing\spacesuits\rig\modules\rig_weapons.dm" #include "code\modules\clothing\spacesuits\rig\modules\utility.dm" #include "code\modules\clothing\spacesuits\rig\modules\vision.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" @@ -1267,6 +1268,7 @@ #include "code\modules\power\antimatter\containment_jar.dm" #include "code\modules\power\antimatter\control.dm" #include "code\modules\power\antimatter\shielding.dm" +#include "code\modules\power\rust\areas.dm" #include "code\modules\power\rust\circuits_and_design.dm" #include "code\modules\power\rust\core_control.dm" #include "code\modules\power\rust\core_field.dm" @@ -1512,11 +1514,6 @@ #include "code\TriDimension\Structures.dm" #include "code\TriDimension\Structures_presets.dm" #include "code\TriDimension\Turfs.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" -#include "code\WorkInProgress\SkyMarshal\officer_stuff.dm" -#include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\_gas_mixture_xgm.dm" #include "code\ZAS\_xgm_gas_data.dm" diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm deleted file mode 100644 index 4c95b5be1c..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm +++ /dev/null @@ -1,158 +0,0 @@ - -//spawns one of the specified animal type -/obj/effect/landmark/animal_spawner - icon_state = "x3" - var/spawn_type - var/mob/living/spawned_animal - invisibility = 101 - -/obj/effect/landmark/animal_spawner/New() - if(!spawn_type) - var/new_type = pick(typesof(/obj/effect/landmark/animal_spawner) - /obj/effect/landmark/animal_spawner) - new new_type(get_turf(src)) - del(src) - - processing_objects.Add(src) - spawned_animal = new spawn_type(get_turf(src)) - -/obj/effect/landmark/animal_spawner/process() - //if any of our animals are killed, spawn new ones - if(!spawned_animal || spawned_animal.stat == DEAD) - spawned_animal = new spawn_type(src) - //after a random timeout, and in a random position (6-30 seconds) - spawn(rand(1200,2400)) - spawned_animal.loc = locate(src.x + rand(-12,12), src.y + rand(-12,12), src.z) - -/obj/effect/landmark/animal_spawner/Del() - processing_objects.Remove(src) - -/obj/effect/landmark/animal_spawner/panther - name = "panther spawner" - spawn_type = /mob/living/simple_animal/hostile/panther - -/obj/effect/landmark/animal_spawner/parrot - name = "parrot spawner" - spawn_type = /mob/living/simple_animal/parrot - -/obj/effect/landmark/animal_spawner/monkey - name = "monkey spawner" - spawn_type = /mob/living/carbon/monkey - -/obj/effect/landmark/animal_spawner/snake - name = "snake spawner" - spawn_type = /mob/living/simple_animal/hostile/snake - - -//*********// -// Panther // -//*********// - -/mob/living/simple_animal/hostile/panther - name = "panther" - desc = "A long sleek, black cat with sharp teeth and claws." - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "panther" - icon_living = "panther" - icon_dead = "panther_dead" - icon_gib = "panther_dead" - speak_chance = 0 - turns_per_move = 3 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat - response_help = "pets the" - response_disarm = "gently pushes aside the" - response_harm = "hits the" - stop_automated_movement_when_pulled = 0 - maxHealth = 50 - health = 50 - - harm_intent_damage = 8 - melee_damage_lower = 15 - melee_damage_upper = 15 - attacktext = "slashed" - attack_sound = 'sound/weapons/bite.ogg' - - layer = 3.1 //so they can stay hidde under the /obj/structure/bush - var/stalk_tick_delay = 3 - -/mob/living/simple_animal/hostile/panther/ListTargets() - var/list/targets = list() - for(var/mob/living/carbon/human/H in view(src, 10)) - targets += H - return targets - -/mob/living/simple_animal/hostile/panther/FindTarget() - . = ..() - if(.) - emote("nashes at [.]") - -/mob/living/simple_animal/hostile/panther/AttackingTarget() - . =..() - var/mob/living/L = . - if(istype(L)) - if(prob(15)) - L.Weaken(3) - L.visible_message("\the [src] knocks down \the [L]!") - -/mob/living/simple_animal/hostile/panther/AttackTarget() - ..() - if(stance == HOSTILE_STANCE_ATTACKING && get_dist(src, target_mob)) - stalk_tick_delay -= 1 - if(stalk_tick_delay <= 0) - src.loc = get_step_towards(src, target_mob) - stalk_tick_delay = 3 - -//*******// -// Snake // -//*******// - -/mob/living/simple_animal/hostile/snake - name = "snake" - desc = "A sinuously coiled, venomous looking reptile." - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "snake" - icon_living = "snake" - icon_dead = "snake_dead" - icon_gib = "snake_dead" - speak_chance = 0 - turns_per_move = 1 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat - response_help = "pets the" - response_disarm = "gently pushes aside the" - response_harm = "hits the" - stop_automated_movement_when_pulled = 0 - maxHealth = 25 - health = 25 - - harm_intent_damage = 2 - melee_damage_lower = 3 - melee_damage_upper = 10 - attacktext = "bitten" - attack_sound = 'sound/weapons/bite.ogg' - - layer = 3.1 //so they can stay hidde under the /obj/structure/bush - var/stalk_tick_delay = 3 - -/mob/living/simple_animal/hostile/snake/ListTargets() - var/list/targets = list() - for(var/mob/living/carbon/human/H in view(src, 10)) - targets += H - return targets - -/mob/living/simple_animal/hostile/snake/FindTarget() - . = ..() - if(.) - emote("hisses wickedly") - -/mob/living/simple_animal/hostile/snake/AttackingTarget() - . =..() - var/mob/living/L = . - if(istype(L)) - L.apply_damage(rand(3,12), TOX) - -/mob/living/simple_animal/hostile/snake/AttackTarget() - ..() - if(stance == HOSTILE_STANCE_ATTACKING && get_dist(src, target_mob)) - stalk_tick_delay -= 1 - if(stalk_tick_delay <= 0) - src.loc = get_step_towards(src, target_mob) - stalk_tick_delay = 3 diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm deleted file mode 100644 index 3f1a7c2f4b..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm +++ /dev/null @@ -1,119 +0,0 @@ -//*********************// -// Generic undergrowth // -//*********************// - -/obj/structure/bush - name = "foliage" - desc = "Pretty thick scrub, it'll take something sharp and a lot of determination to clear away." - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "bush1" - density = 1 - anchored = 1 - layer = 3.2 - var/indestructable = 0 - var/stump = 0 - -/obj/structure/bush/New() - if(prob(20)) - opacity = 1 - -/obj/structure/bush/Bumped(M as mob) - if (istype(M, /mob/living/simple_animal)) - var/mob/living/simple_animal/A = M - A.loc = get_turf(src) - else if (istype(M, /mob/living/carbon/monkey)) - var/mob/living/carbon/monkey/A = M - A.loc = get_turf(src) - -/obj/structure/bush/attackby(var/obj/I as obj, var/mob/user as mob) - //hatchets can clear away undergrowth - if(istype(I, /obj/item/weapon/hatchet) && !stump) - if(indestructable) - //this bush marks the edge of the map, you can't destroy it - user << "\red You flail away at the undergrowth, but it's too thick here." - else - user.visible_message("\red [user] begins clearing away [src].","\red You begin clearing away [src].") - spawn(rand(15,30)) - if(get_dist(user,src) < 2) - user << "\blue You clear away [src]." - var/obj/item/stack/sheet/wood/W = new(src.loc) - W.amount = rand(3,15) - if(prob(50)) - icon_state = "stump[rand(1,2)]" - name = "cleared foliage" - desc = "There used to be dense undergrowth here." - density = 0 - stump = 1 - pixel_x = rand(-6,6) - pixel_y = rand(-6,6) - else - del(src) - else - return ..() - -//*******************************// -// Strange, fruit-bearing plants // -//*******************************// - -var/list/fruit_icon_states = list("badrecipe","kudzupod","reishi","lime","grapes","boiledrorocore","chocolateegg") -var/list/reagent_effects = list("toxin","anti_toxin","stoxin","space_drugs","mindbreaker","zombiepowder","impedrezene") -var/jungle_plants_init = 0 - -/proc/init_jungle_plants() - jungle_plants_init = 1 - fruit_icon_states = shuffle(fruit_icon_states) - reagent_effects = shuffle(reagent_effects) - -/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit - name = "jungle fruit" - desc = "It smells weird and looks off." - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "orange" - potency = 1 - -/obj/structure/jungle_plant - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "plant1" - desc = "Looks like some of that fruit might be edible." - var/fruits_left = 3 - var/fruit_type = -1 - var/icon/fruit_overlay - var/plant_strength = 1 - var/fruit_r - var/fruit_g - var/fruit_b - - -/obj/structure/jungle_plant/New() - if(!jungle_plants_init) - init_jungle_plants() - - fruit_type = rand(1,7) - icon_state = "plant[fruit_type]" - fruits_left = rand(1,5) - fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]") - fruit_r = 255 - fruit_type * 36 - fruit_g = rand(1,255) - fruit_b = fruit_type * 36 - fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD) - overlays += fruit_overlay - plant_strength = rand(20,200) - -/obj/structure/jungle_plant/attack_hand(var/mob/user as mob) - if(fruits_left > 0) - fruits_left-- - user << "\blue You pick a fruit off [src]." - - var/obj/item/weapon/reagent_containers/food/snacks/grown/jungle_fruit/J = new (src.loc) - J.potency = plant_strength - J.icon_state = fruit_icon_states[fruit_type] - J.reagents.add_reagent(reagent_effects[fruit_type], 1+round((plant_strength / 20), 1)) - J.bitesize = 1+round(J.reagents.total_volume / 2, 1) - J.attack_hand(user) - - overlays -= fruit_overlay - fruit_overlay = icon('code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi',"fruit[fruits_left]") - fruit_overlay.Blend(rgb(fruit_r, fruit_g, fruit_b), ICON_ADD) - overlays += fruit_overlay - else - user << "\red There are no fruit left on [src]." diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm deleted file mode 100644 index 46ad23cedf..0000000000 --- a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm +++ /dev/null @@ -1,91 +0,0 @@ - - -/obj/item/projectile/jungle_spear - damage = 10 - damage_type = TOX - icon_state = "bullet" - -/obj/effect/jungle_tribe_spawn - name = "campfire" - desc = "Looks cosy, in an alien sort of way." - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' - icon_state = "campfire" - anchored = 1 - var/list/tribesmen = list() - var/list/enemy_players = list() - var/tribe_type = 1 - -/obj/effect/jungle_tribe_spawn/New() - processing_objects.Add(src) - tribe_type = rand(1,5) - - var/num_tribesmen = rand(3,6) - for(var/i=0,i[src]
throws a spear at [target_mob]!", 1) - flick(src, "native[my_type]_act") - - var/tturf = get_turf(target_mob) - Shoot(tturf, src.loc, src) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm index fb01ee4661..9c3cc70eeb 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm @@ -26,9 +26,7 @@ /mob/living/simple_animal/hostile/giant_spider/nurse,\ /mob/living/simple_animal/hostile/alien,\ /mob/living/simple_animal/hostile/bear,\ - /mob/living/simple_animal/hostile/creature,\ - /mob/living/simple_animal/hostile/panther,\ - /mob/living/simple_animal/hostile/snake\ + /mob/living/simple_animal/hostile/creature\ ) else spawn_type = pick(\ diff --git a/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm b/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm index df2ff6d852..14b84fd805 100644 --- a/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm +++ b/code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm @@ -5,7 +5,7 @@ icon_state = "samak" icon_living = "samak" icon_dead = "samak_dead" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon = 'icons/jungle.dmi' move_to_delay = 2 maxHealth = 125 health = 125 @@ -26,7 +26,7 @@ icon_state = "diyaab" icon_living = "diyaab" icon_dead = "diyaab_dead" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon = 'icons/jungle.dmi' move_to_delay = 1 maxHealth = 25 health = 25 @@ -47,7 +47,7 @@ icon_state = "shantak" icon_living = "shantak" icon_dead = "shantak_dead" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon = 'icons/jungle.dmi' move_to_delay = 1 maxHealth = 75 health = 75 @@ -66,7 +66,7 @@ icon_state = "yithian" icon_living = "yithian" icon_dead = "yithian_dead" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon = 'icons/jungle.dmi' /mob/living/simple_animal/tindalos name = "tindalos" @@ -74,4 +74,4 @@ icon_state = "tindalos" icon_living = "tindalos" icon_dead = "tindalos_dead" - icon = 'code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi' + icon = 'icons/jungle.dmi' diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi b/icons/jungle.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi rename to icons/jungle.dmi diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 4d07854f74..f53a074eef 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -66,1077 +66,1077 @@ "bn" = (/turf/space/transit/east/shuttlespace_ew9,/area/space) "bo" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) "bp" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bq" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"br" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"bs" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bt" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bu" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"bv" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"bx" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating) -"by" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt) -"bz" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt) -"bA" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt) -"bB" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"bC" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bD" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"bE" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bF" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bG" = (/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"bH" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"bI" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt) -"bJ" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt) -"bK" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) -"bL" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"bM" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"bN" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"bO" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"bP" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"bQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bR" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) -"bS" = (/turf/simulated/floor/holofloor{icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) -"bT" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"bU" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) -"bV" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bX" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) -"bY" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) -"bZ" = (/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) -"ca" = (/turf/simulated/floor/holofloor{icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) -"cb" = (/turf/simulated/floor/holofloor{icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) -"cc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"cd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"ce" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"cf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"cg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"ch" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"ci" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"cj" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) -"ck" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) -"cl" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) -"cm" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) -"cn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) -"co" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt) -"cp" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt) -"cq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"cr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"cs" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) -"ct" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit) -"cu" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) -"cv" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) -"cw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"cx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"cy" = (/turf/simulated/floor/holofloor{icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) -"cz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"cA" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit) -"cB" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) -"cC" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) -"cD" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) -"cE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"cF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area/space) -"cG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area/space) -"cH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area/space) -"cI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area/space) -"cJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area/space) -"cK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area/space) -"cL" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cM" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cN" = (/turf/simulated/floor/holofloor{icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) -"cO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"cP" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit) -"cQ" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) -"cR" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) -"cS" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) -"cT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"cU" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod5/transit) -"cV" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod5/transit) -"cW" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod5/transit) -"cX" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod5/transit) -"cY" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area/space) -"cZ" = (/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/turf/simulated/floor/holofloor{icon_state = "asteroid6"; dir = 2},/area/centcom/specops) -"da" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) -"db" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"dc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"dd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area/space) -"de" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit) -"df" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) -"dg" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) -"dh" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) -"di" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area/space) -"dj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"dk" = (/turf/simulated/floor/holofloor{icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) -"dl" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) -"dm" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) -"dn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) -"do" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt) -"dp" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt) -"dq" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt) -"dr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"ds" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) -"dt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"du" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"dv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area/space) -"dw" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) -"dx" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit) -"dy" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit) -"dz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area/space) -"dA" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"dB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"dC" = (/turf/unsimulated/wall,/area/space) -"dD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"dE" = (/turf/unsimulated/wall{icon_state = "iron11"},/area/space) -"dF" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit) -"dG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"dH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area/space) -"dI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area/space) -"dJ" = (/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) -"dK" = (/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) -"dL" = (/turf/simulated/floor/holofloor{icon_state = "22"; dir = 5},/area/holodeck/source_space) -"dM" = (/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"dN" = (/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"dO" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball) -"dP" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"dQ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball) -"dR" = (/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"dS" = (/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) -"dT" = (/turf/simulated/floor/beach/sand{tag = "icon-desert4"; icon_state = "desert4"},/area/holodeck/source_beach) -"dU" = (/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"dV" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dW" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dX" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dY" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) -"dZ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) -"ea" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) -"eb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"ec" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"ed" = (/turf/simulated/floor/holofloor{icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) -"ee" = (/turf/simulated/floor/holofloor{icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) -"ef" = (/turf/simulated/floor/holofloor{icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) -"eg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball) -"eh" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"ei" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball) -"ej" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"ek" = (/turf/simulated/floor/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/holodeck/source_beach) -"el" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"em" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"en" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eo" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"ep" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eq" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt) -"er" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) -"es" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) -"et" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"eu" = (/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"ev" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"ew" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"ex" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit) -"ey" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit) -"ez" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit) -"eA" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit) -"eB" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit) -"eC" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit) -"eD" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit) -"eE" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit) -"eF" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"eG" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) -"eH" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) -"eI" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) -"eJ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball) -"eK" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball) -"eL" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball) -"eM" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) -"eN" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eO" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"eP" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eQ" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit) -"eR" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit) -"eS" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit) -"eT" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"eU" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) -"eV" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) -"eW" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) -"eX" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball) -"eY" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball) -"eZ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball) -"fa" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"; dir = 2},/area/holodeck/source_beach) -"fb" = (/turf/simulated/floor/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/holodeck/source_beach) -"fc" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner (NORTH)"; icon_state = "beachcorner"; dir = 1},/area/holodeck/source_beach) -"fd" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fe" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"ff" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fh" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball) -"fj" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"fk" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball) -"fl" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/holodeck/source_beach) -"fm" = (/turf/simulated/floor/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"; dir = 2},/area/holodeck/source_beach) -"fn" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHWEST)"; icon_state = "beach"; dir = 10},/area/holodeck/source_beach) -"fo" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fp" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fq" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"fr" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"fs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"ft" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) -"fu" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) -"fv" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) -"fw" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball) -"fx" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"fy" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball) -"fz" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fA" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fB" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fC" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fD" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fE" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"fG" = (/turf/unsimulated/wall{icon_state = "iron5"},/area/space) -"fH" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"fI" = (/turf/unsimulated/wall{icon_state = "iron13"},/area/space) -"fJ" = (/turf/unsimulated/wall{icon_state = "iron9"},/area/space) -"fK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"fL" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"fM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"fN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership) -"fO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) -"fP" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"fQ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fR" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fS" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"fU" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership) -"fV" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"fW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"fX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"fY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"fZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"ga" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gb" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control) -"gc" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership) -"gd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"ge" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"gf" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit) -"gg" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit) -"gh" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit) -"gi" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit) -"gj" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit) -"gk" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit) -"gl" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit) -"gm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"gn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"go" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gp" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gq" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit) -"gr" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit) -"gs" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit) -"gt" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit) -"gu" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit) -"gv" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit) -"gw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"gx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"gy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"gz" = (/turf/space,/area/syndicate_mothership/elite_squad) -"gA" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad) -"gB" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gC" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gD" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gE" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gF" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gG" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"gH" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"gI" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit) -"gJ" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit) -"gK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"gL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"gM" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit) -"gN" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit) -"gO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"gP" = (/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},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"gR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"gS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"gT" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit) -"gU" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit) -"gV" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit) -"gW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"gX" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gY" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"ha" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit) -"hb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"hc" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit) -"hd" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit) -"he" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"hf" = (/turf/space,/area/shuttle/escape_pod1/centcom) -"hg" = (/turf/space,/area/shuttle/escape_pod2/centcom) -"hh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"hi" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit) -"hj" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit) -"hk" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit) -"hl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"hm" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"hn" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"ho" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"hp" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit) -"hq" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit) -"hr" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit) -"hs" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"ht" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"hu" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"hv" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit) -"hw" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"hx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac) -"hy" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac) -"hz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac) -"hA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac) -"hB" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac) -"hC" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"hD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"hE" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac) -"hF" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac) -"hG" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/centcom/evac) -"hH" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac) -"hI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"hJ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"hK" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac) -"hL" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hM" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hN" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) -"hO" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/centcom/evac) -"hP" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"hR" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hS" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hT" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_2_recovery"; pixel_x = -25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"hV" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/centcom/evac) -"hW" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) -"hX" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hY" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"ia" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"ib" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"ic" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"id" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"ie" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"if" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"ig" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"ih" = (/turf/unsimulated/wall,/area/syndicate_mothership) -"ii" = (/turf/simulated/shuttle/plating,/area/centcom/evac) -"ij" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac) -"ik" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"il" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"im" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"in" = (/obj/structure/stool,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"io" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ip" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"iq" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit) -"ir" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) -"is" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) -"it" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"iu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"iv" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit) -"iw" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) -"ix" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) -"iy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"iz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"iA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iB" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iC" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iD" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iE" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) -"iF" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"iG" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac) -"iH" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit) -"iI" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) -"iJ" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) -"iK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"iL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"iM" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit) -"iN" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) -"iO" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) -"iP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"iQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"iR" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iS" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iT" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iU" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit) -"iV" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) -"iW" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) -"iX" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit) -"iY" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) -"iZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"ja" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"jb" = (/obj/structure/table,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jc" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jd" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"je" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jf" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) -"jg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"jh" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) -"ji" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) -"jj" = (/turf/space,/area/shuttle/escape_pod5/centcom) -"jk" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jl" = (/turf/space,/area/shuttle/escape_pod3/centcom) -"jm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"jn" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"jo" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jp" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"jq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"jr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"js" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jt" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"ju" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"jv" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) -"jw" = (/obj/machinery/door/blast/regular{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"jx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"jy" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"},/area/centcom/evac) -"jz" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jA" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jC" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jD" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jE" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jF" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"jH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jJ" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jK" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jL" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jM" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jN" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jO" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"jQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) -"jR" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership) -"jS" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) -"jT" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jU" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jV" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jX" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jY" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jZ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"ka" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kb" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kc" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) -"kd" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"ke" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kf" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kg" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kh" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"ki" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"kj" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"kk" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) -"kl" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"km" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"ko" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership) -"kq" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"ks" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"kt" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"ku" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kv" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kw" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kx" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"ky" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kz" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kA" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership) -"kC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) -"kD" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) -"kE" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kF" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kG" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kH" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kI" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kL" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kN" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) -"kO" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/centcom/evac) -"kP" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"kQ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kR" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kS" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kT" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kU" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kV" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kW" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kX" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kY" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/tie/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) -"la" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"lb" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"lc" = (/obj/structure/table,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ld" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"le" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lf" = (/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"lg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) -"lh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"li" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) -"lj" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"lk" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"ll" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lm" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ln" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lo" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lp" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"lr" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"ls" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lt" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"lv" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"lw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) -"lx" = (/turf/simulated/floor/wood,/area/syndicate_mothership) -"ly" = (/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/syndicate_mothership) -"lz" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lA" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lB" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lC" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lE" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/syndicate_mothership) -"lF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/syndicate_mothership) -"lG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lH" = (/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/shuttle/plating,/area/syndicate_mothership) -"lI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) -"lJ" = (/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/syndicate_mothership) -"lK" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lL" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lM" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lO" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lP" = (/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lQ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lR" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lS" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lT" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lU" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lV" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"lW" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/syndicate_mothership) -"lX" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lY" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lZ" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"ma" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mb" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mc" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"md" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"me" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mf" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mg" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mh" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mi" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"mj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"mk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ml" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership) -"mm" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mn" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mo" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership) -"mp" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership) -"mq" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership) -"mr" = (/turf/unsimulated/wall,/area/start) -"ms" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"mt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"mu" = (/turf/simulated/mineral,/area/space) -"mv" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) -"mw" = (/turf/unsimulated/wall{icon_state = "phoron6"},/area/alien) -"mx" = (/turf/unsimulated/wall{icon_state = "phoron12"},/area/alien) -"my" = (/turf/unsimulated/wall{icon_state = "phoron14"},/area/alien) -"mz" = (/turf/unsimulated/wall{icon_state = "phoron10"},/area/alien) -"mA" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"mB" = (/obj/structure/lattice,/turf/space,/area/space) -"mC" = (/turf/unsimulated/wall{icon_state = "phoron3"},/area/alien) -"mD" = (/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mE" = (/turf/unsimulated/wall{icon_state = "phoron1"},/area/alien) -"mF" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mG" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mH" = (/turf/unsimulated/wall/splashscreen,/area/start) -"mI" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mJ" = (/turf/unsimulated/wall{icon_state = "phoron2"},/area/alien) -"mK" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"mL" = (/turf/space,/area/shuttle/alien/base) -"mM" = (/turf/unsimulated/wall{icon_state = "phoron4"},/area/alien) -"mN" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) -"mO" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) -"mP" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) -"mQ" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mR" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mT" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mV" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mW" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mX" = (/turf/unsimulated/wall{icon_state = "phoron5"},/area/alien) -"mY" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"na" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nc" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"nd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"ne" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nf" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ng" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"ni" = (/obj/structure/table,/obj/machinery/chem_dispenser/soda{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nj" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nk" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nm" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nn" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"no" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"np" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nq" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nr" = (/obj/structure/table,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ns" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nt" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nv" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"nw" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"nx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"ny" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"nz" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"nA" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"nC" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nD" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nJ" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nK" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nL" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nM" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nN" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"nO" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nP" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nR" = (/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nV" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"nW" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"nX" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nY" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oa" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ob" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"oc" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"od" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"oe" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"of" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"og" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oh" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"oj" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"ok" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"ol" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"om" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start) -"on" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oo" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"op" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oq" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"or" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"os" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) -"ot" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) -"ou" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ov" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"br" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bs" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bt" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"bu" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"bv" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) +"bw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating) +"bx" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt) +"by" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt) +"bz" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt) +"bA" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"bB" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) +"bC" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bD" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bE" = (/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"bF" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) +"bG" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt) +"bH" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt) +"bI" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) +"bJ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) +"bK" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) +"bL" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) +"bM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bN" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) +"bO" = (/turf/simulated/floor/holofloor{icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) +"bP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) +"bQ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bS" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) +"bT" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) +"bU" = (/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) +"bV" = (/turf/simulated/floor/holofloor{icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) +"bW" = (/turf/simulated/floor/holofloor{icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) +"bX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"bY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"bZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"ca" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"cb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"cc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"cd" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) +"ce" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) +"cf" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) +"cg" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) +"ch" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) +"ci" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt) +"cj" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt) +"ck" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"cl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"cm" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) +"cn" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit) +"co" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) +"cp" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) +"cq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"cr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"cs" = (/turf/simulated/floor/holofloor{icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) +"ct" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"cu" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit) +"cv" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) +"cw" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) +"cx" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) +"cy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"cz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area/space) +"cA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area/space) +"cB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area/space) +"cC" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area/space) +"cD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area/space) +"cE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area/space) +"cF" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"cG" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"cH" = (/turf/simulated/floor/holofloor{icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) +"cI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"cJ" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit) +"cK" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) +"cL" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) +"cM" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) +"cN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"cO" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod5/transit) +"cP" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod5/transit) +"cQ" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod5/transit) +"cR" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod5/transit) +"cS" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area/space) +"cT" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) +"cU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"cV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"cW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area/space) +"cX" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit) +"cY" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) +"cZ" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) +"da" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) +"db" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area/space) +"dc" = (/turf/simulated/floor/holofloor{icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) +"dd" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) +"de" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) +"df" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) +"dg" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt) +"dh" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt) +"di" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt) +"dj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"dk" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) +"dl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"dm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"dn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area/space) +"do" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) +"dp" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit) +"dq" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit) +"dr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area/space) +"ds" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"dt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"du" = (/turf/unsimulated/wall,/area/space) +"dv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"dw" = (/turf/unsimulated/wall{icon_state = "iron11"},/area/space) +"dx" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit) +"dy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"dz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area/space) +"dA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area/space) +"dB" = (/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) +"dC" = (/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) +"dD" = (/turf/simulated/floor/holofloor{icon_state = "22"; dir = 5},/area/holodeck/source_space) +"dE" = (/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"dF" = (/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"dG" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball) +"dH" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) +"dI" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball) +"dJ" = (/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"dK" = (/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) +"dL" = (/turf/simulated/floor/beach/sand{tag = "icon-desert4"; icon_state = "desert4"},/area/holodeck/source_beach) +"dM" = (/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"dN" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dO" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dP" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dQ" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) +"dR" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) +"dS" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) +"dT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"dU" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) +"dV" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"dW" = (/turf/simulated/floor/holofloor{icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) +"dX" = (/turf/simulated/floor/holofloor{icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) +"dY" = (/turf/simulated/floor/holofloor{icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) +"dZ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball) +"ea" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) +"eb" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball) +"ec" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"ed" = (/turf/simulated/floor/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/holodeck/source_beach) +"ee" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"ef" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"eg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eh" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"ei" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"ej" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt) +"ek" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) +"el" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) +"em" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"en" = (/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"eo" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) +"ep" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"eq" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit) +"er" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit) +"es" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit) +"et" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit) +"eu" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit) +"ev" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit) +"ew" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit) +"ex" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit) +"ey" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"ez" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) +"eA" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) +"eB" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) +"eC" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball) +"eD" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball) +"eE" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball) +"eF" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) +"eG" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eH" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"eI" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eJ" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit) +"eK" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit) +"eL" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit) +"eM" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"eN" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) +"eO" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) +"eP" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) +"eQ" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball) +"eR" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball) +"eS" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball) +"eT" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"; dir = 2},/area/holodeck/source_beach) +"eU" = (/turf/simulated/floor/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/holodeck/source_beach) +"eV" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner (NORTH)"; icon_state = "beachcorner"; dir = 1},/area/holodeck/source_beach) +"eW" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"eX" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"eY" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"eZ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fa" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fb" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) +"fc" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball) +"fd" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) +"fe" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball) +"ff" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/holodeck/source_beach) +"fg" = (/turf/simulated/floor/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"; dir = 2},/area/holodeck/source_beach) +"fh" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHWEST)"; icon_state = "beach"; dir = 10},/area/holodeck/source_beach) +"fi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fj" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fk" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"fl" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) +"fm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"fn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) +"fo" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) +"fp" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) +"fq" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball) +"fr" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) +"fs" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball) +"ft" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fu" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fv" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fw" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fx" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fy" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"fA" = (/turf/unsimulated/wall{icon_state = "iron5"},/area/space) +"fB" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"fC" = (/turf/unsimulated/wall{icon_state = "iron13"},/area/space) +"fD" = (/turf/unsimulated/wall{icon_state = "iron9"},/area/space) +"fE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"fF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"fG" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"fH" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership) +"fI" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) +"fJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"fK" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fL" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fM" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fN" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"fO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership) +"fP" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) +"fQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"fR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"fS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"fT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"fU" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"fV" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control) +"fW" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership) +"fX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"fY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"fZ" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit) +"ga" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit) +"gb" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit) +"gc" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit) +"gd" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit) +"ge" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit) +"gf" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit) +"gg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"gh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gi" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gj" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gk" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit) +"gl" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit) +"gm" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit) +"gn" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit) +"go" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit) +"gp" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit) +"gq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"gr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"gs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"gt" = (/turf/space,/area/syndicate_mothership/elite_squad) +"gu" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad) +"gv" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gw" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gx" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gy" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gz" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gA" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"gB" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"gC" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit) +"gD" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit) +"gE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"gF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"gG" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit) +"gH" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit) +"gI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"gJ" = (/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},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"gL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"gM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"gN" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit) +"gO" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit) +"gP" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit) +"gQ" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gR" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gS" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"gU" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit) +"gV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"gW" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit) +"gX" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit) +"gY" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gZ" = (/turf/space,/area/shuttle/escape_pod1/centcom) +"ha" = (/turf/space,/area/shuttle/escape_pod2/centcom) +"hb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"hc" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit) +"hd" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit) +"he" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit) +"hf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"hg" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"hh" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"hi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"hj" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit) +"hk" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit) +"hl" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit) +"hm" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"hn" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) +"ho" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"hp" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit) +"hq" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) +"hr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac) +"hs" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac) +"ht" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac) +"hu" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac) +"hv" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac) +"hw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"hx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"hy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"hz" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac) +"hA" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac) +"hB" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/centcom/evac) +"hC" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac) +"hD" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"hE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"hF" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac) +"hG" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hI" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) +"hJ" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/centcom/evac) +"hK" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"hM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hN" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hP" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_2_recovery"; pixel_x = -25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"hQ" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/centcom/evac) +"hR" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) +"hS" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hT" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"hV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"hW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"hX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"hY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"hZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"ia" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"ib" = (/turf/unsimulated/wall,/area/syndicate_mothership) +"ic" = (/turf/simulated/shuttle/plating,/area/centcom/evac) +"id" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac) +"ie" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"if" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ig" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"ih" = (/obj/structure/stool,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ii" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ij" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"ik" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit) +"il" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) +"im" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) +"in" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"io" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"ip" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit) +"iq" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) +"ir" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) +"is" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"it" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"iu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iv" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iw" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"ix" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) +"iz" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac) +"iA" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac) +"iB" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit) +"iC" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) +"iD" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) +"iE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"iF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"iG" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit) +"iH" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) +"iI" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) +"iJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"iK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"iL" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iM" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iN" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iO" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit) +"iP" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) +"iQ" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) +"iR" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit) +"iS" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) +"iT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"iU" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iV" = (/obj/structure/table,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iW" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iX" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iY" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iZ" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) +"ja" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"jb" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) +"jc" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) +"jd" = (/turf/space,/area/shuttle/escape_pod5/centcom) +"je" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jf" = (/turf/space,/area/shuttle/escape_pod3/centcom) +"jg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"jh" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"ji" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jj" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"jk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"jl" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jm" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jn" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"jo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"jp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"jq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"jr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"js" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"},/area/centcom/evac) +"jt" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ju" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jv" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jw" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jx" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jy" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jz" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jE" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jF" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jG" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jI" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jJ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"jK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) +"jL" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership) +"jM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) +"jN" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jO" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jP" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jQ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jR" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jS" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jT" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jU" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jV" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) +"jX" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jY" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"jZ" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ka" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kb" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kc" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"kd" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"ke" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) +"kf" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"ki" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership) +"kk" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kl" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"km" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"kn" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ko" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kp" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kq" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kr" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"ks" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kt" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"ku" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kv" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership) +"kw" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) +"kx" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) +"ky" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kz" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kA" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kB" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kC" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kD" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kE" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kG" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kH" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) +"kI" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/centcom/evac) +"kJ" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"kK" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kL" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kM" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kN" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kO" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kP" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kQ" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kR" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kS" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/tie/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kT" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) +"kU" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kV" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kW" = (/obj/structure/table,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"kY" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kZ" = (/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"la" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) +"lb" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"lc" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) +"ld" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"le" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"lf" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lg" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lh" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"li" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lj" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"ll" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lm" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ln" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lo" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"lp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"lq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) +"lr" = (/turf/simulated/floor/wood,/area/syndicate_mothership) +"ls" = (/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/syndicate_mothership) +"lt" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lu" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lv" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lw" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lx" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ly" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/syndicate_mothership) +"lz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/syndicate_mothership) +"lA" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lB" = (/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/shuttle/plating,/area/syndicate_mothership) +"lC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) +"lD" = (/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/syndicate_mothership) +"lE" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lF" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lG" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lI" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lJ" = (/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lK" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lL" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lM" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lN" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lO" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"lQ" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/syndicate_mothership) +"lR" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lS" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lT" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lU" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lV" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lW" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lX" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lY" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lZ" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"ma" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mb" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mc" = (/obj/machinery/door/blast/regular{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"md" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"me" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mf" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership) +"mg" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mh" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mi" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership) +"mj" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership) +"mk" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership) +"ml" = (/turf/unsimulated/wall,/area/start) +"mm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"mn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"mo" = (/turf/simulated/mineral,/area/space) +"mp" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) +"mq" = (/turf/unsimulated/wall{icon_state = "phoron6"},/area/alien) +"mr" = (/turf/unsimulated/wall{icon_state = "phoron12"},/area/alien) +"ms" = (/turf/unsimulated/wall{icon_state = "phoron14"},/area/alien) +"mt" = (/turf/unsimulated/wall{icon_state = "phoron10"},/area/alien) +"mu" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) +"mv" = (/obj/structure/lattice,/turf/space,/area/space) +"mw" = (/turf/unsimulated/wall{icon_state = "phoron3"},/area/alien) +"mx" = (/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"my" = (/turf/unsimulated/wall{icon_state = "phoron1"},/area/alien) +"mz" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mA" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mB" = (/turf/unsimulated/wall/splashscreen,/area/start) +"mC" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mD" = (/turf/unsimulated/wall{icon_state = "phoron2"},/area/alien) +"mE" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"mF" = (/turf/space,/area/shuttle/alien/base) +"mG" = (/turf/unsimulated/wall{icon_state = "phoron4"},/area/alien) +"mH" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) +"mI" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) +"mJ" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"mK" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mL" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mN" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mP" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mQ" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mR" = (/turf/unsimulated/wall{icon_state = "phoron5"},/area/alien) +"mS" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"mU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"mV" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"mW" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"mY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"mZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"na" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"nb" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"nc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nd" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ne" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nf" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ng" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nh" = (/obj/structure/table,/obj/machinery/chem_dispenser/soda{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"ni" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nj" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nk" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nl" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) +"nm" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nn" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"no" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"np" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nq" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nr" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ns" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nt" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nu" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nv" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nw" = (/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nx" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ny" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nz" = (/obj/structure/table,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nA" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nB" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nD" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nE" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nF" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nG" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nH" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nI" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nJ" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nL" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nM" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nN" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nO" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nP" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nQ" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nR" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nS" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start) +"nT" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nU" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"nV" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nX" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"nY" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"nZ" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oa" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ob" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oc" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"od" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oe" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"of" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"og" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"oh" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"oi" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oj" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ok" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ol" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"om" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"on" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"oo" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"op" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oq" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) +"or" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"os" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ot" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ou" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) +"ov" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ow" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ox" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oA" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oB" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oC" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oD" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oE" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oF" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"oG" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) -"oJ" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oK" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oL" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"oM" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oN" = (/turf/unsimulated/wall,/area/centcom) -"oO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oP" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"oQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"oR" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"oS" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"oT" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom) -"oU" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom) -"oV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom) -"oW" = (/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oX" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oY" = (/obj/item/device/radio/electropack,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oZ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pa" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"pb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "synd_airlock"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; tag_airpump = "synd_pump"; tag_chamber_sensor = "synd_sensor"; tag_exterior_door = "synd_outer"; tag_interior_door = "synd_inner"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pc" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pd" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"pe" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"pf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pg" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"ph" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_station/start) -"pi" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"pj" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"pk" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pl" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pn" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"po" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"pp" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"pq" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pr" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"ps" = (/obj/machinery/microwave,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pt" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "101"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pu" = (/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"px" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVent"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pz" = (/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/shuttle/plating,/area/syndicate_station/start) -"pA" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_inner"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pC" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pF" = (/turf/unsimulated/wall,/area/centcom/living) -"pG" = (/obj/machinery/vending/cigarette{contraband = newlist(); premium = newlist(); prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 20); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/flasher_button{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pI" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pJ" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pK" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pM" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pN" = (/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pO" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pP" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pQ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pR" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pS" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pT" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"pU" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"pV" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"pW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"pX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"pY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"pZ" = (/turf/unsimulated/wall,/area/centcom/suppy) -"qa" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qb" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qc" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qd" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qe" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"qf" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"qg" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qh" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qi" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qj" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qk" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"ql" = (/obj/machinery/robotic_fabricator,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qm" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Thunderdome Autolathe"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qn" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"qp" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qq" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qr" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qt" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qu" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qv" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qw" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qx" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qy" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/suppy) -"qz" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) -"qA" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/suppy) -"qB" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) -"qC" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qD" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qE" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qF" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"qH" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"qI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"qJ" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qK" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qL" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"qM" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"qN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/living) -"qO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/supply/dock) -"qP" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/supply/dock) -"qQ" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/supply/dock) -"qR" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"qS" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qT" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qU" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) -"qV" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom) -"qW" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"qX" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/supply/dock) -"qY" = (/turf/simulated/shuttle/floor,/area/supply/dock) -"qZ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"ra" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rb" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rc" = (/obj/structure/table,/obj/item/roller{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"re" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rf" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rg" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rh" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"ri" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"rj" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rk" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rl" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"rm" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rn" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"ro" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rp" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rq" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rr" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"rs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"rt" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"ru" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rv" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living) -"rw" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"ry" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) -"rA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) -"rB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rC" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rD" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rE" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rF" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rG" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rH" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rJ" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"rL" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rM" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rN" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock) -"rP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rQ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rR" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rS" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rT" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rU" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rV" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/shuttle/administration/centcom) -"rW" = (/obj/structure/bookcase,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/shuttle/administration/centcom) -"rX" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rZ" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"sa" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;31"; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) -"sb" = (/obj/machinery/door_control{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25; req_access_txt = "0"},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sc" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sd" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"se" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sf" = (/obj/machinery/door_control{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sg" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sh" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"si" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"sj" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/shuttle/administration/centcom) -"sk" = (/turf/simulated/floor{icon_state = "chapel"},/area/shuttle/administration/centcom) -"sl" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"sm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"sn" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"so" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sq" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sr" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"ss" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"st" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"su" = (/obj/item/weapon/weldingtool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sv" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = null; req_access_txt = "150"},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sw" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"sx" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) -"sy" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"sz" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) -"sA" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sB" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sD" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) -"sF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) -"sG" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sH" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sI" = (/obj/machinery/door_control{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sJ" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sK" = (/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sL" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sM" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sN" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) -"sP" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) -"sQ" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) -"sR" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/living) -"sS" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sT" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sV" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sW" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sX" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sY" = (/obj/structure/table,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sZ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) -"ta" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"tb" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"tc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"td" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"te" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"th" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"ti" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/supply/dock) -"tj" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/supply/dock) -"tk" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/supply/dock) -"tl" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/supply/dock) -"tm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start) -"tn" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start) -"to" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start) -"tp" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/living) -"tq" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"tr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/supply/dock) -"ts" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/supply/dock) -"tt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock) -"tu" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/supply/dock) -"tv" = (/turf/unsimulated/wall,/area/centcom/specops) -"tw" = (/turf/unsimulated/wall,/area/prison/solitary) -"tx" = (/turf/unsimulated/wall,/area/centcom/control) -"ty" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"tz" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/living) -"tA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/space,/area/supply/dock) -"tB" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock) -"tC" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/space,/area/supply/dock) -"tD" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tE" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"tF" = (/obj/machinery/shield_gen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"tG" = (/obj/machinery/shield_capacitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tH" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tI" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tJ" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tK" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tL" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"tM" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tN" = (/turf/space,/area/centcom/control) -"tO" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) -"tP" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tQ" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tR" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tS" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) -"tT" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tU" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tV" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tW" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tX" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"tY" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"ua" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"ub" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"uc" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"ud" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary) -"ue" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"uf" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"ug" = (/turf/unsimulated/wall,/area/centcom/test) -"uh" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"ui" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"um" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"un" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"up" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uq" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ur" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"us" = (/turf/space,/area/centcom/specops) -"ut" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"uu" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"uv" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"uw" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops) -"ux" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"uy" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"uz" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"uA" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uB" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"uC" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"uD" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control) -"uE" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uF" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uG" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uH" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control) -"uI" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control) -"uJ" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uK" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uL" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uM" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uN" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uO" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uP" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"uQ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"uR" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uS" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uT" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uU" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"uV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"uW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"uX" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops) -"uY" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/specops) -"uZ" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"va" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) -"vb" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vd" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"ve" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vf" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"vg" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vh" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary) -"vi" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary) -"vj" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"vk" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"vl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vp" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"vq" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"vr" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"vs" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vt" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vu" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vw" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vx" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vy" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"vz" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"vA" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vB" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) -"vC" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"vD" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) -"vE" = (/obj/machinery/door/airlock/centcom{name = "Research Facility"; opacity = 1; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/test) -"vF" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vI" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"vJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vK" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vL" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"vM" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vN" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"oy" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oz" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oA" = (/obj/item/device/radio/electropack,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oB" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oC" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oE" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "synd_airlock"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; tag_airpump = "synd_pump"; tag_chamber_sensor = "synd_sensor"; tag_exterior_door = "synd_outer"; tag_interior_door = "synd_inner"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oG" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"oH" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oI" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oJ" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oK" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_station/start) +"oM" = (/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oN" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oO" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oP" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oQ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oT" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oU" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oV" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oW" = (/turf/unsimulated/wall,/area/centcom) +"oX" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oY" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVent"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oZ" = (/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/shuttle/plating,/area/syndicate_station/start) +"pa" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_inner"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) +"pc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"pd" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pe" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pf" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pg" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom) +"ph" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom) +"pi" = (/turf/unsimulated/floor{name = "plating"},/area/centcom) +"pj" = (/obj/machinery/vending/cigarette{contraband = newlist(); premium = newlist(); prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 20); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pk" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/flasher_button{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pl" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pm" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"po" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pp" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pq" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"pr" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"ps" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pt" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"pu" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pv" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pw" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"px" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pz" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"pA" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pB" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pC" = (/obj/machinery/microwave,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "101"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pE" = (/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pF" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pG" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pH" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pI" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pJ" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pK" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pL" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pM" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pN" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pO" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pP" = (/turf/unsimulated/wall,/area/centcom/living) +"pQ" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pR" = (/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pS" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pT" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pU" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pV" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pW" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pY" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pZ" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"qa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"qb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"qd" = (/turf/unsimulated/wall,/area/centcom/suppy) +"qe" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qf" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qg" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qh" = (/obj/structure/table,/obj/item/roller{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qi" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = null; req_access_txt = "150"},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qj" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qk" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ql" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom) +"qn" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"qo" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qp" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qq" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qs" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qt" = (/obj/machinery/robotic_fabricator,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qu" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Thunderdome Autolathe"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qv" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"qx" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qy" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qz" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qA" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qB" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qC" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qD" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qE" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qF" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qG" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/suppy) +"qH" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) +"qI" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/suppy) +"qJ" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) +"qK" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"qL" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"qM" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"qO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) +"qP" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"qQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"qR" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qS" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qT" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"qU" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"qV" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/living) +"qW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/supply/dock) +"qX" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/supply/dock) +"qY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/supply/dock) +"qZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"ra" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rb" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rc" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rd" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"re" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rf" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rh" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"ri" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"rj" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"rk" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) +"rl" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom) +"rm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"rn" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/supply/dock) +"ro" = (/turf/simulated/shuttle/floor,/area/supply/dock) +"rp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rq" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rr" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rs" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"ru" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"rv" = (/obj/machinery/door_control{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25; req_access_txt = "0"},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rw" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rx" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ry" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rz" = (/obj/machinery/door_control{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rA" = (/obj/machinery/door_control{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rB" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rC" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rD" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rE" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rF" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"rG" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rH" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rI" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rJ" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rK" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living) +"rL" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rM" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rN" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rO" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) +"rP" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) +"rQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rR" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rS" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rT" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rU" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rV" = (/obj/item/weapon/weldingtool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rW" = (/obj/structure/sign/securearea{name = "\improper CAUTION"; pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rX" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rY" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rZ" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sa" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"sb" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sc" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"sd" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"se" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock) +"sf" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sg" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sh" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) +"si" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sj" = (/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sk" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sl" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sm" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/shuttle/administration/centcom) +"sn" = (/obj/structure/bookcase,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/shuttle/administration/centcom) +"so" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sp" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sq" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"sr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;31"; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) +"ss" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"st" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"su" = (/obj/structure/table,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sv" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) +"sw" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sx" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sy" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sz" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sA" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"sB" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/shuttle/administration/centcom) +"sC" = (/turf/simulated/floor{icon_state = "chapel"},/area/shuttle/administration/centcom) +"sD" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"sE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"sF" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sG" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sH" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start) +"sI" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start) +"sJ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start) +"sK" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) +"sL" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) +"sM" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) +"sN" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sO" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sP" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sQ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sR" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) +"sS" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) +"sT" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sU" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sV" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) +"sX" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) +"sY" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) +"sZ" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/living) +"ta" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"tb" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"tc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"td" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"te" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"th" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"ti" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tk" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/supply/dock) +"tl" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/supply/dock) +"tm" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/supply/dock) +"tn" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/supply/dock) +"to" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/living) +"tp" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) +"tq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/supply/dock) +"tr" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/supply/dock) +"ts" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock) +"tt" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/supply/dock) +"tu" = (/turf/unsimulated/wall,/area/centcom/specops) +"tv" = (/turf/unsimulated/wall,/area/prison/solitary) +"tw" = (/turf/unsimulated/wall,/area/centcom/control) +"tx" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) +"ty" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/living) +"tz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/space,/area/supply/dock) +"tA" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock) +"tB" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/space,/area/supply/dock) +"tC" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"tD" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"tE" = (/obj/machinery/shield_gen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"tF" = (/obj/machinery/shield_capacitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tG" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tH" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tI" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tJ" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tK" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) +"tL" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tM" = (/turf/space,/area/centcom/control) +"tN" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) +"tO" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tP" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tQ" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tR" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) +"tS" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tT" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tU" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tV" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"tX" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tY" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"tZ" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ua" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"ub" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) +"uc" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary) +"ud" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"ue" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"uf" = (/turf/unsimulated/wall,/area/centcom/test) +"ug" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"uh" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"ui" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uj" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uk" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ul" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"um" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"un" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uo" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"up" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uq" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"ur" = (/turf/space,/area/centcom/specops) +"us" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"ut" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) +"uu" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"uv" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops) +"uw" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"ux" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uy" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"uz" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uA" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) +"uB" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"uC" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control) +"uD" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uE" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uF" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uG" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control) +"uH" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control) +"uI" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uJ" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uK" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uL" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uM" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uN" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uO" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"uP" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"uQ" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uR" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uS" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uT" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"uU" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"uV" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"uW" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops) +"uX" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/specops) +"uY" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"uZ" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) +"va" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vb" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vc" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vd" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ve" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"vf" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vg" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary) +"vh" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary) +"vi" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) +"vj" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"vk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vo" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"vp" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"vq" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"vr" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vs" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vt" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vu" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vx" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"vy" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"vz" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vA" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) +"vB" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"vC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) +"vD" = (/obj/machinery/door/airlock/centcom{name = "Research Facility"; opacity = 1; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/test) +"vE" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vH" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) +"vI" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vL" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vM" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vN" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "vO" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vP" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"vP" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vR" = (/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom_officer,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "vS" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"vU" = (/obj/structure/sign/securearea{name = "\improper CAUTION"; pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"vU" = (/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/turf/simulated/floor/holofloor{icon_state = "asteroid6"; dir = 2},/area/centcom/specops) "vV" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "vW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "vX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) @@ -1149,10 +1149,10 @@ "we" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "wf" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "wg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"wh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"wh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "wi" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) "wj" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wl" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wm" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "wn" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom) @@ -1170,1000 +1170,999 @@ "wz" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "wA" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "blue"},/area/centcom) "wB" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"wC" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"wC" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wE" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"wF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wH" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"wI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wJ" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"wK" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) -"wL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"wM" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wN" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wO" = (/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) -"wP" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wS" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wT" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) -"wU" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/control) -"wV" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"wW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wX" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"wY" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) -"wZ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xa" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xb" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xc" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xd" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xe" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; on = 0; req_one_access = list(103); req_one_access_txt = "103"; use_power = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xf" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"xg" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) -"xh" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xi" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xj" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"xk" = (/turf/space,/area/centcom) -"xl" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"xm" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom) -"xn" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xo" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"xp" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xq" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xr" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xs" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xt" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xu" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xy" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"xz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xB" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"xC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"xD" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xE" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xF" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xG" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xH" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"xI" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"xJ" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) -"xK" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Mechbay "; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xL" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xM" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xN" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"xO" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops) -"xP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xQ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"xR" = (/turf/unsimulated/floor{dir = 6; icon_state = "asteroid8"; name = "sand"},/area/centcom/specops) -"xS" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xW" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) -"xX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) -"xY" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"xZ" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"ya" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yb" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yc" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yd" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"ye" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yf" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yg" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yh" = (/turf/unsimulated/wall,/area/centcom/creed) -"yi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yk" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed) -"yl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"ym" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yn" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yo" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yp" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yq" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yr" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"ys" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"yt" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"yu" = (/turf/unsimulated/wall,/area/centcom/evac) -"yv" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yw" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yx" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yz" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yA" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yB" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yC" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"yD" = (/obj/structure/closet/crate/medical,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/bonesetter,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/hemostat{pixel_y = 4},/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yE" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yF" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yG" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yH" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yI" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yK" = (/obj/structure/bookcase{name = "bookcase (Reports)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yL" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yM" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"yO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"yP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yR" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yS" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"yU" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"yV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yW" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yZ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"za" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"zb" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"zc" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zd" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"ze" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"zf" = (/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) -"zg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zh" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zj" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"zk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zm" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) -"zo" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zp" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zq" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zr" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zs" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zt" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) -"zv" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"zw" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"zx" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"zy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) -"zz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"zA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"zB" = (/turf/unsimulated/floor{icon_state = "loadingarea"},/area/centcom/specops) -"zC" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{name = "Spec Ops Ready Room"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 15; req_access_txt = "11"; id = "CREED"},/obj/machinery/door_control{name = "Mech Storage"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 0; req_access_txt = "11"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zE" = (/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) -"zF" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor,/area/centcom/control) -"zH" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"zI" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) -"zJ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) -"zK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"zL" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"zM" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"zN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom) -"zO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"zP" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"zQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor,/area/centcom/control) -"zR" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom) -"zS" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"zT" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"zU" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom) -"zV" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"zW" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"zX" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"zY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) -"zZ" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Aa" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ab" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ac" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ad" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ae" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor,/area/centcom/control) -"Af" = (/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},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"Ag" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"Ah" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"Ai" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom) -"Aj" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Ak" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Al" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom) -"Am" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"An" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ao" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) -"Ap" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"Aq" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"Ar" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"As" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"At" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) -"Au" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Av" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Aw" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Ax" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ay" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Az" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"AA" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"AB" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AC" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"AD" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"AF" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"AG" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"AH" = (/turf/unsimulated/wall,/area/centcom/ferry) -"AI" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"AJ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/skills{icon_state = "medlaptop"; pixel_x = 3; pixel_y = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AK" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AL" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AM" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AN" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_space"},/area/shuttle/escape/centcom) -"AP" = (/obj/machinery/atm{pixel_x = -26},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"AQ" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"AR" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom) -"AS" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AT" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) -"AU" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom) -"AV" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/ferry) -"AW" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"AX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"AY" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/ferry) -"AZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Ba" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bc" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"Bd" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control) -"Be" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"Bf" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/control) -"Bg" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Bh" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Bi" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/escape/centcom) -"Bj" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bk" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bl" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/transport1/centcom) -"Bm" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom) -"Bn" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/transport1/centcom) -"Bo" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Bp" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Bq" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Br" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom) -"Bs" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom) -"Bt" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"Bu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Bv" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bw" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bx" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"By" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/shuttle/transport1/centcom) -"Bz" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BA" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/transport1/centcom) -"BB" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom) -"BC" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"BE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom) -"BF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) -"BG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac) -"BH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"BI" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"BJ" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BK" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/ferry) -"BO" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"BP" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) -"BQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"BR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"BS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"BT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"BU" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/escape/centcom) -"BV" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom) -"BW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/transport1/centcom) -"BX" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/transport1/centcom) -"BY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BZ" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/shuttle/transport1/centcom) -"Ca" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"Cb" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"Cc" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom) -"Cd" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/ferry) -"Ce" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/ferry) -"Cf" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/ferry) -"Cg" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/ferry) -"Ch" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Ci" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Cj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) -"Ck" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"Cl" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"Cm" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"Cn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) -"Co" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) -"Cp" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Cq" = (/obj/structure/closet/hydrant{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Cr" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Cs" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/transport1/centcom) -"Ct" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) -"Cu" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/ferry) -"Cv" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/ferry) -"Cw" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/ferry) -"Cx" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"Cy" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"Cz" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"CA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"CC" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"CD" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"CE" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/ferry) -"CF" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/ferry) -"CG" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/ferry) -"CH" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) -"CI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CK" = (/turf/unsimulated/floor{icon_state = "warning"},/area/centcom/evac) -"CL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/evac) -"CM" = (/obj/structure/window/shuttle{icon_state = "window3"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"CN" = (/turf/unsimulated/wall,/area/centcom/holding) -"CO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"CP" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"CQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"CR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) -"CS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"CT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CU" = (/obj/machinery/turretcover{density = 1},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac) -"CV" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/evac) -"CW" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"CX" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"CY" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"CZ" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/structure/closet/athletic_mixed,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Da" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) -"Db" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"Dc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"Dd" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/evac) -"De" = (/turf/unsimulated/floor{dir = 5; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"Df" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"Dg" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"Dh" = (/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Di" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) -"Dj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dl" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dm" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Do" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dp" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"Dq" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Dr" = (/turf/unsimulated/beach/sand{tag = "icon-desert2"; icon_state = "desert2"},/area/centcom/ferry) -"Ds" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Dt" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Du" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dv" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dw" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dx" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-siding2"; name = "plating"; icon_state = "siding2"},/area/centcom/holding) -"Dy" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/holding) -"Dz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) -"DA" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) -"DB" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) -"DC" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DD" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_y = 19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"DF" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"DG" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"DH" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DI" = (/obj/machinery/door/airlock/glass_medical{name = "Arrivals Medbay"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DJ" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"DK" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/escape/centcom) -"DL" = (/turf/unsimulated/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/centcom/ferry) -"DM" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) -"DN" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DP" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DQ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DR" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DS" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DT" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DU" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"DV" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"DW" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 29; req_access_txt = "0"},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"DX" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 4; icon_state = "whitegreenfull"},/area/centcom/holding) -"DY" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"DZ" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Ea" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Eb" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Ec" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/centcom/ferry) -"Ed" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand{tag = "icon-desert_dug"; icon_state = "desert_dug"},/area/centcom/ferry) -"Ee" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Ef" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Eg" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Eh" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Ei" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) -"Ej" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ek" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"El" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Em" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"En" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Eo" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/weapon/inflatable_duck,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Ep" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Eq" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Er" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Es" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Et" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) -"Eu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ev" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ew" = (/turf/unsimulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/centcom/holding) -"Ex" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) -"Ey" = (/obj/structure/sign/nosmoking_2{pixel_x = 28; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"Ez" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"EA" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) -"EB" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"EC" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"ED" = (/turf/unsimulated/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"},/area/centcom/ferry) -"EE" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/centcom/ferry) -"EF" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) -"EG" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) -"EH" = (/turf/unsimulated/wall,/area/tdome) -"EI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EK" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"EL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) -"EO" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1; volume = 3200},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"EP" = (/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) -"EQ" = (/turf/unsimulated/floor{dir = 10; icon_state = "whitegreen"},/area/centcom/holding) -"ER" = (/obj/machinery/sleep_console{icon_state = "sleeperconsole-r"; orient = "RIGHT"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"; tag = "icon-whitehall (EAST)"},/area/centcom/holding) -"ES" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"ET" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom) -"EU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"EV" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) -"EW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom) -"EX" = (/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/ferry) -"EY" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/ferry) -"EZ" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) -"Fa" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fb" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"Fd" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) -"Fe" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Ff" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) -"Fg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"Fh" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"Fi" = (/turf/unsimulated/floor{dir = 5; icon_state = "whitegreen"},/area/centcom/holding) -"Fj" = (/turf/unsimulated/floor{dir = 9; icon_state = "whitegreen"},/area/centcom/holding) -"Fk" = (/turf/unsimulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/centcom/holding) -"Fl" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) -"Fm" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fn" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fo" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fp" = (/obj/structure/table,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) -"Fq" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fr" = (/obj/structure/table,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fs" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Ft" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) -"Fu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"Fv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"Fw" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) -"Fx" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Fy" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) -"Fz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"FA" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) -"FB" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"FC" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) -"FD" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHEAST)"; icon_state = "whitehall"; dir = 5},/area/centcom/holding) -"FE" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"FF" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHWEST)"; icon_state = "whitehall"; dir = 9},/area/centcom/holding) -"FG" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) -"FH" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) -"FI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"FJ" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) -"FK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) -"FL" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) -"FM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) -"FN" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FO" = (/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) -"FP" = (/obj/machinery/computer/operating,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"FQ" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) -"FR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FS" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FT" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) -"FU" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FX" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) -"FY" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"FZ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Ga" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gb" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gc" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gd" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Ge" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gg" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gh" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gi" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gk" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gm" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gn" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Go" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gp" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gq" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gr" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gs" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gt" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gu" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gv" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gw" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Gx" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) -"Gy" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"Gz" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GA" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GB" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) -"GC" = (/turf/simulated/floor,/area/tdome) -"GD" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"GE" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GF" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"GG" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GH" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"GI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) -"GJ" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"GK" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GL" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"GM" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GN" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GO" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GP" = (/turf/simulated/floor/bluegrid,/area/tdome) -"GQ" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome) -"GR" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GS" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome) -"GT" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome) -"GU" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach) -"GV" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/tdome) -"GW" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor,/area/tdome) -"GX" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/tdome) -"GY" = (/turf/unsimulated/beach/sand,/area/beach) -"GZ" = (/obj/structure/signpost,/turf/unsimulated/beach/sand,/area/beach) -"Ha" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach) -"Hb" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Hc" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) -"Hd" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach) -"He" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) -"Hf" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Hg" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Hh" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) -"Hi" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) -"Hj" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"Hk" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) -"Hl" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) -"Hm" = (/obj/structure/table/rack,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Hn" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) -"Ho" = (/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hp" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hq" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hr" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hs" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Ht" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach) -"Hu" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hv" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hw" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hx" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hy" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hz" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) -"HA" = (/obj/structure/table,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) -"HB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HC" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HD" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HE" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HF" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HG" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HH" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HI" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HK" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HM" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) -"HO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) -"HP" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) -"HQ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/beach) -"HR" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach) -"HS" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach) -"HT" = (/turf/unsimulated/floor{icon_state = "sandwater"},/area/beach) -"HU" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach) -"HV" = (/turf/unsimulated/beach/coastline,/area/beach) -"HW" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach) -"HX" = (/turf/unsimulated/beach/water,/area/beach) -"HY" = (/turf/unsimulated/wall,/area/wizard_station) -"HZ" = (/obj/structure/sink,/turf/unsimulated/wall,/area/wizard_station) -"Ia" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ib" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ic" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Id" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ie" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"If" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ig" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) -"Ih" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) -"Ii" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) -"Ij" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Ik" = (/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Il" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Im" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"In" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) -"Io" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/wizard_station) -"Ip" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"Iq" = (/obj/structure/mineral_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Ir" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Is" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"It" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/coffin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Iu" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) -"Iv" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) -"Iw" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) -"Ix" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Iy" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"Iz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IA" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IB" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IC" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"ID" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IE" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IF" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IG" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"II" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) -"IJ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) -"IK" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) -"IL" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IM" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IN" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IO" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IP" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/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) -"IQ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IR" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IS" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space) -"IT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"IU" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/space) -"IV" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"IW" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) -"IX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) -"IY" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"IZ" = (/obj/machinery/atmospherics/unary/freezer{set_temperature = 73; dir = 2; icon_state = "freezer_1"; use_power = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"Ja" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Jb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Jc" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) -"Jd" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Je" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jf" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jg" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jh" = (/obj/item/target,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Ji" = (/obj/item/target/syndicate,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jj" = (/obj/item/target/alien,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jk" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/wizard_station) -"Jl" = (/obj/structure/table/rack,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Jm" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"Jn" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"Jo" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Jp" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Jq" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) -"Jr" = (/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) -"Js" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jt" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ju" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jv" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station) -"Jw" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"Jx" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) -"Jy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Jz" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JA" = (/obj/machinery/door_control{id = "skipjack"; pixel_y = 24},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JB" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JD" = (/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JE" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JF" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_east_control"; req_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"JG" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JH" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JJ" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JL" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JM" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JN" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JQ" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JR" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JS" = (/obj/structure/table/reinforced,/obj/item/robot_parts/head,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JT" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JU" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JV" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access_txt = "150"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JX" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JZ" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ka" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Kb" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kc" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Kd" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ke" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/wizard_station) -"Kf" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station) -"Kg" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/wizard_station) -"Kh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/wizard_station) -"Ki" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kj" = (/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kk" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"Kl" = (/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"Km" = (/turf/unsimulated/floor{tag = "icon-asteroid8"; name = "plating"; icon_state = "asteroid8"},/area/wizard_station) -"Kn" = (/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) -"Ko" = (/turf/unsimulated/floor{tag = "icon-asteroid5"; name = "plating"; icon_state = "asteroid5"},/area/wizard_station) -"Kp" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"Kq" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"Kr" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Ks" = (/mob/living/carbon/monkey{name = "Murphey"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Kt" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Ku" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kv" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Kw" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/recharger,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Kx" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weed_extract,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ky" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/bot/floorbot,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Kz" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KA" = (/obj/structure/table/reinforced,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KB" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KC" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KD" = (/obj/machinery/optable,/obj/item/organ/brain,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KE" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"KF" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) -"KG" = (/mob/living/simple_animal/hostile/tribesman{name = "Experiment 69T"},/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) -"KH" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"KI" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"KJ" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KK" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KL" = (/obj/item/weapon/screwdriver{pixel_y = 15},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KM" = (/obj/item/weapon/organ/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KN" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 1; initialize_directions = 1; start_pressure = 493.6},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KO" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KP" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KR" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KS" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KT" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KU" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KV" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KW" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KX" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KY" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"KZ" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"La" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lb" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Lf" = (/obj/structure/table/reinforced,/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/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Lj" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Lk" = (/obj/item/clothing/head/bowler,/obj/item/weapon/broken_bottle,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ll" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lm" = (/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ln" = (/obj/item/clothing/head/bearpelt,/obj/item/xenos_claw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lo" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lp" = (/obj/item/clothing/head/collectable/xenom,/obj/item/clothing/head/chicken,/obj/item/weapon/aiModule/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lq" = (/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c500,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lr" = (/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ls" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lt" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lu" = (/obj/structure/jungle_plant,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) - +"wF" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wI" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"wJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wK" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"wL" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) +"wM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"wN" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wP" = (/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) +"wQ" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wS" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wT" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wU" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) +"wV" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/control) +"wW" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"wX" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"wY" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"wZ" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) +"xa" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xd" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xe" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xf" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"xg" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"xh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) +"xi" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xj" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xk" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"xl" = (/turf/space,/area/centcom) +"xm" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"xn" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom) +"xo" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xp" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"xq" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xr" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xs" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xt" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xu" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xv" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xz" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"xA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xC" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"xD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"xE" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xF" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xG" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xH" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xI" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"xJ" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"xK" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) +"xL" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Mechbay "; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xM" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xN" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xO" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"xP" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops) +"xQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xR" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"xS" = (/turf/unsimulated/floor{dir = 6; icon_state = "asteroid8"; name = "sand"},/area/centcom/specops) +"xT" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xX" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) +"xY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) +"xZ" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"ya" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"yb" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yd" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"ye" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yf" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yh" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yj" = (/turf/unsimulated/wall,/area/centcom/creed) +"yk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"ym" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed) +"yn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yp" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yq" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yr" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"ys" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yt" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"yu" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"yv" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"yw" = (/turf/unsimulated/wall,/area/centcom/evac) +"yx" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yy" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yz" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"yB" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yC" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yD" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yE" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yF" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; on = 0; req_one_access = list(103); req_one_access_txt = "103"; use_power = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yG" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yH" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yI" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yJ" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yK" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yL" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yM" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yN" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yO" = (/obj/structure/bookcase{name = "bookcase (Reports)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yP" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) +"yQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"yS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"yT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"yU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yV" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yW" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yX" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"yY" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"yZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) +"za" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zb" = (/obj/structure/table/reinforced,/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/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"zc" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"ze" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"zf" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"zg" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"zh" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"zi" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zj" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"zk" = (/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) +"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zm" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zn" = (/obj/structure/closet/crate/medical,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/bonesetter,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/hemostat{pixel_y = 4},/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zo" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zp" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"zq" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zr" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) +"zs" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zt" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zu" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zv" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zw" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zx" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) +"zz" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"zA" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"zB" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"zC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) +"zD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"zE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"zF" = (/turf/unsimulated/floor{icon_state = "loadingarea"},/area/centcom/specops) +"zG" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{name = "Spec Ops Ready Room"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 15; req_access_txt = "11"; id = "CREED"},/obj/machinery/door_control{name = "Mech Storage"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 0; req_access_txt = "11"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zI" = (/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) +"zJ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor,/area/centcom/control) +"zL" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"zM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) +"zN" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) +"zO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"zP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"zQ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"zR" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom) +"zS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"zT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) +"zU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor,/area/centcom/control) +"zV" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom) +"zW" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"zX" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"zY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom) +"zZ" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"Aa" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"Ab" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"Ac" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) +"Ad" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ae" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Af" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ag" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ah" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ai" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor,/area/centcom/control) +"Aj" = (/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},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"Ak" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"Al" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"Am" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom) +"An" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Ao" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Ap" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom) +"Aq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ar" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"As" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) +"At" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"Au" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"Av" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"Aw" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"Ax" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) +"Ay" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Az" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AA" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AB" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"AC" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"AD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"AE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) +"AF" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AG" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"AH" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AI" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"AJ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"AK" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"AL" = (/turf/unsimulated/wall,/area/centcom/ferry) +"AM" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AN" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/skills{icon_state = "medlaptop"; pixel_x = 3; pixel_y = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AO" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AP" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AQ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AR" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AS" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_space"},/area/shuttle/escape/centcom) +"AT" = (/obj/machinery/atm{pixel_x = -26},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"AU" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"AV" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom) +"AW" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AX" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) +"AY" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom) +"AZ" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/ferry) +"Ba" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bc" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/ferry) +"Bd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Be" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bg" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"Bh" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control) +"Bi" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"Bj" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/control) +"Bk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Bl" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Bm" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/escape/centcom) +"Bn" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bo" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bp" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/transport1/centcom) +"Bq" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom) +"Br" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/transport1/centcom) +"Bs" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Bt" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Bu" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Bv" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom) +"Bw" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom) +"Bx" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"By" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Bz" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"BA" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"BB" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"BC" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/shuttle/transport1/centcom) +"BD" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BE" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/transport1/centcom) +"BF" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom) +"BG" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BH" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) +"BI" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom) +"BJ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) +"BK" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac) +"BL" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"BM" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"BN" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BP" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/ferry) +"BS" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"BT" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) +"BU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"BV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"BW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"BX" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"BY" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/escape/centcom) +"BZ" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom) +"Ca" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/transport1/centcom) +"Cb" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/transport1/centcom) +"Cc" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"Cd" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/shuttle/transport1/centcom) +"Ce" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"Cf" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) +"Cg" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom) +"Ch" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/ferry) +"Ci" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/ferry) +"Cj" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/ferry) +"Ck" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/ferry) +"Cl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Cm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Cn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) +"Co" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"Cp" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"Cq" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) +"Cr" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) +"Cs" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) +"Ct" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Cu" = (/obj/structure/closet/hydrant{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Cv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Cw" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/transport1/centcom) +"Cx" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) +"Cy" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/ferry) +"Cz" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/ferry) +"CA" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/ferry) +"CB" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"CC" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"CD" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"CE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CF" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"CG" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"CH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"CI" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/ferry) +"CJ" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/ferry) +"CK" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/ferry) +"CL" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) +"CM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CO" = (/turf/unsimulated/floor{icon_state = "warning"},/area/centcom/evac) +"CP" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/evac) +"CQ" = (/obj/structure/window/shuttle{icon_state = "window3"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"CR" = (/turf/unsimulated/wall,/area/centcom/holding) +"CS" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"CT" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"CU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"CV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) +"CW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"CX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CY" = (/obj/machinery/turretcover{density = 1},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac) +"CZ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/evac) +"Da" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"Db" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"Dc" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"Dd" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/structure/closet/athletic_mixed,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"De" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) +"Df" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"Dg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"Dh" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/evac) +"Di" = (/turf/unsimulated/floor{dir = 5; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) +"Dj" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"Dk" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"Dl" = (/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Dm" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) +"Dn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Do" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dp" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dq" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dr" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Ds" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dt" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"Du" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Dv" = (/turf/unsimulated/beach/sand{tag = "icon-desert2"; icon_state = "desert2"},/area/centcom/ferry) +"Dw" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Dx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dz" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DA" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DB" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-siding2"; name = "plating"; icon_state = "siding2"},/area/centcom/holding) +"DC" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/holding) +"DD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) +"DE" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) +"DF" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) +"DG" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DH" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_y = 19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"DJ" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"DK" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"DL" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DM" = (/obj/machinery/door/airlock/glass_medical{name = "Arrivals Medbay"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DN" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"DO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/escape/centcom) +"DP" = (/turf/unsimulated/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/centcom/ferry) +"DQ" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) +"DR" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DS" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DT" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DU" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DV" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DW" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DX" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DY" = (/obj/machinery/atmospherics/unary/freezer{set_temperature = 73; dir = 2; icon_state = "freezer_1"; use_power = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DZ" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ea" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 29; req_access_txt = "0"},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"Eb" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 4; icon_state = "whitegreenfull"},/area/centcom/holding) +"Ec" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Ed" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Ee" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Ef" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Eg" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/centcom/ferry) +"Eh" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand{tag = "icon-desert_dug"; icon_state = "desert_dug"},/area/centcom/ferry) +"Ei" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Ej" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Ek" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"El" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Em" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) +"En" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Eo" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ep" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Eq" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Er" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Es" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/weapon/inflatable_duck,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Et" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Eu" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Ev" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Ew" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Ex" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) +"Ey" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ez" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"EA" = (/turf/unsimulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/centcom/holding) +"EB" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) +"EC" = (/obj/structure/sign/nosmoking_2{pixel_x = 28; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"ED" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"EE" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) +"EF" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) +"EG" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"EH" = (/turf/unsimulated/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"},/area/centcom/ferry) +"EI" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/centcom/ferry) +"EJ" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) +"EK" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) +"EL" = (/turf/unsimulated/wall,/area/tdome) +"EM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EO" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"EP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"ER" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) +"ES" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1; volume = 3200},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"ET" = (/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) +"EU" = (/turf/unsimulated/floor{dir = 10; icon_state = "whitegreen"},/area/centcom/holding) +"EV" = (/obj/machinery/sleep_console{icon_state = "sleeperconsole-r"; orient = "RIGHT"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"; tag = "icon-whitehall (EAST)"},/area/centcom/holding) +"EW" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"EX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom) +"EY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) +"EZ" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) +"Fa" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom) +"Fb" = (/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/ferry) +"Fc" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/ferry) +"Fd" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) +"Fe" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Ff" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"Fh" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) +"Fi" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Fj" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) +"Fk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"Fl" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"Fm" = (/turf/unsimulated/floor{dir = 5; icon_state = "whitegreen"},/area/centcom/holding) +"Fn" = (/turf/unsimulated/floor{dir = 9; icon_state = "whitegreen"},/area/centcom/holding) +"Fo" = (/turf/unsimulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/centcom/holding) +"Fp" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) +"Fq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fr" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fs" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Ft" = (/obj/structure/table,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) +"Fu" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fv" = (/obj/structure/table,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fw" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fx" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) +"Fy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"Fz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"FA" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) +"FB" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"FC" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) +"FD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"FE" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) +"FF" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) +"FG" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) +"FH" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHEAST)"; icon_state = "whitehall"; dir = 5},/area/centcom/holding) +"FI" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"FJ" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHWEST)"; icon_state = "whitehall"; dir = 9},/area/centcom/holding) +"FK" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) +"FL" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) +"FM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"FN" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) +"FO" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) +"FP" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) +"FQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) +"FR" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FS" = (/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) +"FT" = (/obj/machinery/computer/operating,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"FU" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) +"FV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FW" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FX" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) +"FY" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FZ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"Ga" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"Gb" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) +"Gc" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Gd" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ge" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gf" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gg" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gh" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Gi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gk" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gl" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gm" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gn" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Go" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gp" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gq" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gr" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gs" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gt" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gv" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gw" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gx" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gy" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gz" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"GA" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GB" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) +"GC" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) +"GD" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GE" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GF" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) +"GG" = (/turf/simulated/floor,/area/tdome) +"GH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) +"GI" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GJ" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GK" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GL" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"GM" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) +"GN" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) +"GO" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GP" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GQ" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GR" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GS" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GT" = (/turf/simulated/floor/bluegrid,/area/tdome) +"GU" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome) +"GV" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GW" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome) +"GX" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome) +"GY" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach) +"GZ" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/tdome) +"Ha" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor,/area/tdome) +"Hb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/tdome) +"Hc" = (/turf/unsimulated/beach/sand,/area/beach) +"Hd" = (/obj/structure/signpost,/turf/unsimulated/beach/sand,/area/beach) +"He" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach) +"Hf" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Hg" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) +"Hh" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach) +"Hi" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) +"Hj" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Hk" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Hl" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) +"Hm" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) +"Hn" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Ho" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) +"Hp" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) +"Hq" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Hr" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) +"Hs" = (/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Ht" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hu" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hv" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hw" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hx" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach) +"Hy" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hz" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HA" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HB" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HC" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HD" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) +"HE" = (/obj/structure/table,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) +"HF" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HG" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HH" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HI" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HJ" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HK" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HL" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HM" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HN" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HO" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HP" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HQ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) +"HS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) +"HT" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) +"HU" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/beach) +"HV" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach) +"HW" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach) +"HX" = (/turf/unsimulated/floor{icon_state = "sandwater"},/area/beach) +"HY" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach) +"HZ" = (/turf/unsimulated/beach/coastline,/area/beach) +"Ia" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach) +"Ib" = (/turf/unsimulated/beach/water,/area/beach) +"Ic" = (/turf/unsimulated/wall,/area/wizard_station) +"Id" = (/obj/structure/sink,/turf/unsimulated/wall,/area/wizard_station) +"Ie" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"If" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ig" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ih" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ii" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ij" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ik" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) +"Il" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) +"Im" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) +"In" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Io" = (/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Ip" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Iq" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ir" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) +"Is" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/wizard_station) +"It" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) +"Iu" = (/obj/structure/mineral_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Iv" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Iw" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ix" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/coffin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Iy" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) +"Iz" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) +"IA" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) +"IB" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IC" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"ID" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IE" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IF" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IG" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"II" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IJ" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IK" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IL" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) +"IN" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) +"IO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) +"IP" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IQ" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IR" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IS" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IT" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/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) +"IU" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IV" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IW" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space) +"IX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"IY" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/space) +"IZ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"Ja" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) +"Jb" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) +"Jc" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Jd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Je" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Jf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Jg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) +"Jh" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ji" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jj" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jk" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jl" = (/obj/item/target,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jm" = (/obj/item/target/syndicate,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jn" = (/obj/item/target/alien,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jo" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/wizard_station) +"Jp" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"Jq" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Jr" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"Js" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Jt" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ju" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) +"Jv" = (/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) +"Jw" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jx" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jy" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jz" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station) +"JA" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) +"JB" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) +"JC" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"JD" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JE" = (/obj/machinery/door_control{id = "skipjack"; pixel_y = 24},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JF" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JH" = (/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JI" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_east_control"; req_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"JK" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JL" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JN" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JP" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JQ" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JR" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JS" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JT" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JU" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JV" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JW" = (/obj/structure/table/reinforced,/obj/item/robot_parts/head,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JX" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JZ" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access_txt = "150"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ka" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kb" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kc" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kd" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ke" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Kf" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kg" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Kh" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ki" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/wizard_station) +"Kj" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station) +"Kk" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/wizard_station) +"Kl" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/wizard_station) +"Km" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kn" = (/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ko" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"Kp" = (/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"Kq" = (/turf/unsimulated/floor{tag = "icon-asteroid8"; name = "plating"; icon_state = "asteroid8"},/area/wizard_station) +"Kr" = (/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) +"Ks" = (/turf/unsimulated/floor{tag = "icon-asteroid5"; name = "plating"; icon_state = "asteroid5"},/area/wizard_station) +"Kt" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"Ku" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"Kv" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Kw" = (/mob/living/carbon/monkey{name = "Murphey"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Kx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Ky" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kz" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KA" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/recharger,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KB" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weed_extract,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KC" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/bot/floorbot,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KD" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KE" = (/obj/structure/table/reinforced,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KF" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KG" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KH" = (/obj/machinery/optable,/obj/item/organ/brain,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KI" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"KJ" = (/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) +"KK" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"KL" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"KM" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KN" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KO" = (/obj/item/weapon/screwdriver{pixel_y = 15},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KP" = (/obj/item/weapon/organ/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KQ" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 1; initialize_directions = 1; start_pressure = 493.6},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KR" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KS" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KT" = (/obj/structure/table/rack,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KU" = (/obj/structure/table/rack,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KV" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KW" = (/obj/structure/table/rack,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KX" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KY" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KZ" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"La" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lb" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"Lc" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ld" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Le" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lf" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"Lg" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Lh" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Li" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lj" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ll" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lm" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ln" = (/obj/item/clothing/head/bowler,/obj/item/weapon/broken_bottle,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lp" = (/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lq" = (/obj/item/clothing/head/bearpelt,/obj/item/xenos_claw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lr" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ls" = (/obj/item/clothing/head/collectable/xenom,/obj/item/clothing/head/chicken,/obj/item/weapon/aiModule/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lt" = (/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c500,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lu" = (/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lv" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lw" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) + (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaQ -ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbsbtbsbtbsbrbubqbqbqbqbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbybzbzbzbAbB -amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaqarasatauavbgaxbibjbnbkblbmapaqararasataubgbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbvbpbpbpbrbEbFbEbFbEbrbGbGbGbGbGbrbwbHbwbHbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB -adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahbgbhbibjbnbkblaDapaqarasatauavbgbhavbgbhbiblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbMbNbMbNbMbrbGbGbGbGbGbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB -alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagblbmapaqarasataJavbgbhbibjbnbkblbmasatauavatauavbgbhbibjbnbkblaDaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbCbpbpbrbQbQbQbQbQbrbRbRbRbRbSbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB -aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbgbhbibjbnbkblaDapaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbUbVbWbVbXbrbYbZcacbbYbrbwbwbHbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB -abaZaYaXaVbdbbbebfbacccdcecfcgchbbbdaRaYaXbebcaVaUbaaiarasatauavbgbhaybjbnbkblbmapaqarasapaqarasbhbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrcjbVbWbVckbrbYclcmcnbYbrbwbwbHbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB -aeaVbaaWbeaTaYbbaRcqcrcsctcucvcwcxaTaUbaaWbbbfbeaXbdafbnbkblbmapaqaraHatauavbgbhbibjbnbiavaraqbhauasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbvbpbpbCbrbQbQbQbQbQbrcyclcmcncybrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB -ahbebdaSbbbcbaaYaUczcucAcBcCcscDcEbcaXbdaSaYaRbbaWaTanbmapaqarasatauaKbgbhbibjbnbkblbmcFcGcHcIcJcKavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrcLcMcLcMcLbrcNclcmcncNbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB -agbbaTaZaYbfbdbaaXcOcPcBcQcRcSctcTbeaWaTaZbaaUaYaSbcakbibjbnbkblbmapaFarasatauavbgbhbicKcUcVcWcXcYaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbEbFbEbFbEbrcNclcmcncNbrbwbHbwbHbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB -acaYbcaVbaaRaTbdaWchcvcDdacucQcBdbdcaSbcaVbdaXbaaZbfaaasatauavbgbhbiazbnbkblbmapaqarasdddedfdgdhdibhbnbkblbmapaqarasaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobCbpbpbpbvbrbsbtbsbtbsbrdkdldmdndkbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrdodpdpdpdqbB -aibabfbebdaUbcaTchdrcsdscPcCdacDcAdtdubfbeaTaWbdaVaRajbhbibjbnbkblbmaEaqarasatauavbgbhdvdwdxdydedzapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMdAdBdBdBdBdBdCdBdBdBdBdBdCdBdBdBdBdBdCdDdDdDdDdDdCdDdDdDdDdDdCdDdDdDdDdDdCdDdDdDdDdDdE -afbdaRbbaTaXbfbcducDcAdFcvctcPdscRcQdGaRbbbcaSaTbeaUamaqarasatauavbgaxbibjbnbkblbmapaqdHdddIcGcHcIbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLdJdKbrdMdMdMdMdMbrdNdNdNdNdNbrdOdOdPdQdQbrdRdSdTdRdUbrdVdWdWdWdXbrdYdZdZdZeabB -anaTaUaYbcaWaRbfdGdscRcScscBcvdFcudaebaUaYbfaZbcbbaXadauavbgbhbibjbnaBblbmapaqarasatauarbibjbnbkbgbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJosdLbrdMecdMdMdMbrdNedeeefdNbregegeheieibrdUejekelembreneoeoeoepbreqerereresbB -akbcaXbabfaSaUaRebdFcucQcAcDcscScCcPdcaXbaaRaVbfaYaWalbjbnbkblbmapaqaGasatauavbgbhbibjcFcGcHcIcJcKarasatauavbgbhbibjaAaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLdJdKdLdJbrdMdMdMetdMbrdNeueueudNbregeveveveibrdRewdRdSdRbreneoeoeoepbreqerereresbB -aabfaWbdaRaZaXaUdccScCdacRdscAcQctcvcxaWbdaUbeaRbaaSaobkblbmapaqarasaIauavbgbhbibjbnbkcKexeyezeAcYatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJosdLdJdKbrdMdMdMdMdMbrdNdNdNdNdNbregeheheheibrdSdRdUekdUbreneoeoeoepbreqerereresbB -ajaRaSaTaUaVaWaXcxcQctcPcudFcRdacBcscEaSaTaXbbaUbdaZabavbgbhbibjbnbkaCbmapaqarasatauavddeBeCeDeEdiblbmapaqarasatauavawaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJdKdLbrdMdMdMeFdMbrdNeGeHeIdNbreJeKeKeKeLbrdRdTdReMdTbreNeOeOeOePbreqerereresbB -amaUaZbcaXbeaSaWcEdacBcvcCcScucPcDcAcqaZbcaWaYaXaTaVaebnbkblbmapaqaraHatauavbgbhbibjbndveQeReSeBdzasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLdJdKdLdJbrdMeTdMdMdMbrdNeUeVeWdNbreXeYeYeYeZbrdUfafbfcdSbrfdfefefeffbrfgerererfhbB -adaXaVbfaWbbaZaScqcPcDcsctcQcCcvdscRczaVbfaSbaaWbcbeaharasatauavbgbhaybjbnbkblbmapaqardHdddIcGcHcIbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLKFdKbrdMdMdMdMecbrdNeUeVeWdNbrfiehfjehfkbrfaflfmfnfcbrfoeoeoeofpbrfgerererfhbB -alaWbeaRaSaYaVaZczcvdscAcBdactcsdFcucTbeaRaZbdaSbfbbagbibjbnbkblbmapaFarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJdKdLbrfqdMdMdMdMbrdNeUeVeWdNbrfifrfrfrfkbrflfmfmfmfnbrfoeoeoeofpbrfgerererfhbB -aoaSbbaUaZbabeaVcTcsdFcRcDcPcBcAcScCfsbbaUaVaTaZaRaYacatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLKFdKdLdJbrdMeFdMeTdMbrdNftfufvdNbrfifiehfkfkbrfmfmfmfmfmbrfoeoeoeofpbrfgerererfhbB -abaZaYaXaVbdbbbefscAcScudscvcDcRcQctccaYaXbebcaVaUbaaibmapaqarasatauaKbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLdJdKbrdMdMdMdMfqbrdNdNdNdNdNbrfwfwfxfyfybrfmfmfmfmfmbrfzfAfAfAfBbrfCfDfDfDfEbB -aeaVbaaWbeaTaYbbcccRcQcCdFcsdscudacBfFbaaWbbbfbeaXbdafbkblbmapaqarasaIauavbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfGfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfJ -ahbebdaSbbbcbaaYfFcudactcScAdFcCcPcDfKbdaSaYaRbbaWaTanauavbgbhbibjbnaBblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agbbaTaZaYbfbdbafKcCcPcBcQcRcSctcvdscOaTaZbaaUaYaSbcakbhbibjbnbkblbmaEaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acaYbcaVbaaRaTbdcOctcvcDdacucQcBcsdFchbcaVbdaXbaaZbfaaasatauavbgbhbiazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaGaHaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibabfbebdaUbcaTchcBcsdscPcCdacDcAcSdubfbeaTaWbdaVaRajaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afbdaRbbaTaXbfbcducDcAdFcvctcPdscRcQdGaRbbbcaSaTbeaUamaRaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoaRbbaLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -anaTaUaYbcaWaRbfdGdscRcScscBcvdFcudaebaUaYbfaZbcbbaXadaUajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaUaYaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -akbcaXbabfaSaUaRebcOdFcDdacScBczfFchdcaXbaaRaVbfaYaWalaXamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaXbaaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aabfaWbdaRaZaXaUbbchcxebczcEdGcTaXaZaYaWbdaUbeaRbaaSaoaWadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaWbdaLfLbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbeaXbdbebeaXaMfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaSalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaSaTaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfMfNfNfNfNfNfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaZaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaZbcaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfPfQfRfSfTfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaVabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaVbfaLfLbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfaTbafLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUfVfVfVfUfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagbeaeaVbaaWbeaTaYbbaRfWcfdbfXfYfZcwdtcgaUbaaWbbbfbeaXbdafbeaRaLfLaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRbdbdfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgagagafUfOgbgcfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbbahbebdaSbbbcbaaYgdgegfggghgigjgkglfZgmbdaSaYaRbbaWaTanbbaUaLfLaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaTaTfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUfOfOfOfOfOfOfOfOfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaYagbbaTaZaYbfbdbagmgigqghglgrgsgtgugvgwaTaZbaaUaYaSbcakaYaXaLfLaXbcbcbbaXbcbbaXbcbbaXbcbbaXgxgygmgmgxgxgyaXbcbbaXbcbbaXbcbbaXbcbbaXbcbcfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUgzgAgBgCgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafbaacaYbcaVbaaRaTbdgwgtgugkgIgfglghgjgJgKbcaVbdaXbaaZbfaabaaWaLfLaWbfbfaYaWbfaYaWbfaYaWbfaYaWgLgMgwgwgLgNgOaWbfaYaWbfaYaWbfaYaWbfaYaWbfbffLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUgPgAgEgEgDgEgAgEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ahbdaSaYaRbbaWaTbbbdaSaYaRbbaWaTbbaWaTbdaSaYaRbbaWaTanbdaibabfbebdaUbcaTgKghgjgvgqgigIgkgggsgQbfbeaTaWbdaVaRajbdaSaLfLaSaRaRbaaSaRbagKgRgSgKgRgSgKgRgTgUgUgVgVgSgKgRgSgKgRgSgKaRbaaSaRbaaSaRaRfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgogogohtgXgYgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agaTaZbaaUaYaSbcaYaTaZbaaUaYaSbcaYaSbcaTaZbaaUaYaSbcakaTafbdaRbbaTaXbfbcgQgkgggJgugtgqgvgrglgZaRbbbcaSaTbeaUamaTaZaLfLaZaUaUbdaZaUbdgQhabdaZhahbgQhahchdhdhahahcgQgdhcaZaUhcgQaUbdaZaUbdaZaUaUfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgogogohtgXgYgEgEgEgEjugEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acbcaVbdaXbaaZbfbabcaVbdaXbaaZbfbaaZbfbcaVbdaXbaaZbfaabcanaTaUaYbcaWaRbfgZgvgrgsgjghgugJgfgIhhaUaYbfaZbcbbaXadbcbeaLfLaVaXaXaTaVaXaTgZhihjhkhihlhkhihjhkhkhihihjhkgmhjhkhihjgZaXaTaVaXaTaVaXaXfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUhmgohnfUgPgAgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibfbeaTaWbdaVaRbdbfbeaTaWbdaVaRbdaVaRbfbeaTaWbdaVaRajbfakbcaXbabfaSaUaRhhhogfglgggkgjgsgicggyaXbaaRaVbfaYaWalbfbbaLfLbeaWaWbcbeaWbchhhphqhrhpgxhrhphqhrhrhphphqhrgwhqhrhphqhhaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNhsfUjvfUhugzgAgEgEgDgEgAgEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afaRbbbcaSaTbeaUaTaRbbbcaSaTbeaUaTbeaUaRbbbcaSaTbeaUamaRaabfaWbdaRaZaXaUhodtgrgvgrgvgggrgvfZgOaWbdaUbeaRbaaSaoaRaYaLfLbbaSaSbfbbaSbfgygUgNhvgUgLhvgUgNhvhvgUgUgNhvgKgNhvgUgNgyaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNaMhshwhuaMgzgAgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhxhyhzhAhBhfhfhfaMhghghghxhyhzhAhBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -anaUaYbfaZbcbbaXbcaUaYbfaZbcbbaXbcbbaXaUaYbfaZbcbbaXadaUajaRaSaTaXicfXhChDgrgigsgigsgfgigsgkfZfZgxhCaYaUbdaZabaUbaaLfLaZaRaYaZaYaZaRgOhdgVgMhdgVgMhdgVgMhdgVgMhdgMhdgVgMhdgVgOaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEhFhFhFhGhHhIhHhHhHhJhHhKhFhFhFhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -akaXbaaRaVbfaYaWbfaXbaaRaVbfaYaWbfaYaWaXbaaRaVbfaYaWalaXamaUaZbcaWgygkgtgIgigsgjgrgvgigugvgrgqgkgkfXbaaXaTaVaeaXbdaLfLaVaUbaaVbaaVaUgShkhagThkhagThkhagThkhagThkgThkhagThkhagSaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEhLhMhNhOhPhQhRhShThUhPhVhWhXhYhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aaaWbdaUbbaSaYbeaTaUhZiaibicidbaiecdifcwigaUbeaRbaaSaoaWadaXaVbfaSgOgkghgqgugvgggigsgtgjgkgfgugvggcwbdaWbcbeahaWaTaLfLbeaXbdbebdbeaXhbhrhihchrhihchrhihchrhihchrhchrhihchrhihbbeaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEiiiiijikilimilinilimilioijiiiihEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ajbaaTaXaRbdaUbfaSaXipiqirisitaXiuiviwixiyaXbbaUbdaZabaSalaWbeaRaZgSgvgkgugjgJgrgkgqghgggsgigjgJgrizaTaSbfbbagaSbcaLfLbeaXbdbebdbegmhbhrhihchrhihchrhihchrhihchrhchrhihchrhihbhhaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiBiAiAiAiCiDiAiAiAiCiAiAiAiAiAiAiCiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhWiiiFimimimimimimimimimiFiihNiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ambdbcaWaUaTaXaRaZaWiyiHiIiJiKaWiLiMiNiOiPaWaYaXaTaVaeaZaoaSbbaUaViQgJgvgjgggsgfgvgugkgrglgtgggsgficbcaZaRaYacaZbfaLfLbeaXbdbebdbegmhchrhihchrhihchrhihchrhihchrhchrhihchrhihchhaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiBiAiAiAiAiAiAiAiAiAiAiAiCiAiAiAiAiAiCiAiAiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhHhKiRilimiliSiSilimiThGhHiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -adaTbfaSaXbcaWaUaVaSiPiUiVirieaSipiWiXiYiZaSbaaWbcbeahaVabaZaYaXbecggsgJgggrglgigJgjgvgfgIghgrglgihobfaVaUbaaibeaRaLfLbbaWaTbbaTbbgwhjhvhphjhvhphjhvhphjhvhphjhvhjhvhphjhvhphjgyaWaTbbaWaTaMbbfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAjaiAiAiAiAiAiBiAiAiDiCiAiAiCiAiAiCiDiAiCiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjbinimjcjbjbjdimjehEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -albcaRaZaWbfaSaXbeaZiZisjfiIjgaZiyjhixjiitaZbdaSbfbbagbeaeaVbaaWbbfZglgsgrgfgIgtgsgggJgigqgkgfgIgtdtaRbeaXbdafaMaUaLfLbfbabaaZbfbagQgLgThdgNgTgQgLgThdgNgNgTgThdgLgShdgNgThdgLgSaZbfbaaZbfaTbafLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiBiAiAiCiDiAiAiCiAiDihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjhEjkilimjcjbjbjdimhPhEjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aobfaUaVaSaRaZaWbbaVitipiKiZhZaViPigiuiyiKaVaTaZaRaYacbbahbebdaSgOdbgIglgfgigqghglgrgsgtgugvgigqghhDgdbbaWaTanbbaXaLfLaRbdbdaVaRbdaVgRhbgZgRhbgZgRhchkgVgVhchchkgRhbgZgRhbgZgRbdaVaRbdaVaRbdbdfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiBiAiAiAiAiAiDiAiCiDiAiCiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjjmjnimimiljojoilimjpjqjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -abaRaXbebcaVaUbaaVaRaXbebcaVaUbaaVaUbaaRaXbebcaVaUbaaiaYagbbaTaZgSgggqgIgigtgugkgIgfglghgjgJgtgugkgIgmaYaSbcakaYaWaLfLaUaTaTbeaUaTbeaUaTbeaUaTbegdhjhrhahahjhjhrgdaTbeaUaTbeaUaTbeaUaTbeaUaTaTfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAjrjrjrjrjrjrjriAiAiAiAiAiAiAiCiAiAjaiDiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjhEhPjsimimimimimimilhEjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aebaaWbbbfbeaXbdbebaaWbbbfbeaXbdbeaXbdbaaWbbbfbeaXbdafbaacaYbcaVhbgrgugqgtghgjgvgqgigIgkgggsghgjgvgqgwbaaZbfaabaaSaLfLaXbcbcbbaXbcbbaXbcbbaXbcbbgmhqhvhihihqhqhvgmbcbbaXbcbbaXbcbbaXbcbbaXbcbcfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAjtfOdjgWgWgWhefOjxiAiAiAiAjaiAiAiBiAiBiAiCiAiCihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhGhHhHhHjyimilimimjzhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ahaSaSaYaRbbaWaTbbaSaSaYaRbbaWaTbbaWaTaSaSaYaRbbaWaTanbdaibabfbehlgfgjgughgkgggJgugtgqgvgrglgkgggJgugKbdaVaRajbdaZaLfLaWbfbfaYaWbfaYaWbfaYaWbfaYgwgNgMhphpgNgNgMgwbfaYaWbfaYaWbfaYaWbfaYaWbfbffLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjAjBjCjDjEjFjFfOjGiAiAjrjrjrjrjrjrjrjrjHjIjrihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjJjJjKjLimilimimiljMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agaZaZbaaUaYaSbcaYaZaZbaaUaYaSbcaYaSbcaZaZbaaUaYaSbcakaTafbdaRbbgxgigggjgkgvgrgsgjghgugJgfgIgvgrgsgjgQaTbeaUamaTbeaLfLaSaRaRbaaSaRbaaSaRbaaSaRbagKgVgTgUgUgVgVgTgKaRbaaSaRbaaSaRbaaSaRbaaSaRaRfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjNjBjBjOjBjBjBfOjGiAjPjQjRjRjSihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjTjUjUjUjVimjWjXjYjXhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acaVaVbdaXbaaZbfbaaVaVbdaXbaaZbfbaaZbfaVaVbdaXbaaZbfaabcanaTaUaYgLgtgrgggvgigJgkgIgsghgqgrgtgJgfglgggZbcbbaXadbcbbaLfLaZaUaUbdaZaUbdaZaUbdaZaUbdgQgdhchdhdhahahbgQaUbdaZaUbdaZaUbdaZaUbdaZaUaUfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjZjBjBjBkajBkbfOjGjajPkckdkdkdkekfihkgkhihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkikjjUkkimklkmknkohEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibebeaTaWbdaVaRbdbebeaTaWbdaVaRbdaVaRbebeaTaWbdaVaRajbfakbcaXbagRghgfgrgJgtgsgvgqglgkgugfghgsgigIgrhhbfaYaWalbfaYaLfLaVaXaXaTaVaXaTaVaXaTaVaXaTaVgmhlgZgZgmgmhlaVaXaTaVaXaTaVaXaTaVaXaTaVaXaXfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAkpfOfOfOkqfOfOfOkriAiAkskckdkdktkdkdkukvkvkwihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkxjUjUjLimjXkykykzhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afbbbbbcaSaTbeaUaTbbbbbcaSaTbeaUaTbeaUbbbbbcaSaTbeaUamaRaabfaWbdfFgkgigfgsghglgJgugIgvgjgigkglgtgqgfdcaRbaaSaoaRbaaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAfOkAjBkAfOkBjrjrjrkCkDkdkEkFkGkdihkvkHkHihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkikjjUjVimkIkykykJhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -analahajaoacaeabanagakafamaafLfLfLfLfLahajabafaoaaagadaUajaRaSaTfYgvgtgiglgkgIgsgjgqgJgggtgvgIghgugidtaUbdaZabaUbdaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAfOkKjBkLfOjQjRjRjRjSihkdkEkMkGkdihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEkNkNhHkOkPhHhHkNkNiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaXamaUaZbchCgJghgtgIgvcgglgggugsgrcwgJgqgkgjgthDaXaTbeaeaXaTaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAjtfOfOfOfOfOkKjBkLfOkckQkQkQkQkRkdkdkdkdkdkSkTkUihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhKkVjdimkWkXhGiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bbaWbdaUbeaRaUbeaRaWbdaUbeaRaWbdaUbeaRaWbdaUbeaRbaaSbcaWadaXaVbffXgsgkghgqgJfZgIgrgjglgfizgsgugvggghfWaWbcbeahaWbcaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBfOkKjBkLfOkDkQkZjRjSihkdkdkdkdkdihlalalbihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjbiliSillchEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aYaSaTaXbbaUaXbbaUaSaTaXbbaUaSaTaXbbaUaSaTaXbbaUbdaZbfaSalaWbeaRcwglgvgkgugsdbcgfYldfWhCicglgjgJgrgkcgaSbfbbagaSbfaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBkKlefOkKjBkLfOfOlflglhliihihihihihljihlklalbihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhElllmlnlolphEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -baaZbcaWaYaXaWaYaXaZbcaWaYaXaZbcaWaYaXaZbcaWaYaXaTaVaRaZaoaSbbaUizfWhoicdbhDldbcaWaUaTaShofWlddtfYicfZaZaRaYacaZaRaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihlqiAfOkYjBkKlrfOfOlsfOfOltjBjBfOlulvliihlwlxlyihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiElzlAlAlAlBiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bdaVbfaSbaaWaSbaaWaVbfaSbaaWaVbfaSbaaWaVbfaSbaaWbcbeaUaVaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaVaXaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBlCjBjBlDjBjBjBjBfOjGiAjPlElFlxlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aTbeaRaZbdaSaZbdaSbeaRaZbdaSbeaRaZbdaSbeaRaZbdaSbfbbaXbeahakadaiaaaoamajahalagaeafacabanamaoagadacaiaeaaacalanbeaWaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBlGjBjBjBlHjBjBjBfOlIiAjPkclwlJlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bcbbaUaVaTaZaVaTaZbbaUaVaTaZbbaUaVaTaZbbaUaVaTaZaRaYaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAjtfOfOfOfOfOfOlKjBjBfOfOfOfOfOfOjxjPkDlwlxlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMlNlOlPfOjBjBjBfOlQlRlSlTlUfOlVihlwlxlWihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXlXlXlYjBjBjBlZjBjBjBjBmafOlVihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMlXlXlXmbjBjBjBmcjBjBjBjBmafOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXlXmdfOmemfmgfOmhfOjwfOfOfOmjiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXfOfOfOlXlXlXfOfOfOjBjBjBfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMbDfOiAfOmlmlmlfOiAfOjFmmmnfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOmlmlmlfOiAkpmompmqkriAfOmlmlmlfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAkpmompmqkriAiAiAiAiAiAiAkpmompmqkriAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmsmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihihihihihihihihihihihihihihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu -mrmrmrmrmrmrmrmvmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMmumumuaMaMaMaMaMmumumumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMmumumumumumumumumuaMmumumumumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumumumumumumumumumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmxmxmymxmxmzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMmAaMmBmumumumumumumumumumumumumumumumumumumumumumumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmDmDmDmEmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMmAmBmumumumumumumumumumumumumumumumumumumumumumumumumumumu -mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmDmFmDmGmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMmAaMmumumumumumumumumumumumumumumumumumumumumumumumumumumu -mHmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImImImJmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumuaMaMaMaMaMaMmKmBmumumumumumumumumumumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmMmNmxmxmxmOmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumuaMaMaMaMaMaMmPaMmBmumuihihihihihmumumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmGmDmGmDmDmDmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMihihmQmRmSihihmumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmMmxmxmzmDmDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMlEmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMkcmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMkDmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXmxmxmxmxmOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihmWmWmYihihmumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihmWmWmWihmumumumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmZnananbihihncihihihihihihihmumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMnvrPrIrIrIrBnzaMaMndnenfngnenenerlihninjnknlihmumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMnvnHnInJnKnLnMnHnzaMndnenmnmnenenenennnonononpihmumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMnHnQnRnRnSnRnRnLnHaMndnqnrnsntneneneihnonononuihihihihihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMnHnZnRnRnRnRoanLnHaMndnenAnAnenenepaihnCnonDnEihbLkQbOihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHofnRnRognRnRohnHaMndneneneneneneriihihihihihihbPkQbTihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMomnHonnHnHnHnHnHooaMnTnananUihkdkdkdihkTkTnVnWihcikQmkihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoGoyoaounFnHaMaMaMaMaMaMobkdkdkdoclalaododihcikQnGihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoBoAoanRornHaMaMaMaMaMaMoikdkdkdihojlaihihihokolokihihihmumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHoBoyoanRornHnzaMaMmPmKoFihkdkdkdihihihihnOnOkQkQkQnPnPihihmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHnHnHnHvLoyoanRornHnHnHnHnzototihkdkdkdkdihnYnXkQkQkQkQkQkQkQoxihmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHpioXoYnHnRoHnRoJnHnHoZoOpbrTkRpnkRkdkdkdkdoCkQkQkQkQkQoDkQkQkQoeihmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMphoWpjoWnHnHnHpknHnHpJoZplpmrTkRpLkRkdkdkdkdihoqopkQkQkQkQkQkQkQoMihmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMnHnHphpxnHnHnRnRpynHnHpzpApznHoIoIihoPnanUihihihihowovkQkQkQozozihihmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHpGnRnRpHnHnRnRnRnHrbpKrdpInHmBaMmBaMaMaMaMmumuihihihokpcokihihihmumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVpdpepepepepfpfpepepepepgoVoVoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqanRnRnRqbnRnRnRqcnRnRnRqdnHmKmKmKmKaMaMaMaMmumumuihoEkQoEihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVpdpppqprpspeptpupepvpwpepepepgoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMnHqCnRnRnRqDnRnRnRqEnRnRnRqFnHaMaMaMaMaMaMaMaMaMmumuihoEkQoEihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpdpepBpBpBpBpepCpCpepBpBpDpEpepepgoVpFpFpFpFpFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnvnHnHnHnHnHnHnRnRnRnHnHnHnHnHnHnzaMaMaMaMaMmAaMmBmumuihoEkQoEihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpepepMpNpOpPpepBpBpQpBpBpBpBpRpSpeoVpFpTpUpVpFpFpFpFpFpWpXpXpYpFpFaMaMaMaMaMaMaMaMpZpZpZpZpZpZpZpZpZpZpZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqZrasercsvnHrenRnRnHrfrfrfrgrgnHaMaMaMaMaMmAmBmumumuihoEkQoEihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfqgpBqhqhqhpepBpBpeqiqjqkqlqmqnpeoVpFqopUpUqpqqqrqsqtquqsqvqwqxpFpFpFpFpFpFpFpFpFpFqyqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMnxrjrjrjrjrjnHnRnRnRnHrenRnRnRrknwaMaMaMaMaMmPaMmumumuihihihihihmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfpBpBpBpBpBpQpBpBpepepepepepepeqHqIpFpFpFpFpFqqqvqsqJqKqsqvqvqvqLqMqMqMqMqMqMqMqMqNqyqOqPqPqPqPqPqQqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMnhrCrDrjrjrjrEnRnRnRrFnRnRnRrGrHmiaMaMaMaMaMmAmBmBmumumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpeqSpBqSpBqSpepBpBpBqTqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqvqvqLqMqMqMqMqMqMqMqMqNqyqXqYqYqYqYqYqXqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnyrjrjrjrjrjrQnRnRnRrRnRnRnRnRrSnBaMaMaMaMaMmAaMaMmBmumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpepepepepepepepBpBrhpBqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqqqqpFpFpFpFpFpFpFpFpFpZqyqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsbrjrjrjscnHpzsdpznHoKoKsInRsfnHaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpermrnrormrppepBpBpBrqqUoVoVoVoVoVoVpFpFpFpFpFqvqvqsqJquqsqvrrrspFrtrururvpFrwrxrypZqzqXqYqYqYqYrzrApZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHspsqsrssstnHsunRvUnHyCnHnHnNnHnHaMaMaMaMaMaMaMmAaMmBmumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfrJrJrJrJrJpQpBpBpepepepepepepepgoVpFpTpUpVpFqvqvqsqJrKqsqvqqqqpFrLrLrLrLpFrMrxrNpZqzqXqYqYqYqYqYrOpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsGrjsHLwnHnHnRsJsKnHnHnHnRnRLxnHaMaMaMaMaMaMaMmAmBmBmumumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfrUrJrJrJrJpepBpBpBpBpBpepBrVrWpeoVpFqopUpUqpqvqvqvqvqvqvqvqvqvpFrLrXrYrYpFpFrZpFpZqzqXqYqYqYqYsaqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsWsXsYnHaMnHsZsZsZnHaMnHnLtatbnHaMaMaMaMaMaMaMmAaMmBaMmumumumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpepesgshshshpepBpNsipNpBpQpBsjskpeoVpFpFpFpFpFpFpFslpFpFpFqvqvqvsmrLsnsnrLrLrLrLsopZqzqXqYqYqYqYqYrOpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsZsZsZnHaMomtmtntoooaMnHsZsZsZnHaMaMaMaMaMaMaMmAmBmBmBmBmBmumumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVqRperJrJrJrJpepBsipNsipBpeqSpepeqHoVpFsxsyszpFsAsBsBsBsCpFqvqvqvqvrLrLrLrLsDrLrLrYpZqzqXqYqYqYqYsEsFpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMomtmtntoooaMaMaMaMaMaMaMomtmtntoooaMaMaMaMaMaMaMmAaMmBaMmBaMaMmumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVqRpesLsMsNpepBpBpBpBpBpepepeqHoVoVpFsOsPsQsRsBsBsBsBsSpFqvqvqvsmsTrLrLrLsUrLrLsVpZqzqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVqRpepepepepepepepepepeqHoVoVoVoVpFpFtctdpFpFpFtctetdpFqvqvqvpFtftgtgtgtgtgthpFpZqztitjqYqYqYtktlqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVpFtptptptptptptptptppFpFtqpFpFtptptptptptptppFpZqztrtstttttttstuqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNtvoNoNoNoNoNoNoNoNoNoNoNoNtwtwtwtwtwtwtwtwtwtwtwtwtxtxtxtxtxtxtxpFtytztypFtxtxtxtxtxtxtxtxpZqzqztAtBtBtBtCqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoLoNaMaMaMaMoNtEtFtGtHtHoNtItJtwtItKtwtLtMtwtItJtwtNtxtOtPtQtRtSpFtytztypFtTtUtVtWtWtxaMaMpZqzqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNAgoNoNoNoNoNoNtYtZtZtZuaoNubtMtwubuctwubtJtwubudtwtNtxueufufufufpFtytztypFtWtWtWtWtWtxaMaMugugugugugugugugugugugtxtxtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtvtvtvtvtvoNuhoQoSoRswpooNuntZtZtZuaoNtwtwtwtwtwtwtwtwtwtwtwtwtNtxueufufufufpFpFtqpFpFtWtWtWtWtWtxuguguguguguguoupuqtxurururtxururururururururtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutuuuvuwDUuhtZtZtZtZtDoNuztZtZtZuAoNuBudtwtIudtwuCtJtwtItMtwtNtxuDuEuFuGuHtxuIuIuItxtWtWtWtWtWtxuJuKuJuLuMuguNuNuNuOurururuOuruPuQuPuruRuSuTtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVAIuXuVuVuVuYAIuZvavbvcoNvxtZtZtZtZuioNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNLytZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulumtZoNoNxatZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMzRzSzTzUaMaMaMaMaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaAbAcAcAdAdzNzPyhyhyhyhyhyhyhzszszszsAezHufzwtxAfuxAfAhAftxaMaMaMaMaMaMaMaMaMaMzRAiAjAkAlzUaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAmAcAcAcAcAcAcAnAoaMaMaMaMaMaMtxApzsApzszuzHufAqArueufAsufxFyuaMaMaMaMaMaMaMaMaMaMAtAuAvAvAwAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAxAyAzAzAzAzAzzNAAaMaMaMaMaMaMtxApzsApzszGzHufAqAruDufwtAByoyuaMaMaMaMaMaMaMaMaMaMACADADADAvACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAEzNzNzNzNzNzNzNzNAAaMaMaMaMaMaMaMtxApzsApzszQAFxSAGAHAftXAJAKAfyuaMaMaMaMaMaMaMaMaMaMAtALADAMANAtAOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAPufufAQvVyuyuyuaMaMaMaMaMaMaMzRARASACATAUARAUzUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAZBaBbBcBcBcBcBcAHBdxCBeufufBfvVxCBdyuaMaMaMaMaMaMaMAtBgADBhBiBjBkBjAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBlBmBnBlBmBmBoBpBqBmBrBsAYAWAWBtBcBcBcBcBcAHBdwrBeufufufvVwrBdyuyuyuyuyuyuaMaMAtBuADADBvBwBwBxAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBlByBzBABBBCBCBCBCBCBCBDBEAYAWAWBbBcBcBcBcBcAHBdwrBeufufufBFwrBdBGBGBGBGBGyuaMaMACBuADADACBHBHBHAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBIBJBKBJBLBJBJBJBJBJBJBJBMAWAWAWAHAHAHAHBNBOAHBdwrBeufufufBPBQvmBRBRBRBRBRBRBRBSAtBTADADBUAUAUAUBVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBWBXBYBZBBCaCaCaCaCaCaCbCcAYAWAWAHCdCeCfCgCgAHChCiCjufufufufCkClClClClClCmCnCoCnCpADADADADCqCqCrACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBWBmCsBWBmBmBoBpBqBmCtBsAYAWAWAHCuCvCwCgCgCxCyCzufufufufufCkClClClClClCmCABRBSAtCBADCrCCBuADCDAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAWAWAHCECFCGCgCgCxCyCzufufufufCHCIBRCJClClCKCLyuaMaMCCBuADCrCMBuADCrCCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHCNCNCNCNCNCNCNCNCNCNCNCNCNCOCOCOCPCPCNCQvYCRufufufBFCSBdCTClCmCUCVyuaMaMCMBuADCrCMBuADCrCMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHCWCXCXCXCYCZDaCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCNBdwrBeufufufBPDbBRDcClClDdDeyuaMaMDfBuADCrCMBuADCrDfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgDgDgDhDiDjDkDlCPDmDnDoDlCPCPCPCPCPCPCPCPCNBdwrDpufufufufCkClClClClClCmCABRBSAtBTADCrDfBuADDqAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDrDgDgDgDsDiDtDuDlCPDmDvDwDlCPCPDxDxDxDxDxDxCNDyDzDADBDCDCDCDDDCDCClClClCmCnCoCnDEADADADADADADCrACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDFDgDgDgDsDaCPCPCPCPCPCPCPCPCPDGDHDHDHDHDHDHCNCNCNCNCNDIDICNCNCNCNCABRBRBRBRBRBSAtzSzTDJACDKADBhAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDLDgDMDsDiDNDODlCPDmDPDQDlCPDGDRDSDSDSDSDSCNDTDTDTIZDVDVDWDXDXCNBGBGBGBGyuaMaMAtDYDZEaEbAtALBhAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEcDgDgEdDgDsDiEeEfDlCPDmEgEhDlCPDGDSDSDSDSDSDSCNEiEjEkElDVDVDVDXDXCNyuyuyuyuyuaMaMACEaEaEaEmAtEnEnAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgDgDgEoDaCPCPCPCPCPCPCPCPCPDGDSDSEpEqErEsCNEtEuEvDVEwExDVDVEyCNaMaMaMaMaMaMaMAtDYDZEaEzEAEBEBBVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgECDgDrEDEEEFEGEGEGEHEHEHEIEJEKELEMEHEHEHCNCNCNENEOEOEwEPEQExERESCNaMaMaMaMaMaMaMETATEUEUEUBVEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgEDEXEYEZEZEZEZEHFaFbFcFdFeFfFgFbFaEHCNCNCNCNCNCNFhFiFjFkERESCNaMaMaMaMaMaMaMaMETEVEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHFlDgEDEXEYEYEZEZEZEZEHFbFmFnFdFeFfFnFoFbEHFpFqFrFsFtCNDVFhFkDVDVEwFuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgEDEXEYEYEYEZEZEZEZEHFvFbFvFdFeFfFvFbFvEHFwDVDVDVDVFxDVDVDVDVDVFyFzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEDEXEYEYEYEYEYEYEYEYEHFAFbFbFdFeFfFbFbFBEHFCFDFEFFFGCNDVDVDVDVDVFHFIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHEHFJFKFKFdFeFfFLFLFMEHFNFOFPFQFRCNFSFTFUFVFWFXCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeFeFeFeFeFeFeFeFeFeFeEHEHFYEHEHFeEHEHFYEHEHEHEHEHEHEHCNCNCNCNCNCNCNCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHEHEHEHFZEHEHEHFeFeFeFeFeFeEHFeEHFeFeFeFeFeFeFeFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHEHEHEHEHEHEHEHGdEHEHEHEHEHEHEHEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHGeGfGgGfGhGiGiGiGiGiGhGiGhGiGjEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGkGbGbGbGbGlEHGiGmGmGmGmGmGiGiGiGmGmGmGmGnGoEHFeEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGkGpGqGqGbGbGrGiGiGsGtGsGiGiGiGiGiGsGtGsGuGiEHFeFeFeFeFeFeFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHFeEHEHEHEHEHEHEHEHGiGmGmGmGmGmGiGiGiGmGmGmGmGvGiEHEHEHEHEHEHEHFeEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAFeEHEHzazazazazaEHGxGxGxGxGxGxGxGxGxGxGxGxGxGyGxEHzbzbzbzbzbEHFeFeFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHEHEHHgHgHgHgHgEHGBGCGCGCGCGCGCGCGCGCGCGCGCGDGBEHHgHgHgHgHgEHEHEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGGGGGGGFGIGCGCGCGCGCGCGCGCGCGCGCGCGDGJGFGKGKGKGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGMGGGMGGGFGIGCGCGCGCGCGCGCGCGCGCGCGCGDGJGFGKGNGKGNGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGOGGGGGFGIGCGCGCGCGCGPGQGPGCGCGCGCGDGJGFGKGKGRGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGGGGGGGFGIGCGCGCGCGCGSGTGSGCGCGCGCGDGJGFGKGKGKGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGMGGGMGGGFGIGCGCGCGCGCGVGWGXGCGCGCGCGDGJGFGKGNGKGNGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGZGYGYGYHaHaHaGYGYHaHaHaGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHFbGHGGGGGGGGGGGFGIGCGCGCGCGCGCHcGCGCGCGCGCGDGJGFGKGKGKGKGKGHFbEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUHdGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYHeGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHHfEHHbHbHbHbHbEHGBGCGCGCGCGCGCHcGCGCGCGCGCGDGBEHHbHbHbHbHbEHHfEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYHhGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFJHiFbEHGzGzGzGzGzEHGxGxGxGxGxGxHkHlHkGxGxGxGxGyGxEHGEGEGEGEGEEHFbHnFMEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYHdGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHFbEHEHEHEHEHEHEHHoHpHpHpHpHpHqHrHoHpHpHpHpHsHoEHEHEHEHEHEHEHFbEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYHtHhGYGYGYGYGYGYGYGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFbFbFeFeFeFeFeEHHoHoHuHoHuHoHoHvHwHoHuHoHuHxHoEHFeFeFeFeFeFbFbEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHEHEHEHEHFeFYHoHoHoHyHyHyHoHoHoHyHyHyHyHyHoFYFeEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYHzHAGYGYGYGYGYGYGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHHBHBHBHCHDHEHFHoHGHHHIHJHKHLHMEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYHNHOGYGYGYHtGYHPGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYHhGYGYGYGYGYGYGYGYGYGYGYGYGYHdGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYHtHhGYGYGYGYGYGYGYGYGYGYGYGYHhGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYHQGYHQGYHQGYHRGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYHSGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTGU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHUHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHU -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHW +ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbrbsbrbsbrbqbtbububububqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbxbybybybzbA +amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaqarasatauavbgaxbibjbnbkblbmapaqararasataubgbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbBbpbpbpbqbCbDbCbDbCbqbEbEbEbEbEbqbvbFbvbFbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA +adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahbgbhbibjbnbkblaDapaqarasatauavbgbhavbgbhbiblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbJbKbJbKbJbqbEbEbEbEbEbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA +alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagblbmapaqarasataJavbgbhbibjbnbkblbmasatauavatauavbgbhbibjbnbkblaDaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbLbpbpbqbMbMbMbMbMbqbNbNbNbNbObqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA +aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbgbhbibjbnbkblaDapaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbPbQbRbQbSbqbTbUbVbWbTbqbvbvbFbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA +abaZaYaXaVbdbbbebfbabXbYbZcacbccbbbdaRaYaXbebcaVaUbaaiarasatauavbgbhaybjbnbkblbmapaqarasapaqarasbhbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqcdbQbRbQcebqbTcfcgchbTbqbvbvbFbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA +aeaVbaaWbeaTaYbbaRckclcmcncocpcqcraTaUbaaWbbbfbeaXbdafbnbkblbmapaqaraHatauavbgbhbibjbnbiavaraqbhauasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbBbpbpbLbqbMbMbMbMbMbqcscfcgchcsbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA +ahbebdaSbbbcbaaYaUctcocucvcwcmcxcybcaXbdaSaYaRbbaWaTanbmapaqarasatauaKbgbhbibjbnbkblbmczcAcBcCcDcEavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqcFcGcFcGcFbqcHcfcgchcHbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA +agbbaTaZaYbfbdbaaXcIcJcvcKcLcMcncNbeaWaTaZbaaUaYaSbcakbibjbnbkblbmapaFarasatauavbgbhbicEcOcPcQcRcSaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbCbDbCbDbCbqcHcfcgchcHbqbvbFbvbFbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA +acaYbcaVbaaRaTbdaWcccpcxcTcocKcvcUcVaSbcaVbdaXbaaZbfaaasatauavbgbhbiazbnbkblbmapaqarascWcXcYcZdadbbhbnbkblbmapaqarasaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobLbpbpbpbBbqbrbsbrbsbrbqdcdddedfdcbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqdgdhdhdhdibA +aibabfbebdaUbcaTccdjcmdkcJcwcTcxcudldmbfbeaTaWbdaVaRajbhbibjbnbkblbmaEaqarasatauavbgbhdndodpdqcXdrapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMdsdtdtdtdtdtdudtdtdtdtdtdudtdtdtdtdtdudvdvdvdvdvdudvdvdvdvdvdudvdvdvdvdvdudvdvdvdvdvdw +afbdaRbbaTaXbfbcdmcxcudxcpcncJdkcLcKdyaRbbbcaSaTbeaUamaqarasatauavbgaxbibjbnbkblbmapaqdzcWdAcAcBcCbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDdBdCbqdEdEdEdEdEbqdFdFdFdFdFbqdGdGdHdIdIbqdJdKdLdJdMbqdNdOdOdOdPbqdQdRdRdRdSbA +anaTaUaYbcaWaRbfdydkcLcMcmcvcpdxcocTdTaUaYbfaZbcbbaXadauavbgbhbibjbnaBblbmapaqarasatauarbibjbnbkbgbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdUdDbqdEdVdEdEdEbqdFdWdXdYdFbqdZdZeaebebbqdMecedeeefbqegeheheheibqejekekekelbA +akbcaXbabfaSaUaRdTdxcocKcucxcmcMcwcJcVaXbaaRaVbfaYaWalbjbnbkblbmapaqaGasatauavbgbhbibjczcAcBcCcDcEarasatauavbgbhbibjaAaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDdBdCdDdBbqdEdEdEemdEbqdFenenendFbqdZeoeoeoebbqdJepdJdKdJbqegeheheheibqejekekekelbA +aabfaWbdaRaZaXaUcVcMcwcTcLdkcucKcncpcraWbdaUbeaRbaaSaobkblbmapaqarasaIauavbgbhbibjbnbkcEeqeresetcSatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdUdDdBdCbqdEdEdEdEdEbqdFdFdFdFdFbqdZeaeaeaebbqdKdJdMeddMbqegeheheheibqejekekekelbA +ajaRaSaTaUaVaWaXcrcKcncJcodxcLcTcvcmcyaSaTaXbbaUbdaZabavbgbhbibjbnbkaCbmapaqarasatauavcWeuevewexdbblbmapaqarasatauavawaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdCdDbqdEdEdEeydEbqdFezeAeBdFbqeCeDeDeDeEbqdJdLdJeFdLbqeGeHeHeHeIbqejekekekelbA +amaUaZbcaXbeaSaWcycTcvcpcwcMcocJcxcuckaZbcaWaYaXaTaVaebnbkblbmapaqaraHatauavbgbhbibjbndneJeKeLeudrasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDdBdCdDdBbqdEeMdEdEdEbqdFeNeOePdFbqeQeReReReSbqdMeTeUeVdKbqeWeXeXeXeYbqeZekekekfabA +adaXaVbfaWbbaZaSckcJcxcmcncKcwcpdkcLctaVbfaSbaaWbcbeaharasatauavbgbhaybjbnbkblbmapaqardzcWdAcAcBcCbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDfbdCbqdEdEdEdEdVbqdFeNeOePdFbqfceafdeafebqeTfffgfheVbqfiehehehfjbqeZekekekfabA +alaWbeaRaSaYaVaZctcpdkcucvcTcncmdxcocNbeaRaZbdaSbfbbagbibjbnbkblbmapaFarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdCdDbqfkdEdEdEdEbqdFeNeOePdFbqfcflflflfebqfffgfgfgfhbqfiehehehfjbqeZekekekfabA +aoaSbbaUaZbabeaVcNcmdxcLcxcJcvcucMcwfmbbaUaVaTaZaRaYacatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDfbdCdDdBbqdEeydEeMdEbqdFfnfofpdFbqfcfceafefebqfgfgfgfgfgbqfiehehehfjbqeZekekekfabA +abaZaYaXaVbdbbbefmcucMcodkcpcxcLcKcnbXaYaXbebcaVaUbaaibmapaqarasatauaKbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDdBdCbqdEdEdEdEfkbqdFdFdFdFdFbqfqfqfrfsfsbqfgfgfgfgfgbqftfufufufvbqfwfxfxfxfybA +aeaVbaaWbeaTaYbbbXcLcKcwdxcmdkcocTcvfzbaaWbbbfbeaXbdafbkblbmapaqarasaIauavbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfAfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfD +ahbebdaSbbbcbaaYfzcocTcncMcudxcwcJcxfEbdaSaYaRbbaWaTanauavbgbhbibjbnaBblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agbbaTaZaYbfbdbafEcwcJcvcKcLcMcncpdkcIaTaZbaaUaYaSbcakbhbibjbnbkblbmaEaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acaYbcaVbaaRaTbdcIcncpcxcTcocKcvcmdxccbcaVbdaXbaaZbfaaasatauavbgbhbiazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaGaHaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibabfbebdaUbcaTcccvcmdkcJcwcTcxcucMdmbfbeaTaWbdaVaRajaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afbdaRbbaTaXbfbcdmcxcudxcpcncJdkcLcKdyaRbbbcaSaTbeaUamaRaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoaRbbaLfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +anaTaUaYbcaWaRbfdydkcLcMcmcvcpdxcocTdTaUaYbfaZbcbbaXadaUajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaUaYaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +akbcaXbabfaSaUaRdTcIdxcxcTcMcvctfzcccVaXbaaRaVbfaYaWalaXamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaXbaaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aabfaWbdaRaZaXaUbbcccrdTctcydycNaXaZaYaWbdaUbeaRbaaSaoaWadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaWbdaLfFbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbeaXbdbebeaXaMfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaSalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaSaTaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfGfHfHfHfHfHfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaZaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaZbcaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfJfKfLfMfNfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaVabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaVbfaLfFbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfaTbafFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOfPfPfPfOfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagbeaeaVbaaWbeaTaYbbaRfQcacUfRfSfTcqdlcbaUbaaWbbbfbeaXbdafbeaRaLfFaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRbdbdfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOfUfUfUfOfIfVfWfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbbahbebdaSbbbcbaaYfXfYfZgagbgcgdgegffTggbdaSaYaRbbaWaTanbbaUaLfFaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaTaTfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOfIfIfIfIfIfIfIfIfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaYagbbaTaZaYbfbdbagggcgkgbgfglgmgngogpgqaTaZbaaUaYaSbcakaYaXaLfFaXbcbcbbaXbcbbaXbcbbaXbcbbaXgrgsgggggrgrgsaXbcbbaXbcbbaXbcbbaXbcbbaXbcbcfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOgtgugvgwgxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafbaacaYbcaVbaaRaTbdgqgngogegCfZgfgbgdgDgEbcaVbdaXbaaZbfaabaaWaLfFaWbfbfaYaWbfaYaWbfaYaWbfaYaWgFgGgqgqgFgHgIaWbfaYaWbfaYaWbfaYaWbfaYaWbfbffFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOgJgugygygxgygugygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ahbdaSaYaRbbaWaTbbbdaSaYaRbbaWaTbbaWaTbdaSaYaRbbaWaTanbdaibabfbebdaUbcaTgEgbgdgpgkgcgCgegagmgKbfbeaTaWbdaVaRajbdaSaLfFaSaRaRbaaSaRbagEgLgMgEgLgMgEgLgNgOgOgPgPgMgEgLgMgEgLgMgEaRbaaSaRbaaSaRaRfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOgigigigQgRgSgygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agaTaZbaaUaYaSbcaYaTaZbaaUaYaSbcaYaSbcaTaZbaaUaYaSbcakaTafbdaRbbaTaXbfbcgKgegagDgogngkgpglgfgTaRbbbcaSaTbeaUamaTaZaLfFaZaUaUbdaZaUbdgKgUbdaZgUgVgKgUgWgXgXgUgUgWgKfXgWaZaUgWgKaUbdaZaUbdaZaUaUfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOgigigigQgRgSgygygygygYgygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acbcaVbdaXbaaZbfbabcaVbdaXbaaZbfbaaZbfbcaVbdaXbaaZbfaabcanaTaUaYbcaWaRbfgTgpglgmgdgbgogDfZgChbaUaYbfaZbcbbaXadbcbeaLfFaVaXaXaTaVaXaTgThchdhehchfhehchdhehehchchdhegghdhehchdgTaXaTaVaXaTaVaXaXfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOhggihhfOgJgugygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibfbeaTaWbdaVaRbdbfbeaTaWbdaVaRbdaVaRbfbeaTaWbdaVaRajbfakbcaXbabfaSaUaRhbhifZgfgagegdgmgccbgsaXbaaRaVbfaYaWalbfbbaLfFbeaWaWbcbeaWbchbhjhkhlhjgrhlhjhkhlhlhjhjhkhlgqhkhlhjhkhbaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHhmfOhnfOhogtgugygygxgygugygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afaRbbbcaSaTbeaUaTaRbbbcaSaTbeaUaTbeaUaRbbbcaSaTbeaUamaRaabfaWbdaRaZaXaUhidlglgpglgpgaglgpfTgIaWbdaUbeaRbaaSaoaRaYaLfFbbaSaSbfbbaSbfgsgOgHhpgOgFhpgOgHhphpgOgOgHhpgEgHhpgOgHgsaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHaMhmhqhoaMgtgugygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhrhshthuhvgZgZgZaMhahahahrhshthuhvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +anaUaYbfaZbcbbaXbcaUaYbfaZbcbbaXbcbbaXaUaYbfaZbcbbaXadaUajaRaSaTaXhwfRhxhyglgcgmgcgmfZgcgmgefTfTgrhxaYaUbdaZabaUbaaLfFaZaRaYaZaYaZaRgIgXgPgGgXgPgGgXgPgGgXgPgGgXgGgXgPgGgXgPgIaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzhAhAhAhBhChDhChChChEhChFhAhAhAhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +akaXbaaRaVbfaYaWbfaXbaaRaVbfaYaWbfaYaWaXbaaRaVbfaYaWalaXamaUaZbcaWgsgegngCgcgmgdglgpgcgogpglgkgegefRbaaXaTaVaeaXbdaLfFaVaUbaaVbaaVaUgMhegUgNhegUgNhegUgNhegUgNhegNhegUgNhegUgMaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzhGhHhIhJhKhLhMhNhOhPhKhQhRhShThzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aaaWbdaUbbaSaYbeaTaUhUhVhWhwhXbahYbYhZcqiaaUbeaRbaaSaoaWadaXaVbfaSgIgegbgkgogpgagcgmgngdgefZgogpgacqbdaWbcbeahaWaTaLfFbeaXbdbebdbeaXgVhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgVbeaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibibibibibibibibibibibibibibibibibibibibibibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzicicidieifigifihifigifiiidicichzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ajbaaTaXaRbdaUbfaSaXijikiliminaXioipiqirisaXbbaUbdaZabaSalaWbeaRaZgMgpgegogdgDglgegkgbgagmgcgdgDglitaTaSbfbbagaSbcaLfFbeaXbdbebdbegggVhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgVhbaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiviuiuiuiwixiuiuiuiwiuiuiuiuiuiuiwiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhRicizigigigigigigigigigizichIiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ambdbcaWaUaTaXaRaZaWisiBiCiDiEaWiFiGiHiIiJaWaYaXaTaVaeaZaoaSbbaUaViKgDgpgdgagmfZgpgogeglgfgngagmfZhwbcaZaRaYacaZbfaLfFbeaXbdbebdbegggWhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgWhbaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiviuiuiuiuiuiuiuiuiuiuiuiwiuiuiuiuiuiwiuiuiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhChFiLifigifiMiMifigiNhBhCiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +adaTbfaSaXbcaWaUaVaSiJiOiPilhYaSijiQiRiSiTaSbaaWbcbeahaVabaZaYaXbecbgmgDgaglgfgcgDgdgpfZgCgbglgfgchibfaVaUbaaibeaRaLfFbbaWaTbbaTbbgqhdhphjhdhphjhdhphjhdhphjhdhphdhphjhdhphjhdgsaWaTbbaWaTaMbbfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiUiuiuiuiuiuiviuiuixiwiuiuiwiuiuiwixiuiwiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhziVihigiWiViViXigiYhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +albcaRaZaWbfaSaXbeaZiTimiZiCjaaZisjbirjcinaZbdaSbfbbagbeaeaVbaaWbbfTgfgmglfZgCgngmgagDgcgkgefZgCgndlaRbeaXbdafaMaUaLfFbfbabaaZbfbagKgFgNgXgHgNgKgFgNgXgHgHgNgNgXgFgMgXgHgNgXgFgMaZbfbaaZbfaTbafFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiviuiuiwixiuiuiwiuixibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdhzjeifigiWiViViXighKhzjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aobfaUaVaSaRaZaWbbaVinijiEiThUaViJiaioisiEaVaTaZaRaYacbbahbebdaSgIcUgCgffZgcgkgbgfglgmgngogpgcgkgbhyfXbbaWaTanbbaXaLfFaRbdbdaVaRbdaVgLgVgTgLgVgTgLgWhegPgPgWgWhegLgVgTgLgVgTgLbdaVaRbdaVaRbdbdfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiviuiuiuiuiuixiuiwixiuiwiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdjgjhigigifjijiifigjjjkjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +abaRaXbebcaVaUbaaVaRaXbebcaVaUbaaVaUbaaRaXbebcaVaUbaaiaYagbbaTaZgMgagkgCgcgngogegCfZgfgbgdgDgngogegCggaYaSbcakaYaWaLfFaUaTaTbeaUaTbeaUaTbeaUaTbefXhdhlgUgUhdhdhlfXaTbeaUaTbeaUaTbeaUaTbeaUaTaTfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiujljljljljljljliuiuiuiuiuiuiuiwiuiuiUixiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdhzhKjmigigigigigigifhzjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aebaaWbbbfbeaXbdbebaaWbbbfbeaXbdbeaXbdbaaWbbbfbeaXbdafbaacaYbcaVgVglgogkgngbgdgpgkgcgCgegagmgbgdgpgkgqbaaZbfaabaaSaLfFaXbcbcbbaXbcbbaXbcbbaXbcbbgghkhphchchkhkhpggbcbbaXbcbbaXbcbbaXbcbbaXbcbcfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiujnfIjojpjpjpjqfIjriuiuiuiuiUiuiuiviuiviuiwiuiwibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhBhChChCjsigifigigjthzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ahaSaSaYaRbbaWaTbbaSaSaYaRbbaWaTbbaWaTaSaSaYaRbbaWaTanbdaibabfbehffZgdgogbgegagDgogngkgpglgfgegagDgogEbdaVaRajbdaZaLfFaWbfbfaYaWbfaYaWbfaYaWbfaYgqgHgGhjhjgHgHgGgqbfaYaWbfaYaWbfaYaWbfaYaWbfbffFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjujvjwjxjyjzjzfIjAiuiujljljljljljljljljBjCjlibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzjDjDjEjFigifigigifjGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agaZaZbaaUaYaSbcaYaZaZbaaUaYaSbcaYaSbcaZaZbaaUaYaSbcakaTafbdaRbbgrgcgagdgegpglgmgdgbgogDfZgCgpglgmgdgKaTbeaUamaTbeaLfFaSaRaRbaaSaRbaaSaRbaaSaRbagEgPgNgOgOgPgPgNgEaRbaaSaRbaaSaRbaaSaRbaaSaRaRfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjHjvjvjIjvjvjvfIjAiujJjKjLjLjMibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjNjOjOjOjPigjQjRjSjRhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acaVaVbdaXbaaZbfbaaVaVbdaXbaaZbfbaaZbfaVaVbdaXbaaZbfaabcanaTaUaYgFgnglgagpgcgDgegCgmgbgkglgngDfZgfgagTbcbbaXadbcbbaLfFaZaUaUbdaZaUbdaZaUbdaZaUbdgKfXgWgXgXgUgUgVgKaUbdaZaUbdaZaUbdaZaUbdaZaUaUfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjTjvjvjvjUjvjVfIjAiUjJjWjXjXjXjYjZibkakbibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkckdjOkeigkfkgkhkihzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibebeaTaWbdaVaRbdbebeaTaWbdaVaRbdaVaRbebeaTaWbdaVaRajbfakbcaXbagLgbfZglgDgngmgpgkgfgegofZgbgmgcgCglhbbfaYaWalbfaYaLfFaVaXaXaTaVaXaTaVaXaTaVaXaTaVgghfgTgTgggghfaVaXaTaVaXaTaVaXaTaVaXaTaVaXaXfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiukjfIfIfIkkfIfIfIkliuiukmjWjXjXknjXjXkokpkpkqibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkrjOjOjFigjRkskskthzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afbbbbbcaSaTbeaUaTbbbbbcaSaTbeaUaTbeaUbbbbbcaSaTbeaUamaRaabfaWbdfzgegcfZgmgbgfgDgogCgpgdgcgegfgngkfZcVaRbaaSaoaRbaaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiufIkujvkufIkvjljljlkwkxjXkykzkAjXibkpkBkBibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkckdjOjPigkCkskskDhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +analahajaoacaeabanagakafamaafFfFfFfFfFahajabafaoaaagadaUajaRaSaTfSgpgngcgfgegCgmgdgkgDgagngpgCgbgogcdlaUbdaZabaUbdaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiufIkEjvkFfIjKjLjLjLjMibjXkykGkAjXibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiykHkHhCkIkJhChCkHkHiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaXamaUaZbchxgDgbgngCgpcbgfgagogmglcqgDgkgegdgnhyaXaTbeaeaXaTaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiujnfIfIfIfIfIkEjvkFfIjWkKkKkKkKkLjXjXjXjXjXkMkNkOibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhFkPiXigkQkRhBiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bbaWbdaUbeaRaUbeaRaWbdaUbeaRaWbdaUbeaRaWbdaUbeaRbaaSbcaWadaXaVbffRgmgegbgkgDfTgCglgdgffZitgmgogpgagbfQaWbcbeahaWbcaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvfIkEjvkFfIkxkKkTjLjMibjXjXjXjXjXibkUkUkVibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhziVifiMifkWhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aYaSaTaXbbaUaXbbaUaSaTaXbbaUaSaTaXbbaUaSaTaXbbaUbdaZbfaSalaWbeaRcqgfgpgegogmcUcbfSkXfQhxhwgfgdgDglgecbaSbfbbagaSbfaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvkEkYfIkEjvkFfIfIkZlalblcibibibibibldiblekUkVibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzlflglhliljhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +baaZbcaWaYaXaWaYaXaZbcaWaYaXaZbcaWaYaXaZbcaWaYaXaTaVaRaZaoaSbbaUitfQhihwcUhykXbcaWaUaTaShifQkXdlfShwfTaZaRaYacaZaRaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiblkiufIkSjvkEllfIfIlmfIfIlnjvjvfIlolplciblqlrlsibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyltlulululviAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bdaVbfaSbaaWaSbaaWaVbfaSbaaWaVbfaSbaaWaVbfaSbaaWbcbeaUaVaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaVaXaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvlwjvjvlxjvjvjvjvfIjAiujJlylzlrlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aTbeaRaZbdaSaZbdaSbeaRaZbdaSbeaRaZbdaSbeaRaZbdaSbfbbaXbeahakadaiaaaoamajahalagaeafacabanamaoagadacaiaeaaacalanbeaWaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvlAjvjvjvlBjvjvjvfIlCiujJjWlqlDlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bcbbaUaVaTaZaVaTaZbbaUaVaTaZbbaUaVaTaZbbaUaVaTaZaRaYaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiujnfIfIfIfIfIfIlEjvjvfIfIfIfIfIfIjrjJkxlqlrlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGlHlIlJfIjvjvjvfIlKlLlMlNlOfIlPiblqlrlQibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRlRlRlSjvjvjvlTjvjvjvjvlUfIlPibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGlRlRlRlVjvjvjvlWjvjvjvjvlUfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRlRlXfIlYlZmafImbfImcfIfIfImdiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRfIfIfIlRlRlRfIfIfIjvjvjvfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGmefIiufImfmfmffIiufIjzmgmhfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufImfmfmffIiukjmimjmkkliufImfmfmffIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiukjmimjmkkliuiuiuiuiuiuiukjmimjmkkliuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmmmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmn +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibibibibibibibibibibibibibibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomo +mlmlmlmlmlmlmlmpmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMmomomoaMaMaMaMaMmomomomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMmomomomomomomomomoaMmomomomomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMmomomomomomomomomomomomomomomomomomomomomomomomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmqmrmrmrmsmrmrmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMmuaMmvmomomomomomomomomomomomomomomomomomomomomomomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmxmxmymxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMmumvmomomomomomomomomomomomomomomomomomomomomomomomomomomo +mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmzmxmAmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMmuaMmomomomomomomomomomomomomomomomomomomomomomomomomomomo +mBmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmCmCmDmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomoaMaMaMaMaMaMmEmvmomomomomomomomomomomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmGmHmrmrmrmImxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomoaMaMaMaMaMaMmJaMmvmomoibibibibibmomomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmAmxmAmxmxmxmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMibibmKmLmMibibmomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmGmrmrmtmxmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMlymOmPmQmPmOibmomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMjWmOmPmQmPmOibmomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMkxmOmPmQmPmOibmomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmRmrmrmrmrmIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibmQmQmSibibmomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibmQmQmQibmomomomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmTmUmUmVibibmWibibibibibibibmomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMmXmYmZmZmZnanbaMaMncndnenfndndndngibnhninjnkibmomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMmXnlnmnnnonpnqnlnbaMncndnrnrndndndndnsntntntnuibmomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMnlnvnwnwnxnwnwnpnlaMncnynznAnBndndndibntntntnCibibibibibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMnlnDnwnwnwnwnEnpnlaMncndnFnFndndndnGibnHntnInJibnKkKnLibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlnMnwnwnNnwnwnOnlaMncndndndndndndnPibibibibibibnQkKnRibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnSnlnTnlnlnlnlnlnUaMnVmUmUnWibjXjXjXibkNkNnXnYibnZkKoaibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlobocnEodoenlaMaMaMaMaMaMofjXjXjXogkUkUohohibnZkKoiibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlojoknEnwolnlaMaMaMaMaMaMomjXjXjXibonkUibibibooopooibibibmomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXnlojocnEnwolnlnbaMaMmJmEoqibjXjXjXibibibibororkKkKkKososibibmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXnlnlnlnlotocnEnwolnlnlnlnlnbououibjXjXjXjXibovowkKkKkKkKkKkKkKoxibmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnloyozoAnlnwoBnwoCnlnloDoEoFoGkLoHkLjXjXjXjXoIkKkKkKkKkKoJkKkKkKoKibmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMoLoMoNoMnlnlnloOnlnloPoDoQoRoGkLoSkLjXjXjXjXiboToUkKkKkKkKkKkKkKoVibmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMnlnloLoXnlnlnwnwoYnlnloZpaoZnlpbpbibpcmUnWibibibibpdpekKkKkKpfpfibibmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipipipipipipipipipipipipipipipipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlpjnwnwpknlnwnwnwnlplpmpnponlmvaMmvaMaMaMaMmomoibibibooppooibibibmomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipqprprprprpspsprprprprptpipipipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlpunwnwnwpvnwnwnwpwnwnwnwpxnlmEmEmEmEaMaMaMaMmomomoibpykKpyibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipqpzpApBpCprpDpEprpFpGprprprptpipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMnlpHnwnwnwpInwnwnwpJnwnwnwpKnlaMaMaMaMaMaMaMaMaMmomoibpykKpyibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipqprpLpLpLpLprpMpMprpLpLpNpOprprptpipPpPpPpPpPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMmXnlnlnlnlnlnlnwnwnwnlnlnlnlnlnlnbaMaMaMaMaMmuaMmvmomoibpykKpyibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpqprprpQpRpSpTprpLpLpUpLpLpLpLpVpWprpipPpXpYpZpPpPpPpPpPqaqbqbqcpPpPaMaMaMaMaMaMaMaMqdqdqdqdqdqdqdqdqdqdqdaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlqeqfqgqhqinlqjnwnwnlqkqkqkqlqlnlaMaMaMaMaMmumvmomomoibpykKpyibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqmqnqopLqpqpqpprpLpLprqqqrqsqtquqvprpipPqwpYpYqxqyqzqAqBqCqAqDqEqFpPpPpPpPpPpPpPpPpPpPqGqHqHqHqHqHqHqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMqKqLqLqLqLqLnlnwnwnwnlqjnwnwnwqMqNaMaMaMaMaMmJaMmomomoibibibibibmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqOqnpLpLpLpLpLpUpLpLprprprprprprprqPqQpPpPpPpPpPqyqDqAqRqSqAqDqDqDqTqUqUqUqUqUqUqUqUqVqGqWqXqXqXqXqXqYqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMqZrarbqLqLqLrcnwnwnwrdnwnwnwrerfrgaMaMaMaMaMmumvmvmomomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphrhprripLripLriprpLpLpLrjrkpipipipipirlrmqUqUqUqTqDqDqDqDqDqDqDqDqDqTqUqUqUqUqUqUqUqUqVqGrnrororororornqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrpqLqLqLqLqLrqnwnwnwrrnwnwnwnwrsrtaMaMaMaMaMmuaMaMmvmomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpiprprprprprprprpLpLrupLrkpipipipipirlrmqUqUqUqTqDqDqDqDqDqDqDqyqypPpPpPpPpPpPpPpPpPqdqGrnrororororornqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlrvqLqLqLrwnloZrxoZnlryryrznwrAnlaMaMaMaMaMaMaMaMaMmomomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpqprrBrCrDrBrEprpLpLpLrFrkpipipipipipipPpPpPpPpPqDqDqAqRqCqAqDrGrHpPrIrJrJrKpPrLrMrNqdqHrnrororororOrPqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlrQrRrSrTrUnlrVnwrWnlrXnlnlrYnlnlaMaMaMaMaMaMaMmuaMmvmomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqmqnrZrZrZrZrZpUpLpLprprprprprprprptpipPpXpYpZpPqDqDqAqRsaqAqDqyqypPsbsbsbsbpPscrMsdqdqHrnrororororoseqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlsfqLsgshnlnlnwsisjnlnlnlnwnwsknlaMaMaMaMaMaMaMmumvmvmomomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqOqnslrZrZrZrZprpLpLpLpLpLprpLsmsnprpipPqwpYpYqxqDqDqDqDqDqDqDqDqDpPsbsospsppPpPsqpPqdqHrnrorororosrrnqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlssstsunlaMnlsvsvsvnlaMnlnpswsxnlaMaMaMaMaMaMaMmuaMmvaMmomomomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphrhprprsyszszszprpLpRsApRpLpUpLsBsCprpipPpPpPpPpPpPpPsDpPpPpPqDqDqDsEsbsFsFsbsbsbsbsGqdqHrnrororororoseqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlsvsvsvnlaMnSsHsIsJnUaMnlsvsvsvnlaMaMaMaMaMaMaMmumvmvmvmvmvmomomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpirhprrZrZrZrZprpLsApRsApLprriprprqPpipPsKsLsMpPsNsOsOsOsPpPqDqDqDqDsbsbsbsbsQsbsbspqdqHrnrorororosRsSqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMnSsHsIsJnUaMaMaMaMaMaMaMnSsHsIsJnUaMaMaMaMaMaMaMmuaMmvaMmvaMaMmomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipirhprsTsUsVprpLpLpLpLpLprprprqPpipipPsWsXsYsZsOsOsOsOtapPqDqDqDsEtbsbsbsbtcsbsbtdqdqHrnrororororornqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipirhprprprprprprprprprprqPpipipipipPpPtetfpPpPpPtetgtfpPqDqDqDpPthtitititititjpPqdqHtktlrororotmtnqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipipipipipipipipipipipipipipipipipPtototototototototopPpPtppPpPtototototototopPqdqHtqtrtstststrttqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtuoWoWoWoWoWoWoWoWoWoWoWoWtvtvtvtvtvtvtvtvtvtvtvtvtwtwtwtwtwtwtwpPtxtytxpPtwtwtwtwtwtwtwtwqdqHqHtztAtAtAtBqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtCoWaMaMaMaMoWtDtEtFtGtGoWtHtItvtHtJtvtKtLtvtHtItvtMtwtNtOtPtQtRpPtxtytxpPtStTtUtVtVtwaMaMqdqHqHqHqHqHqHqHqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtWoWoWoWoWoWoWtXtYtYtYtZoWuatLtvuaubtvuatItvuauctvtMtwudueueueuepPtxtytxpPtVtVtVtVtVtwaMaMufufufufufufufufufufuftwtwtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtututututuoWuguhuiujukuloWumtYtYtYtZoWtvtvtvtvtvtvtvtvtvtvtvtvtMtwudueueueuepPpPtppPpPtVtVtVtVtVtwufufufufufufunuouptwuququqtwuquququququququqtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuusutuuuvuwugtYtYtYtYuxoWuytYtYtYuzoWuAuctvtHuctvuBtItvtHtLtvtMtwuCuDuEuFuGtwuHuHuHtwtVtVtVtVtVtwuIuJuIuKuLufuMuMuMuNuquququNuquOuPuOuquQuRuStwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuTuUuUuUuUuUuUuUuUuUuUuUuUuUuVuWuUuUuUuXuVuYuZvavboWvctYtYtYtYvdoWvetYtYtYvfoWuatIvguatItvuavhtvuavitvtMtwvjtwvkvlvmtwueueuetwvkvlvntwvotwvpvqvpvqvpuftwtwtwtwuququqtwvrvsuOvtvrvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututututututuoWvwtYtYtYtYvxoWvytYtYvzoWoWoWtutututututututututututMtwueuevAvBvBvBvBvBvBvBvBvBvCueuevDvpvpvpvpvpufvEuMuntwuququqtwvFvFvGvFvFvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuusvHvavIoWvJvKvLvMtYoWoWvNtYtYvOoWvPvQoWvRvRvRvRvRvRvSvTvUtutMtwueuevVvWvXvXvXvXvXvXvXvYudueueufvZwawbwcwdufweuMuotwuququqtwwfwfuMwfwfvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuTuUuUuUuUuUuUuUuUuUuUuUuUuUwhuWuUuUuUuXwhwiuZvawjoWtuoWoWoWtYoWwktYtYtYwloWwmwnwowpwpwpwpwpwpwqtututututuueuevVwrwsuewtwuwvuewswrudueueufufufufufufufweuMuotwuququqtwwwwwuMwwwwvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuuswxvawyoWwzwAwBoWtYoWwCwDtYtYwEoWwmwFtuwGwHwHwHwIwHwJtuwKwKwKtuueuewLwMwNwOwPwQwRwSwTwMwUueuetwwVwVwVwVwVtwtwuNtwtwtwuNtwtwuMuMuMuMuMvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwWpipipipipipipipipipipipipiwXphpipipirlwXwYwZwFxaoWxbtYxcoWxdoWoWoWxeoWoWoWwmwnxfxgxgxgxgxgxgxgxhxgxgxgxhueueuexiueuexjuexjueuexiueueuexkuququququqxkuququququququqxkwwwwwwwwwwvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMmo +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxloWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWxmxnwFxooWxpugxqoWtYxrtYxstYxtxuxutYxvtuxwxxxxxyxzxAxBtuxCxCxCtuueuevAxDxEwOxFuexGwSxHxDvCueuexkuququququqxkuququququququqxkwwwwwwwwwwtwuNuNtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwWpipipipipipipipipipipipipixIphpipipirlxIxJxKwFwnxLugtYtYxMtYxNtYwmwmxOxOwmwmxvtuxPxPxPxQxRxQxStututututuueuevVwMxTuexjuexjuexTwMudueuetwxUxVxVxVxWtwtwxXtwtwtwuNtwtwtwxYxYxYtwtwuququqxZuqyatwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxloWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWybycoWoWoWoWoWydoWyewmyfygyhyiwmxvtutuyjykylymynyoyjaMaMaMtwueuevVtwtwypyqueyrystwtwudueuetwaMaMaMaMaMtwytyutwuMyvuMuMywyxyyyyyyyztwuququPuPuquqyAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWyByCyDyEtYoWyFwmyfyGyGyiwmyHyIyJyjyKyLyMyNyOyjaMaMaMtwueuevVtwtwvkvlvlvlvntwtwudueuetwaMaMaMaMaMtwyuyutwyPyPyPuMywyyyyyyyyyQtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWyUtYtYtYtYtYtYoWyFtYtYwqwqwmwmwmwmyVyjyWyMyMyMyMyjaMaMaMtwueuewLyXyXyXyXyXyXyXyXyXwUueuetwaMaMaMaMaMtwyYyutwyPyZyPuMywywywywywywtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWzatYtYtYtYtYzboWzctYtYzdtYtYzezfzgzhyjyMyMyMyMziyjtwtwtwtwtwtwzjtwtwueueueueuetwtwtwtwtwtwaMaMaMaMaMtwzkyutwvEuMuMuMywaMaMaMaMaMtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWzlzlzmznzovNzpoWzczqzqoWzrzroWoWoWoWyjyMzsztzuzvyjzwzxzxzwzyzzuezAtwtwtwzBtwtwduaMaMaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwywaMaMaMaMaMzCuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzDmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnwgmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmn +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWoWoWoWoWoWoWoWoWzEzFzFzEaMaMaMyjyMzGzHzIzHyjzwzJzJzwzKzLuezAtwzMwUuewLzNtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzOuquqzPzPuquqzOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzQzRzRzRzRzSzSzRzRzTaMyjyMyMyMyMyMyjzwzxzxzwzUzLuezAtwudueueuevVtwaMaMaMaMaMaMaMaMaMaMaMzVzWzXzYaMaMaMaMaMaMaMaMaMtwzZuquququqAatwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcAdAeAfAgAgAhAhzRzTyjyjyjyjyjyjyjzwzwzwzwAizLuezAtwAjAkAjAlAjtwaMaMaMaMaMaMaMaMaMaMzVAmAnAoApzYaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcAqAgAgAgAgAgAgArAsaMaMaMaMaMaMtwAtzwAtzwzyzLueAuAvudueAwuexGywaMaMaMaMaMaMaMaMaMaMAxAyAzAzAAAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcABACADADADADADzRAEaMaMaMaMaMaMtwAtzwAtzwzKzLueAuAvuCuewtAFyqywaMaMaMaMaMaMaMaMaMaMAGAHAHAHAzAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAIzRzRzRzRzRzRzRzRAEaMaMaMaMaMaMaMtwAtzwAtzwzUAJxTAKALAjAMANAOAjywaMaMaMaMaMaMaMaMaMaMAxAPAHAQARAxASaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALALALALALALALALALALALALALALALALALALALALALALATueueAUvVywywywaMaMaMaMaMaMaMzVAVAWAGAXAYAVAYzYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBaBaBaBaBaBaBaBaBaBaBaBbBcBdBeBfBgBgBgBgBgALBhxDBiueueBjvVxDBhywaMaMaMaMaMaMaMAxBkAHBlBmBnBoBnAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBpBqBrBpBqBqBsBtBuBqBvBwBcBaBaBxBgBgBgBgBgALBhwrBiueueuevVwrBhywywywywywywaMaMAxByAHAHBzBABABBAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBpBCBDBEBFBGBGBGBGBGBGBHBIBcBaBaBfBgBgBgBgBgALBhwrBiueueueBJwrBhBKBKBKBKBKywaMaMAGByAHAHAGBLBLBLAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBMBNBOBNBPBNBNBNBNBNBNBNBQBaBaBaALALALALBRBSALBhwrBiueueueBTBUvlBVBVBVBVBVBVBVBWAxBXAHAHBYAYAYAYBZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaCaCbCcCdBFCeCeCeCeCeCeCfCgBcBaBaALChCiCjCkCkALClCmCnueueueueCoCpCpCpCpCpCqCrCsCrCtAHAHAHAHCuCuCvAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaCaBqCwCaBqBqBsBtBuBqCxBwBcBaBaALCyCzCACkCkCBCCCDueueueueueCoCpCpCpCpCpCqCEBVBWAxCFAHCvCGByAHCHAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBaBaBaBaBaBaBaBaBaBaBaBbBcBaBaALCICJCKCkCkCBCCCDueueueueCLCMBVCNCpCpCOCPywaMaMCGByAHCvCQByAHCvCGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALCRCRCRCRCRCRCRCRCRCRCRCRCRCSCSCSCTCTCRCUvYCVueueueBJCWBhCXCpCqCYCZywaMaMCQByAHCvCQByAHCvCQaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDaDbDbDbDcDdDeCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCRBhwrBiueueueBTDfBVDgCpCpDhDiywaMaMDjByAHCvCQByAHCvDjaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkDkDkDlDmDnDoDpCTDqDrDsDpCTCTCTCTCTCTCTCTCRBhwrDtueueueueCoCpCpCpCpCpCqCEBVBWAxBXAHCvDjByAHDuAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDvDkDkDkDwDmDxDyDpCTDqDzDADpCTCTDBDBDBDBDBDBCRDCDDDEDFDGDGDGDHDGDGCpCpCpCqCrCsCrDIAHAHAHAHAHAHCvAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDJDkDkDkDwDeCTCTCTCTCTCTCTCTCTDKDLDLDLDLDLDLCRCRCRCRCRDMDMCRCRCRCRCEBVBVBVBVBVBWAxzWzXDNAGDOAHBlAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDPDkDQDwDmDRDSDpCTDqDTDUDpCTDKDVDWDWDWDWDWCRDXDXDXDYDZDZEaEbEbCRBKBKBKBKywaMaMAxEcEdEeEfAxAPBlAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALEgDkDkEhDkDwDmEiEjDpCTDqEkElDpCTDKDWDWDWDWDWDWCREmEnEoEpDZDZDZEbEbCRywywywywywaMaMAGEeEeEeEqAxErErAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkDkDkEsDeCTCTCTCTCTCTCTCTCTDKDWDWEtEuEvEwCRExEyEzDZEAEBDZDZECCRaMaMaMaMaMaMaMAxEcEdEeEDEEEFEFBZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkEGDkDvEHEIEJEKEKEKELELELEMENEOEPEQELELELCRCRCRERESESEAETEUEBEVEWCRaMaMaMaMaMaMaMEXAXEYEYEYBZEZEZFaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkEHFbFcFdFdFdFdELFeFfFgFhFiFjFkFfFeELCRCRCRCRCRCRFlFmFnFoEVEWCRaMaMaMaMaMaMaMaMEXEZEZEZFaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALFpDkEHFbFcFcFdFdFdFdELFfFqFrFhFiFjFrFsFfELFtFuFvFwFxCRDZFlFoDZDZEAFyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkEHFbFcFcFcFdFdFdFdELFzFfFzFhFiFjFzFfFzELFADZDZDZDZFBDZDZDZDZDZFCFDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALEHFbFcFcFcFcFcFcFcFcELFEFfFfFhFiFjFfFfFFELFGFHFIFJFKCRDZDZDZDZDZFLFMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALALALALALALALELFNFOFOFhFiFjFPFPFQELFRFSFTFUFVCRFWFXFYFZGaGbCRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiFiFiFiFiFiFiFiFiFiFiELELGcELELFiELELGcELELELELELELELCRCRCRCRCRCRCRCRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELELELELGdELELELFiFiFiFiFiFiELFiELFiFiFiFiFiFiFiFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGeGfGfGfGfGgELELELELELELELELGhELELELELELELELELFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGeGfGfGfGfGgELGiGjGkGjGlGmGmGmGmGmGlGmGlGmGnELFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGoGfGfGfGfGpELGmGqGqGqGqGqGmGmGmGqGqGqGqGrGsELFiELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGoGtGuGuGfGfGvGmGmGwGxGwGmGmGmGmGmGwGxGwGyGmELFiFiFiFiFiFiFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELFiELELELELELELELELGmGqGqGqGqGqGmGmGmGqGqGqGqGzGmELELELELELELELFiELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEFiELELGAGAGAGAGAELGBGBGBGBGBGBGBGBGBGBGBGBGBGCGBELGDGDGDGDGDELFiFiFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELELELGEGEGEGEGEELGFGGGGGGGGGGGGGGGGGGGGGGGGGHGFELGEGEGEGEGEELELELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGKGKGKGLGMGGGGGGGGGGGGGGGGGGGGGGGGGHGNGLGOGOGOGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGQGKGQGKGLGMGGGGGGGGGGGGGGGGGGGGGGGGGHGNGLGOGRGOGRGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGSGKGKGLGMGGGGGGGGGGGTGUGTGGGGGGGGGHGNGLGOGOGVGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGKGKGKGLGMGGGGGGGGGGGWGXGWGGGGGGGGGHGNGLGOGOGOGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGQGKGQGKGLGMGGGGGGGGGGGZHaHbGGGGGGGGGHGNGLGOGRGOGRGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHdHcHcHcHeHeHeHcHcHeHeHeHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELFfHfGKGKGKGKGKGLGMGGGGGGGGGGGGHgGGGGGGGGGGGHGNGLGOGOGOGOGOHfFfELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHhHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHiGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELHjELHkHkHkHkHkELGFGGGGGGGGGGGGHgGGGGGGGGGGGHGFELHkHkHkHkHkELHjELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHlHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFNHmFfELHnHnHnHnHnELGBGBGBGBGBGBHoHpHoGBGBGBGBGCGBELHqHqHqHqHqELFfHrFQELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHhHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELFfELELELELELELELHsHtHtHtHtHtHuHvHsHtHtHtHtHwHsELELELELELELELFfELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHxHlHcHcHcHcHcHcHcHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFfFfFiFiFiFiFiELHsHsHyHsHyHsHsHzHAHsHyHsHyHBHsELFiFiFiFiFiFfFfELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELELELELELFiGcHsHsHsHCHCHCHsHsHsHCHCHCHCHCHsGcFiELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHDHEHcHcHcHcHcHcHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELHFHFHFHGHHHIHJHsHKHLHMHNHOHPHQELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHRHSHcHcHcHxHcHTHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELELELELELELELELELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHlHcHcHcHcHcHcHcHcHcHcHcHcHcHhHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHxHlHcHcHcHcHcHcHcHcHcHcHcHcHlHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHUHcHUHcHUHcHVHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHWHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXGY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHY +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIa aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM @@ -2177,31 +2176,30 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHZHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIaIbIcIdIeIfHYIgIhIiHYIjIkIlHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcImInIoIpIqIkIkIrHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIsIsIcIcIcItHYIuIvIwHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIxHYIyIyIzHYIAIBICIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIEIEIcIcIcIFHYIyIyIyIGIyIyIyIHHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIIIJIKaMIIIJIKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcILHYIMINIOHYIPIQIRIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMISITIUIUIUIVISaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcItHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIIIJIWIJIXIYKuLeJWIYJcIJIWIJIKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkGLJmJnHjHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMITIUIUIVISaMITIYJpJqJrIYIVaMISITIUIUIVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJsJtJgIcJuJuJuJuJvJwJxJwJxHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJyJzIYISITIYJAJBJCJBJDIYIVISIYJEJFIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJGJHJgIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJIJJIYIUJKJLJDJBJMJBJDJLJKIUIYJNJOIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJPJQJgIcJuJuJuJuJuJuJRJSJTHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJUJVIYIUJbJLJDJBJDJBJDJLJbIUIYJXJYIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJZKaIYIYIYIYIYIYKbIYIYIYIYIYIYKcKdIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKeKfKfKgKfKfKfKgKfKfKfKgKfKfKhHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJKKiKjKjKjKjKjKjIYKjIYKjKjKjKjKjKjKiJKIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKkKlKlJkKmKnKoJkKpKpKqJkKrKsKtHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJaKvKwKxKyKzIYKbIYKbIYKbIYKAKBKCKDKvJaIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKnKGKnJvKHKIKpJvKJKtKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJbKvJDJDJDKLIYJDJDJDJDJDIYJDJDKMJDKvJbIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMITIYKNKOKPJlHmIYJoJDJDJDKQIYKUKVKWKXKNIYIVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYKZKZIYIYIYIYKRJDJDJDKSIYIYIYIYKZKZIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYLdLdLcaMaMIYKTJDJDJDLaIYaMaMKYLdLdLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLbJDJDJDLaIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLhLiLjLhLiIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLkLlJDLmLnIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLoLpJDLqLrIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYLsLtLuIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYIYIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIcIcIcIcIcIcIcIcIcIcIcIcIdIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIeIfIgIhIiIjIcIkIlImIcInIoIpIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIgIqIrIsItIuIoIoIvIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIwIwIgIgIgIxIcIyIzIAIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIBIcICICIDIcIEIFIGIHIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIIIIIgIgIgIJIcICICICIKICICICILIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIMINIOaMIMINIOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIPIcIQIRISIcITIUIVIHIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIWIXIYIYIYIZIWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIxIcIcIcIcIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIMINJaINJbJcJdJeJfJcJgINJaINIOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJiJjJkIgJlJmJnJlJoJpJqJrJsIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIXIYIYIZIWaMIXJcJtJuJvJcIZaMIWIXIYIYIZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJwJxJkIgJyJyJyJyJzJAJBJAJBIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJCJDJcIWIXJcJEJFJGJFJHJcIZIWJcJIJJJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJKJLJkIgJyJyJyJyJyJyJyJyJyIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJMJNJcIYJOJPJHJFJQJFJHJPJOIYJcJRJSJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJTJUJkIgJyJyJyJyJyJyJVJWJXIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJYJZJcIYKaJPJHJFJHJFJHJPKaIYJcKbKcJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIgJyJyJyJyJyJyJyJyJyIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcKdKeJcJcJcJcJcJcKfJcJcJcJcJcJcKgKhJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKiKjKjKkKjKjKjKkKjKjKjKkKjKjKlIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJOKmKnKnKnKnKnKnJcKnJcKnKnKnKnKnKnKmJOIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKoKpKpJoKqKrKsJoKtKtKuJoKvKwKxIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYKyKzKAKBKCKDJcKfJcKfJcKfJcKEKFKGKHKzKyIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKpKIKoJzKrKJKrJzKKKLKtJzKMKxKNIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYKaKzJHJHJHKOJcJHJHJHJHJHJcJHJHKPJHKzKaIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIXJcKQKRKSKTKUJcKVJHJHJHKWJcKXKYKZLaKQJcIZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcLcLcJcJcJcJcLdJHJHJHLeJcJcJcJcLcLcJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbLgLgLfaMaMJcLhJHJHJHLiJcaMaMLbLgLgLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLjJHJHJHLiJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLkLlLmLkLlJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLnLoJHLpLqJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLrLsJHLtLuJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcLvLwJHJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcJcJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM "} - From 5c41f241837a00e520389ca0dfecc09e90a2ba77 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 3 Feb 2015 14:35:45 +0100 Subject: [PATCH 279/282] Cleans up exodus-2.dmm. --- maps/exodus-2.dmm | 4167 +++++++++++++++++++++++---------------------- 1 file changed, 2085 insertions(+), 2082 deletions(-) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index f53a074eef..28724abc1a 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -66,1077 +66,1077 @@ "bn" = (/turf/space/transit/east/shuttlespace_ew9,/area/space) "bo" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) "bp" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"br" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bs" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bt" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"bu" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"bv" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"bw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating) -"bx" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt) -"by" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt) -"bz" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt) -"bA" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"bB" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bC" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bD" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"bE" = (/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"bF" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"bG" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt) -"bH" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt) -"bI" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) -"bJ" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"bK" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"bL" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) -"bM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bN" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) -"bO" = (/turf/simulated/floor/holofloor{icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) -"bP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) -"bQ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"bS" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) -"bT" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) -"bU" = (/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) -"bV" = (/turf/simulated/floor/holofloor{icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) -"bW" = (/turf/simulated/floor/holofloor{icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) -"bX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"bY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"bZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"ca" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"cb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"cc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"cd" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) -"ce" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) -"cf" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) -"cg" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) -"ch" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) -"ci" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt) -"cj" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt) -"ck" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"cl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"cm" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) -"cn" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit) -"co" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) -"cp" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) -"cq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"cr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"cs" = (/turf/simulated/floor/holofloor{icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) -"ct" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"cu" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit) -"cv" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) -"cw" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) -"cx" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) -"cy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"cz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area/space) -"cA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area/space) -"cB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area/space) -"cC" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area/space) -"cD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area/space) -"cE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area/space) -"cF" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cG" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cH" = (/turf/simulated/floor/holofloor{icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) -"cI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"cJ" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit) -"cK" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) -"cL" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) -"cM" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) -"cN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"cO" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod5/transit) -"cP" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod5/transit) -"cQ" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod5/transit) -"cR" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod5/transit) -"cS" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area/space) -"cT" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) -"cU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"cV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"cW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area/space) -"cX" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit) -"cY" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) -"cZ" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) -"da" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) -"db" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area/space) -"dc" = (/turf/simulated/floor/holofloor{icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) -"dd" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) -"de" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) -"df" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) -"dg" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt) -"dh" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt) -"di" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt) -"dj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"dk" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) -"dl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"dm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"dn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area/space) -"do" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) -"dp" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit) -"dq" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit) -"dr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area/space) -"ds" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/space) -"dt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"du" = (/turf/unsimulated/wall,/area/space) -"dv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"dw" = (/turf/unsimulated/wall{icon_state = "iron11"},/area/space) -"dx" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit) -"dy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"dz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area/space) -"dA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area/space) -"dB" = (/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) -"dC" = (/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) -"dD" = (/turf/simulated/floor/holofloor{icon_state = "22"; dir = 5},/area/holodeck/source_space) -"dE" = (/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"dF" = (/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"dG" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball) -"dH" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"dI" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball) -"dJ" = (/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"dK" = (/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) -"dL" = (/turf/simulated/floor/beach/sand{tag = "icon-desert4"; icon_state = "desert4"},/area/holodeck/source_beach) -"dM" = (/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"dN" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dO" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dP" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"dQ" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) -"dR" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) -"dS" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) -"dT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"dU" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) -"dV" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"dW" = (/turf/simulated/floor/holofloor{icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) -"dX" = (/turf/simulated/floor/holofloor{icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) -"dY" = (/turf/simulated/floor/holofloor{icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) -"dZ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball) -"ea" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"eb" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball) -"ec" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"ed" = (/turf/simulated/floor/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/holodeck/source_beach) -"ee" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"ef" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) -"eg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eh" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"ei" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"ej" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt) -"ek" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) -"el" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) -"em" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"en" = (/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"eo" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"ep" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) -"eq" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit) -"er" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit) -"es" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit) -"et" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit) -"eu" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit) -"ev" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit) -"ew" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit) -"ex" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit) -"ey" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"ez" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) -"eA" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) -"eB" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) -"eC" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball) -"eD" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball) -"eE" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball) -"eF" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) -"eG" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eH" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"eI" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"eJ" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit) -"eK" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit) -"eL" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit) -"eM" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"eN" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) -"eO" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) -"eP" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) -"eQ" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball) -"eR" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball) -"eS" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball) -"eT" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"; dir = 2},/area/holodeck/source_beach) -"eU" = (/turf/simulated/floor/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/holodeck/source_beach) -"eV" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner (NORTH)"; icon_state = "beachcorner"; dir = 1},/area/holodeck/source_beach) -"eW" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"eX" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"eY" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"eZ" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fa" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fb" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) -"fc" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball) -"fd" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"fe" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball) -"ff" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/holodeck/source_beach) -"fg" = (/turf/simulated/floor/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"; dir = 2},/area/holodeck/source_beach) -"fh" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHWEST)"; icon_state = "beach"; dir = 10},/area/holodeck/source_beach) -"fi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fj" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fk" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) -"fl" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"fm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"fn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) -"fo" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) -"fp" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) -"fq" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball) -"fr" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"fs" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball) -"ft" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fu" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fv" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"fw" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fx" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fy" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt) -"fz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"fA" = (/turf/unsimulated/wall{icon_state = "iron5"},/area/space) -"fB" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) -"fC" = (/turf/unsimulated/wall{icon_state = "iron13"},/area/space) -"fD" = (/turf/unsimulated/wall{icon_state = "iron9"},/area/space) -"fE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"fF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"fG" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"fH" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership) -"fI" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) -"fJ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"fK" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fL" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fM" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"fN" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"fO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership) -"fP" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"fQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"fR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"fS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"fT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"fU" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"fV" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control) -"fW" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership) -"fX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"fY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"fZ" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit) -"ga" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit) -"gb" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit) -"gc" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit) -"gd" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit) -"ge" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit) -"gf" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit) -"gg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"gh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gi" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gj" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gk" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit) -"gl" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit) -"gm" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit) -"gn" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit) -"go" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit) -"gp" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit) -"gq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"gr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"gs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"gt" = (/turf/space,/area/syndicate_mothership/elite_squad) -"gu" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad) -"gv" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gw" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gx" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gy" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gz" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gA" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"gB" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"gC" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit) -"gD" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit) -"gE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"gF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"gG" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit) -"gH" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit) -"gI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"gJ" = (/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},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"gL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"gM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"gN" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit) -"gO" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit) -"gP" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit) -"gQ" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"gR" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gS" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"gT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"gU" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit) -"gV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"gW" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit) -"gX" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit) -"gY" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"gZ" = (/turf/space,/area/shuttle/escape_pod1/centcom) -"ha" = (/turf/space,/area/shuttle/escape_pod2/centcom) -"hb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"hc" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit) -"hd" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit) -"he" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit) -"hf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"hg" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"hh" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"hi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"hj" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit) -"hk" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit) -"hl" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit) -"hm" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"hn" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) -"ho" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"hp" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit) -"hq" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"hr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac) -"hs" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac) -"ht" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac) -"hu" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac) -"hv" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac) -"hw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"hx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"hy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) -"hz" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac) -"hA" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac) -"hB" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/centcom/evac) -"hC" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac) -"hD" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"hE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"hF" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac) -"hG" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hI" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) -"hJ" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/centcom/evac) -"hK" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"hM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hN" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"hP" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_2_recovery"; pixel_x = -25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"hQ" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/centcom/evac) -"hR" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) -"hS" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hT" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) -"hU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) -"hV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"hW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"hX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"hY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"hZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"ia" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) -"ib" = (/turf/unsimulated/wall,/area/syndicate_mothership) -"ic" = (/turf/simulated/shuttle/plating,/area/centcom/evac) -"id" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac) -"ie" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"if" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ig" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"ih" = (/obj/structure/stool,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ii" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ij" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"ik" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit) -"il" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) -"im" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) -"in" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) -"io" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) -"ip" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit) -"iq" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) -"ir" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) -"is" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) -"it" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) -"iu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iv" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iw" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"ix" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) -"iz" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"iA" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac) -"iB" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit) -"iC" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) -"iD" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) -"iE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) -"iF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) -"iG" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit) -"iH" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) -"iI" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) -"iJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) -"iK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) -"iL" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iM" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iN" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iO" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit) -"iP" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) -"iQ" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) -"iR" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit) -"iS" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) -"iT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) -"iU" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"iV" = (/obj/structure/table,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iW" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iX" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iY" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"iZ" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) -"ja" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) -"jb" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) -"jc" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) -"jd" = (/turf/space,/area/shuttle/escape_pod5/centcom) -"je" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jf" = (/turf/space,/area/shuttle/escape_pod3/centcom) -"jg" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"jh" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"ji" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jj" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"jk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) -"jl" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jm" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"jn" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"jo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"jp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"jq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"jr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"js" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"},/area/centcom/evac) -"jt" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"ju" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jv" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jw" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jx" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jy" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jz" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"jD" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jE" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jF" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jG" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jI" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jJ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"jK" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) -"jL" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership) -"jM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) -"jN" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jO" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"jP" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"jQ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jR" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jS" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"jT" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jU" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jV" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"jW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) -"jX" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jY" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"jZ" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"ka" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kb" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kc" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"kd" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"ke" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) -"kf" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kg" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"ki" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership) -"kk" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kl" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"km" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"kn" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"ko" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kp" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kq" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kr" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) -"ks" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kt" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"ku" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kv" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership) -"kw" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) -"kx" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) -"ky" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kz" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kA" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kB" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"kC" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kD" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) -"kE" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kG" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kH" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) -"kI" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/centcom/evac) -"kJ" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) -"kK" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kL" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"kM" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"kN" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kO" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kP" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kQ" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kR" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kS" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/tie/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kT" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) -"kU" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kV" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"kW" = (/obj/structure/table,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"kX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) -"kY" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"kZ" = (/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"la" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) -"lb" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"lc" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) -"ld" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"le" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"lf" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lg" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lh" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"li" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lj" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) -"lk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"ll" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lm" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"ln" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lo" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"lp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"lq" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) -"lr" = (/turf/simulated/floor/wood,/area/syndicate_mothership) -"ls" = (/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/syndicate_mothership) -"lt" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lu" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lv" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) -"lw" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lx" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"ly" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/syndicate_mothership) -"lz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/syndicate_mothership) -"lA" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lB" = (/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/shuttle/plating,/area/syndicate_mothership) -"lC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) -"lD" = (/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/syndicate_mothership) -"lE" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lF" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lG" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lI" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lJ" = (/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lK" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lL" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lM" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lN" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lO" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"lQ" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/syndicate_mothership) -"lR" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lS" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lT" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lU" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lV" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lW" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"lX" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lY" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"lZ" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"ma" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mb" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mc" = (/obj/machinery/door/blast/regular{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_mothership) -"md" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"me" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) -"mf" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership) -"mg" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mh" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) -"mi" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership) -"mj" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership) -"mk" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership) -"ml" = (/turf/unsimulated/wall,/area/start) -"mm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"mn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"mo" = (/turf/simulated/mineral,/area/space) -"mp" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) -"mq" = (/turf/unsimulated/wall{icon_state = "phoron6"},/area/alien) -"mr" = (/turf/unsimulated/wall{icon_state = "phoron12"},/area/alien) -"ms" = (/turf/unsimulated/wall{icon_state = "phoron14"},/area/alien) -"mt" = (/turf/unsimulated/wall{icon_state = "phoron10"},/area/alien) -"mu" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"mv" = (/obj/structure/lattice,/turf/space,/area/space) -"mw" = (/turf/unsimulated/wall{icon_state = "phoron3"},/area/alien) -"mx" = (/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"my" = (/turf/unsimulated/wall{icon_state = "phoron1"},/area/alien) -"mz" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mA" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mB" = (/turf/unsimulated/wall/splashscreen,/area/start) -"mC" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mD" = (/turf/unsimulated/wall{icon_state = "phoron2"},/area/alien) -"mE" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) -"mF" = (/turf/space,/area/shuttle/alien/base) -"mG" = (/turf/unsimulated/wall{icon_state = "phoron4"},/area/alien) -"mH" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) -"mI" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) -"mJ" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) -"mK" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mL" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mN" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) -"mO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mP" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mQ" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mR" = (/turf/unsimulated/wall{icon_state = "phoron5"},/area/alien) -"mS" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"mU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"mV" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"mW" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"mX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"mY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"mZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"na" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"nb" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"nc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nd" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ne" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nf" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ng" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nh" = (/obj/structure/table,/obj/machinery/chem_dispenser/soda{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"ni" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nj" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nk" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nl" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"nm" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nn" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"no" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"np" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nq" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nr" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"ns" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nt" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nu" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nv" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nw" = (/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nx" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ny" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nz" = (/obj/structure/table,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nA" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nB" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nD" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nE" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nF" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nG" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nH" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nI" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nJ" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) -"nK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nL" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nM" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nN" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nO" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nP" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) -"nQ" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nR" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"nS" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start) -"nT" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"nU" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"nV" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"nX" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"nY" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"nZ" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oa" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ob" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oc" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"od" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oe" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"of" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"og" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"oh" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"oi" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oj" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ok" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ol" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"om" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"on" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"oo" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"op" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oq" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) -"or" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"os" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ot" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ou" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) -"ov" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"ow" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bq" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"br" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"bs" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bt" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bu" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"bv" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) +"bw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) +"bx" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating) +"by" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt) +"bz" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt) +"bA" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt) +"bB" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"bC" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert) +"bD" = (/obj/structure/table/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"bE" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bF" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) +"bG" = (/turf/simulated/floor/holofloor{icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) +"bH" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) +"bI" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt) +"bJ" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt) +"bK" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) +"bL" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bM" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) +"bN" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) +"bO" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bP" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bR" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) +"bS" = (/turf/simulated/floor/holofloor{icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) +"bT" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"bU" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) +"bV" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) +"bX" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) +"bY" = (/turf/simulated/floor/holofloor{icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) +"bZ" = (/turf/simulated/floor/holofloor{icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) +"ca" = (/turf/simulated/floor/holofloor{icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) +"cb" = (/turf/simulated/floor/holofloor{icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) +"cc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"cd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"ce" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"cf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"cg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"ch" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"ci" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"cj" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) +"ck" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) +"cl" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) +"cm" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) +"cn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) +"co" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt) +"cp" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt) +"cq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"cr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"cs" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) +"ct" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit) +"cu" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) +"cv" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) +"cw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"cx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"cy" = (/turf/simulated/floor/holofloor{icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) +"cz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"cA" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit) +"cB" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) +"cC" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) +"cD" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) +"cE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"cF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area/space) +"cG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area/space) +"cH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area/space) +"cI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area/space) +"cJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area/space) +"cK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area/space) +"cL" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"cM" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) +"cN" = (/turf/simulated/floor/holofloor{icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) +"cO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"cP" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit) +"cQ" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) +"cR" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) +"cS" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) +"cT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"cU" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod5/transit) +"cV" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod5/transit) +"cW" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod5/transit) +"cX" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod5/transit) +"cY" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area/space) +"cZ" = (/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/turf/simulated/floor/holofloor{icon_state = "asteroid6"; dir = 2},/area/centcom/specops) +"da" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) +"db" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"dc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"dd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area/space) +"de" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit) +"df" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) +"dg" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) +"dh" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) +"di" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area/space) +"dj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"dk" = (/turf/simulated/floor/holofloor{icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) +"dl" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) +"dm" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) +"dn" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) +"do" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt) +"dp" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt) +"dq" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt) +"dr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"ds" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) +"dt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"du" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"dv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area/space) +"dw" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) +"dx" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit) +"dy" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit) +"dz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area/space) +"dA" = (/turf/unsimulated/wall{icon_state = "iron3"},/area/space) +"dB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"dC" = (/turf/unsimulated/wall,/area/space) +"dD" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"dE" = (/turf/unsimulated/wall{icon_state = "iron11"},/area/space) +"dF" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit) +"dG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"dH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area/space) +"dI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area/space) +"dJ" = (/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) +"dK" = (/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) +"dL" = (/turf/simulated/floor/holofloor{icon_state = "22"; dir = 5},/area/holodeck/source_space) +"dM" = (/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"dN" = (/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"dO" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball) +"dP" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) +"dQ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball) +"dR" = (/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"dS" = (/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) +"dT" = (/turf/simulated/floor/beach/sand{tag = "icon-desert4"; icon_state = "desert4"},/area/holodeck/source_beach) +"dU" = (/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"dV" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dW" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dX" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"dY" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) +"dZ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) +"ea" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) +"eb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"ec" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"ed" = (/turf/simulated/floor/holofloor{icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) +"ee" = (/turf/simulated/floor/holofloor{icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) +"ef" = (/turf/simulated/floor/holofloor{icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) +"eg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball) +"eh" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) +"ei" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball) +"ej" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"ek" = (/turf/simulated/floor/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/holodeck/source_beach) +"el" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"em" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/holodeck/source_beach) +"en" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eo" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"ep" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eq" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt) +"er" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) +"es" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) +"et" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"eu" = (/obj/structure/table/holotable/wood,/turf/simulated/floor/holofloor{icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) +"ev" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) +"ew" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand{tag = "icon-desert0"; icon_state = "desert0"},/area/holodeck/source_beach) +"ex" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit) +"ey" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit) +"ez" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit) +"eA" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit) +"eB" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit) +"eC" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit) +"eD" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit) +"eE" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit) +"eF" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"eG" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) +"eH" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) +"eI" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) +"eJ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball) +"eK" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball) +"eL" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball) +"eM" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) +"eN" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eO" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"eP" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) +"eQ" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit) +"eR" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit) +"eS" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit) +"eT" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"eU" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) +"eV" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) +"eW" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) +"eX" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball) +"eY" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball) +"eZ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball) +"fa" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"; dir = 2},/area/holodeck/source_beach) +"fb" = (/turf/simulated/floor/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/holodeck/source_beach) +"fc" = (/turf/simulated/floor/beach/sand{tag = "icon-beachcorner (NORTH)"; icon_state = "beachcorner"; dir = 1},/area/holodeck/source_beach) +"fd" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fe" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) +"ff" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fg" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fh" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball) +"fj" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) +"fk" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball) +"fl" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/holodeck/source_beach) +"fm" = (/turf/simulated/floor/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"; dir = 2},/area/holodeck/source_beach) +"fn" = (/turf/simulated/floor/beach/sand{tag = "icon-beach (SOUTHWEST)"; icon_state = "beach"; dir = 10},/area/holodeck/source_beach) +"fo" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fp" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fq" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{icon_state = "snow"},/area/holodeck/source_snowfield) +"fr" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) +"fs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"ft" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) +"fu" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) +"fv" = (/obj/structure/holostool,/turf/simulated/floor/holofloor{icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) +"fw" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball) +"fx" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) +"fy" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball) +"fz" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fA" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fB" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = 0},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt) +"fC" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fD" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fE" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt) +"fF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"fG" = (/turf/unsimulated/wall{icon_state = "iron5"},/area/space) +"fH" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{icon_state = "iron12"},/area/space) +"fI" = (/turf/unsimulated/wall{icon_state = "iron13"},/area/space) +"fJ" = (/turf/unsimulated/wall{icon_state = "iron9"},/area/space) +"fK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"fL" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"fM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"fN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership) +"fO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) +"fP" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"fQ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fR" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fS" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) +"fT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"fU" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership) +"fV" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) +"fW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"fX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"fY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"fZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"ga" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gb" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control) +"gc" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership) +"gd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"ge" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"gf" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit) +"gg" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit) +"gh" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit) +"gi" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit) +"gj" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit) +"gk" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit) +"gl" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit) +"gm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"gn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"go" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gp" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"gq" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit) +"gr" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit) +"gs" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit) +"gt" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit) +"gu" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit) +"gv" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit) +"gw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"gx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"gy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"gz" = (/turf/space,/area/syndicate_mothership/elite_squad) +"gA" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad) +"gB" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gC" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gD" = (/obj/effect/landmark{name = "Syndicate-Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gE" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gF" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"gG" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"gH" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"gI" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit) +"gJ" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit) +"gK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"gL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"gM" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit) +"gN" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit) +"gO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"gP" = (/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},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"gR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"gS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"gT" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit) +"gU" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit) +"gV" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit) +"gW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"gX" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gY" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) +"gZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"ha" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit) +"hb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"hc" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit) +"hd" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit) +"he" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"hf" = (/turf/space,/area/shuttle/escape_pod1/centcom) +"hg" = (/turf/space,/area/shuttle/escape_pod2/centcom) +"hh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"hi" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit) +"hj" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit) +"hk" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit) +"hl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"hm" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"hn" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"ho" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"hp" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit) +"hq" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit) +"hr" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit) +"hs" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"ht" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) +"hu" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) +"hv" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit) +"hw" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) +"hx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/centcom/evac) +"hy" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac) +"hz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac) +"hA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac) +"hB" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/centcom/evac) +"hC" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"hD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area/space) +"hE" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/centcom/evac) +"hF" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac) +"hG" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/centcom/evac) +"hH" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/centcom/evac) +"hI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"hJ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"hK" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/centcom/evac) +"hL" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hM" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hN" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/centcom/evac) +"hO" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/centcom/evac) +"hP" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"hR" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hS" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hT" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"hU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_2_recovery"; pixel_x = -25; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"hV" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/centcom/evac) +"hW" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/centcom/evac) +"hX" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hY" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) +"hZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area/space) +"ia" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"ib" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"ic" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"id" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) +"ie" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"if" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"ig" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area/space) +"ih" = (/turf/unsimulated/wall,/area/syndicate_mothership) +"ii" = (/turf/simulated/shuttle/plating,/area/centcom/evac) +"ij" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/centcom/evac) +"ik" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"il" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"im" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"in" = (/obj/structure/stool,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"io" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ip" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"iq" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit) +"ir" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) +"is" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) +"it" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area/space) +"iu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area/space) +"iv" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit) +"iw" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) +"ix" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) +"iy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area/space) +"iz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area/space) +"iA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iB" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iC" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iD" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"iE" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/centcom/evac) +"iF" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac) +"iG" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/centcom/evac) +"iH" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit) +"iI" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) +"iJ" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) +"iK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area/space) +"iL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area/space) +"iM" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit) +"iN" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) +"iO" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) +"iP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area/space) +"iQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) +"iR" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iS" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iT" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"iU" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit) +"iV" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) +"iW" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) +"iX" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit) +"iY" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) +"iZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area/space) +"ja" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"jb" = (/obj/structure/table,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jc" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jd" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"je" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jf" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) +"jg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area/space) +"jh" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) +"ji" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) +"jj" = (/turf/space,/area/shuttle/escape_pod5/centcom) +"jk" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jl" = (/turf/space,/area/shuttle/escape_pod3/centcom) +"jm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"jn" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"jo" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jp" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"jq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access_txt = "13"},/turf/unsimulated/floor,/area/centcom/evac) +"jr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"js" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jt" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"ju" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) +"jv" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) +"jw" = (/obj/machinery/door/blast/regular{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"jx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"jy" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc1"},/area/centcom/evac) +"jz" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"jA" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jC" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jD" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jE" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jF" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"jH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"jJ" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jK" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jL" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jM" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jN" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jO" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"jP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"jQ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) +"jR" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership) +"jS" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) +"jT" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jU" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"jV" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"jW" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jX" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jY" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"jZ" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ka" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kb" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kc" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) +"kd" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ke" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kf" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kg" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kh" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"ki" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"kj" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"kk" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/centcom/evac) +"kl" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"km" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"ko" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_mothership) +"kq" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kr" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_mothership) +"ks" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) +"kt" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"ku" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kv" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kw" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kx" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac) +"ky" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kz" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kA" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership) +"kC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) +"kD" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) +"kE" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kF" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kG" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kH" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) +"kI" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac) +"kK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kL" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kM" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kN" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/centcom/evac) +"kO" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/centcom/evac) +"kP" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac) +"kQ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kR" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"kS" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"kT" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kU" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"kV" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kW" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kX" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"kY" = (/obj/structure/closet/syndicate/personal,/obj/item/clothing/tie/storage/brown_vest,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"kZ" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) +"la" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"lb" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"lc" = (/obj/structure/table,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ld" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area/space) +"le" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lf" = (/turf/simulated/shuttle/plating,/area/syndicate_mothership) +"lg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) +"lh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"li" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) +"lj" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) +"lk" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"ll" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lm" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"ln" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lo" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lp" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac) +"lq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) +"lr" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ls" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lt" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lu" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"lv" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) +"lw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) +"lx" = (/turf/simulated/floor/wood,/area/syndicate_mothership) +"ly" = (/turf/simulated/floor/wood{icon_state = "wood-broken6"},/area/syndicate_mothership) +"lz" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lA" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lB" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/centcom/evac) +"lC" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lE" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/syndicate_mothership) +"lF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{icon_state = "wood-broken4"},/area/syndicate_mothership) +"lG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lH" = (/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/shuttle/plating,/area/syndicate_mothership) +"lI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) +"lJ" = (/turf/simulated/floor/wood{icon_state = "wood-broken"},/area/syndicate_mothership) +"lK" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lL" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lM" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lO" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lP" = (/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lQ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lR" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lS" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lT" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lU" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"lV" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"lW" = (/turf/simulated/floor/wood{icon_state = "wood-broken3"},/area/syndicate_mothership) +"lX" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lY" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"lZ" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"ma" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mb" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mc" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"md" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"me" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mf" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mg" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership) +"mh" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mi" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"mj" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) +"mk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ml" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership) +"mm" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mn" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_mothership) +"mo" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership) +"mp" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership) +"mq" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership) +"mr" = (/turf/unsimulated/wall,/area/start) +"ms" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"mt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"mu" = (/turf/simulated/mineral,/area/space) +"mv" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) +"mw" = (/turf/unsimulated/wall{icon_state = "phoron6"},/area/alien) +"mx" = (/turf/unsimulated/wall{icon_state = "phoron12"},/area/alien) +"my" = (/turf/unsimulated/wall{icon_state = "phoron14"},/area/alien) +"mz" = (/turf/unsimulated/wall{icon_state = "phoron10"},/area/alien) +"mA" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) +"mB" = (/obj/structure/lattice,/turf/space,/area/space) +"mC" = (/turf/unsimulated/wall{icon_state = "phoron3"},/area/alien) +"mD" = (/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mE" = (/turf/unsimulated/wall{icon_state = "phoron1"},/area/alien) +"mF" = (/obj/item/weapon/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mG" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mH" = (/turf/unsimulated/wall/splashscreen,/area/start) +"mI" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mJ" = (/turf/unsimulated/wall{icon_state = "phoron2"},/area/alien) +"mK" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) +"mL" = (/turf/space,/area/shuttle/alien/base) +"mM" = (/turf/unsimulated/wall{icon_state = "phoron4"},/area/alien) +"mN" = (/turf/unsimulated/wall{icon_state = "phoron13"},/area/alien) +"mO" = (/turf/unsimulated/wall{icon_state = "phoron9"},/area/alien) +"mP" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/space) +"mQ" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mR" = (/obj/structure/table,/obj/effect/landmark{name = "Nuclear-Code"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mT" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor{icon_state = "floor5"},/area/alien) +"mU" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mV" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mW" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mX" = (/turf/unsimulated/wall{icon_state = "phoron5"},/area/alien) +"mY" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"mZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"na" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nc" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"nd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"ne" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nf" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ng" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"ni" = (/obj/structure/table,/obj/machinery/chem_dispenser/soda{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nj" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nk" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nm" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nn" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"no" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"np" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nq" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nr" = (/obj/structure/table,/obj/item/weapon/folder{pixel_y = 2},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"ns" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nt" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nv" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"nw" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"nx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"ny" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"nz" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"nA" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"nB" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"nC" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = null; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nD" = (/obj/structure/table/reinforced,/obj/item/weapon/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nE" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership) +"nF" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nG" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nH" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) +"nI" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nJ" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nK" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nL" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nM" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nN" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"nO" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nP" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/ammo_magazine/a12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nR" = (/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"nT" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"nV" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"nW" = (/obj/machinery/shower{pixel_y = 32},/obj/item/weapon/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"nX" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nY" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"nZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oa" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ob" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"oc" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"od" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"oe" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"of" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 15},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"og" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oh" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/weapon/pen{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"oj" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"ok" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"ol" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"om" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start) +"on" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oo" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start) +"op" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oq" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"or" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"os" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "17"; dir = 5},/area/holodeck/source_space) +"ot" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/space) +"ou" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"ov" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"ow" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) "ox" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oy" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oz" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oA" = (/obj/item/device/radio/electropack,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oB" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oC" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oD" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oE" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "synd_airlock"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; tag_airpump = "synd_pump"; tag_chamber_sensor = "synd_sensor"; tag_exterior_door = "synd_outer"; tag_interior_door = "synd_inner"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oG" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"oH" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oI" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oJ" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oK" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oL" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_station/start) -"oM" = (/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oN" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) -"oO" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oP" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oQ" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oR" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oT" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oU" = (/obj/structure/table/rack,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/jetpack/carbondioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oV" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"oW" = (/turf/unsimulated/wall,/area/centcom) -"oX" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oY" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVent"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"oZ" = (/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/shuttle/plating,/area/syndicate_station/start) -"pa" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_inner"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) -"pc" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) -"pd" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pe" = (/obj/structure/table/rack,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/pinpointer/nukeop,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pf" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pg" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom) -"ph" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom) -"pi" = (/turf/unsimulated/floor{name = "plating"},/area/centcom) -"pj" = (/obj/machinery/vending/cigarette{contraband = newlist(); premium = newlist(); prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 20); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pk" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/flasher_button{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pl" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pm" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"po" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pp" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pq" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"pr" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"ps" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pt" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"pu" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pv" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pw" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"px" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"pz" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"pA" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pB" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pC" = (/obj/machinery/microwave,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "101"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pE" = (/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pF" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pG" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pH" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pI" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pJ" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pK" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"pL" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pM" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"pN" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pO" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pP" = (/turf/unsimulated/wall,/area/centcom/living) -"pQ" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pR" = (/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pS" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pT" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pU" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pV" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pW" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"pX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"pY" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"pZ" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"qa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"qb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) -"qd" = (/turf/unsimulated/wall,/area/centcom/suppy) -"qe" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qf" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qg" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qh" = (/obj/structure/table,/obj/item/roller{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qi" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = null; req_access_txt = "150"},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qj" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qk" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ql" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"qn" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"qo" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qp" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qq" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qr" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qs" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qt" = (/obj/machinery/robotic_fabricator,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qu" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Thunderdome Autolathe"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qv" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"qw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"qx" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qy" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qz" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qA" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qB" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qC" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qD" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qE" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qF" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"qG" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/suppy) -"qH" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) -"qI" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/suppy) -"qJ" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) -"qK" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"qL" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"qM" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"qN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"qO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"qP" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"qQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"qR" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qS" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"qT" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"qU" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"qV" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/living) -"qW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/supply/dock) -"qX" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/supply/dock) -"qY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/supply/dock) -"qZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"ra" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rb" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rc" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rd" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"re" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rf" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rh" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"ri" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rj" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rk" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) -"rl" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom) -"rm" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"rn" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/supply/dock) -"ro" = (/turf/simulated/shuttle/floor,/area/supply/dock) -"rp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters_infirmary"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rq" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rr" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rs" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "syndieshutters_workshop"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"ru" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rv" = (/obj/machinery/door_control{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25; req_access_txt = "0"},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rw" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rx" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"ry" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rz" = (/obj/machinery/door_control{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rA" = (/obj/machinery/door_control{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rB" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rC" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rD" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rE" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"rF" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"rG" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"rH" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"rI" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rJ" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"rK" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living) -"rL" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rM" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rN" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"rO" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) -"rP" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) -"rQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rR" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rS" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rT" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rU" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"rV" = (/obj/item/weapon/weldingtool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rW" = (/obj/structure/sign/securearea{name = "\improper CAUTION"; pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rX" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"rY" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"rZ" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sa" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) -"sb" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sc" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"sd" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"se" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock) -"sf" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sg" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sh" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"si" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sj" = (/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sk" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sl" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sm" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/shuttle/administration/centcom) -"sn" = (/obj/structure/bookcase,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/shuttle/administration/centcom) -"so" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sp" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sq" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"sr" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;31"; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) -"ss" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"st" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"su" = (/obj/structure/table,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"sv" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) -"sw" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sx" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"sy" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sz" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sA" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"sB" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/shuttle/administration/centcom) -"sC" = (/turf/simulated/floor{icon_state = "chapel"},/area/shuttle/administration/centcom) -"sD" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"sE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"sF" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sG" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sH" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start) -"sI" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start) -"sJ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start) -"sK" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) -"sL" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"sM" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) -"sN" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sO" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sP" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sQ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"sR" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) -"sS" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) -"sT" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sU" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sV" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"sW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) -"sX" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) -"sY" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) -"sZ" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/living) -"ta" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"tb" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"tc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"td" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"te" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"th" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"ti" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"tk" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/supply/dock) -"tl" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/supply/dock) -"tm" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/supply/dock) -"tn" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/supply/dock) -"to" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/living) -"tp" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"tq" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/supply/dock) -"tr" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/supply/dock) -"ts" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock) -"tt" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/supply/dock) -"tu" = (/turf/unsimulated/wall,/area/centcom/specops) -"tv" = (/turf/unsimulated/wall,/area/prison/solitary) -"tw" = (/turf/unsimulated/wall,/area/centcom/control) -"tx" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"ty" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/living) -"tz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/space,/area/supply/dock) -"tA" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock) -"tB" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/space,/area/supply/dock) -"tC" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"tD" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"tE" = (/obj/machinery/shield_gen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"tF" = (/obj/machinery/shield_capacitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tG" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tH" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tI" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tJ" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tK" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"tL" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"tM" = (/turf/space,/area/centcom/control) -"tN" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) -"tO" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tP" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tQ" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"tR" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) -"tS" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tT" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tU" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tV" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"tW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"tX" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"tY" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"tZ" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"ua" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"ub" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"uc" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary) -"ud" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"ue" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"uf" = (/turf/unsimulated/wall,/area/centcom/test) -"ug" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"uh" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"ui" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uj" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uk" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"ul" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"um" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"un" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uo" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"up" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uq" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"ur" = (/turf/space,/area/centcom/specops) -"us" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"ut" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"uu" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"uv" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops) -"uw" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"ux" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uy" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"uz" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"uA" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"uB" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"uC" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control) -"uD" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uE" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uF" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"uG" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control) -"uH" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control) -"uI" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uJ" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uK" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uL" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"uM" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uN" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uO" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"uP" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"uQ" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uR" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uS" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"uT" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"uU" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"uV" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"uW" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops) -"uX" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/specops) -"uY" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"uZ" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) -"va" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vb" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vc" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vd" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"ve" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"vf" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vg" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary) -"vh" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary) -"vi" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"vj" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"vk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"vo" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"vp" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"vq" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) -"vr" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vs" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vt" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"vu" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vw" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vx" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"vy" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"vz" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vA" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) -"vB" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"vC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) -"vD" = (/obj/machinery/door/airlock/centcom{name = "Research Facility"; opacity = 1; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/test) -"vE" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"vH" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"vI" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"vK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vL" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vM" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vN" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"oy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oz" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oA" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oB" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oC" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oD" = (/obj/effect/landmark{name = "Syndicate-Uplink"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oE" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oF" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) +"oG" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 0; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) +"oJ" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oK" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oL" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/ammo_magazine/a762,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"oM" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"oN" = (/turf/unsimulated/wall,/area/centcom) +"oO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"oP" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_mothership) +"oQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"oR" = (/obj/structure/table/rack,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/ammo_magazine/c9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"oS" = (/obj/structure/table/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"oT" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom) +"oU" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom) +"oV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom) +"oW" = (/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oX" = (/obj/machinery/flasher{id = "syndieflash"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oY" = (/obj/item/device/radio/electropack,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"oZ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pa" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"pb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1331; id_tag = "synd_airlock"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; tag_airpump = "synd_pump"; tag_chamber_sensor = "synd_sensor"; tag_exterior_door = "synd_outer"; tag_interior_door = "synd_inner"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pc" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pd" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"pe" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"pf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pg" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"ph" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor5"},/area/syndicate_station/start) +"pi" = (/obj/structure/toilet{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"pj" = (/obj/item/weapon/cigbutt,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/syndicate_station/start) +"pk" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pl" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pn" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"po" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"pp" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"pq" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pr" = (/obj/machinery/vending/cigarette,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"ps" = (/obj/machinery/microwave,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pt" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "101"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pu" = (/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"px" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access_txt = "150"},/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/machinery/vending/assist{contraband = null; name = "AntagCorpVent"; products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pz" = (/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/shuttle/plating,/area/syndicate_station/start) +"pA" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_inner"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pC" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"pD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pF" = (/turf/unsimulated/wall,/area/centcom/living) +"pG" = (/obj/machinery/vending/cigarette{contraband = newlist(); premium = newlist(); prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 20); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/flasher_button{id = "syndieflash"; name = "Flasher"; pixel_x = 27; pixel_y = 0; tag = "permflash"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pI" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pJ" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{dir = 4; name = "Blast Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pK" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"pL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) +"pM" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pN" = (/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pO" = (/obj/item/weapon/flame/lighter/zippo,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pP" = (/obj/item/weapon/storage/fancy/cigarettes,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pQ" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pR" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pS" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"pT" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pU" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pV" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"pW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"pX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"pY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/living) +"pZ" = (/turf/unsimulated/wall,/area/centcom/suppy) +"qa" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qb" = (/obj/machinery/door/window{dir = 4; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qc" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qd" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qe" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom) +"qf" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) +"qg" = (/obj/machinery/vending/snack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qh" = (/obj/structure/stool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qi" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qj" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qk" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"ql" = (/obj/machinery/robotic_fabricator,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qm" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Thunderdome Autolathe"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qn" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) +"qp" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qq" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qr" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qt" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qu" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qv" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qw" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qx" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"qy" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/suppy) +"qz" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) +"qA" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/suppy) +"qB" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) +"qC" = (/obj/structure/closet{name = "custodial"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qD" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Brig"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qE" = (/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "Preparation"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qF" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"qG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) +"qH" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"qI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"qJ" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qK" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"qL" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"qM" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"qN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/living) +"qO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/supply/dock) +"qP" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/supply/dock) +"qQ" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/supply/dock) +"qR" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) +"qS" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qT" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"qU" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/shuttle/administration/centcom) +"qV" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom) +"qW" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"qX" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/supply/dock) +"qY" = (/turf/simulated/shuttle/floor,/area/supply/dock) +"qZ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"ra" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rb" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4; start_pressure = 740.5},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rc" = (/obj/structure/table,/obj/item/roller{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"re" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rf" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rg" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rh" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"ri" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"rj" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rk" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rl" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership) +"rm" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rn" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"ro" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rp" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rq" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"rr" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rt" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"ru" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rv" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living) +"rw" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"ry" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) +"rA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) +"rB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rC" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rD" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rE" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rF" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rG" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rH" = (/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rJ" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/centcom/living) +"rL" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rM" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rN" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"rO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock) +"rP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rQ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"rR" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rS" = (/obj/structure/table,/obj/item/device/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"rT" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) +"rU" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"rV" = (/obj/structure/table/reinforced,/obj/machinery/librarycomp,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/shuttle/administration/centcom) +"rW" = (/obj/structure/bookcase,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/shuttle/administration/centcom) +"rX" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"rZ" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) +"sa" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;31"; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) +"sb" = (/obj/machinery/door_control{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25; req_access_txt = "0"},/obj/structure/mopbucket,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sc" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sd" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"se" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sf" = (/obj/machinery/door_control{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sg" = (/obj/machinery/door/window/northright{icon_state = "right"; dir = 2},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sh" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"si" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"sj" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/shuttle/administration/centcom) +"sk" = (/turf/simulated/floor{icon_state = "chapel"},/area/shuttle/administration/centcom) +"sl" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) +"sm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"sn" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"so" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sq" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sr" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"ss" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/adv{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"st" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"su" = (/obj/item/weapon/weldingtool,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sv" = (/obj/structure/table,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = null; req_access_txt = "150"},/obj/item/bodybag,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sw" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"sx" = (/obj/structure/table,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) +"sy" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) +"sz" = (/obj/machinery/sleeper,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) +"sA" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sB" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sD" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) +"sF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/supply/dock) +"sG" = (/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/weapon/circular_saw{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sH" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sI" = (/obj/machinery/door_control{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_x = 0; pixel_y = -25; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sJ" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sK" = (/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"sL" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sM" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sN" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) +"sO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) +"sP" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) +"sQ" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) +"sR" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/living) +"sS" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) +"sT" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sV" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sW" = (/obj/structure/table,/obj/item/weapon/cautery,/obj/item/weapon/hemostat,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sX" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sY" = (/obj/structure/table,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/retractor,/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) +"sZ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) +"ta" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"tb" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"tc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"td" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"te" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"tg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"th" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) +"ti" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/supply/dock) +"tj" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/supply/dock) +"tk" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/supply/dock) +"tl" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/supply/dock) +"tm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start) +"tn" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start) +"to" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start) +"tp" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/living) +"tq" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) +"tr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/supply/dock) +"ts" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/supply/dock) +"tt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock) +"tu" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/supply/dock) +"tv" = (/turf/unsimulated/wall,/area/centcom/specops) +"tw" = (/turf/unsimulated/wall,/area/prison/solitary) +"tx" = (/turf/unsimulated/wall,/area/centcom/control) +"ty" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) +"tz" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/living) +"tA" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/space,/area/supply/dock) +"tB" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock) +"tC" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/space,/area/supply/dock) +"tD" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/emps,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/obj/item/weapon/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tE" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"tF" = (/obj/machinery/shield_gen,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"tG" = (/obj/machinery/shield_capacitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tH" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tI" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tJ" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tK" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tL" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) +"tM" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"tN" = (/turf/space,/area/centcom/control) +"tO" = (/obj/machinery/telecomms/receiver/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) +"tP" = (/obj/machinery/telecomms/bus/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tQ" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tR" = (/obj/machinery/telecomms/server/presets/centcomm,/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"tS" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) +"tT" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tU" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tV" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tW" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) +"tX" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"tY" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"tZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"ua" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"ub" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"uc" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) +"ud" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary) +"ue" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"uf" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"ug" = (/turf/unsimulated/wall,/area/centcom/test) +"uh" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"ui" = (/obj/structure/table/rack,/obj/item/weapon/gun/grenadelauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uj" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/obj/item/weapon/storage/backpack/ert/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"ul" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"um" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"un" = (/obj/structure/table/reinforced,/obj/item/weapon/circuitboard/aiupload,/obj/item/weapon/circuitboard/borgupload,/obj/item/weapon/circuitboard/smes,/obj/item/weapon/aiModule/nanotrasen,/obj/item/weapon/aiModule/reset,/obj/item/weapon/aiModule/freeformcore,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/quarantine,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/obj/item/weapon/aiModule/safeguard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"up" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uq" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"ur" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"us" = (/turf/space,/area/centcom/specops) +"ut" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"uu" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) +"uv" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"uw" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops) +"ux" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"uy" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"uz" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/stack/sheet/glass/reinforced{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"uA" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"uB" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) +"uC" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) +"uD" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/control) +"uE" = (/obj/machinery/telecomms/broadcaster/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uF" = (/obj/machinery/telecomms/hub/preset_cent,/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uG" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"uH" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/control) +"uI" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control) +"uJ" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uK" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uL" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uM" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"uN" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uO" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uP" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"uQ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"uR" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uS" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uT" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"uU" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"uV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"uW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"uX" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops) +"uY" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 4},/area/centcom/specops) +"uZ" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"va" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) +"vb" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vd" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"ve" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vf" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"vg" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vh" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary) +"vi" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary) +"vj" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) +"vk" = (/obj/machinery/door/airlock/centcom{name = "Maintenance Access"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"vl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"vp" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"vq" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"vr" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test) +"vs" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vt" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vu" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"vv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vw" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vx" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vy" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"vz" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"vA" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vB" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) +"vC" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) +"vD" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) +"vE" = (/obj/machinery/door/airlock/centcom{name = "Research Facility"; opacity = 1; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/test) +"vF" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vG" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"vI" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) +"vJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"vK" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vL" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"vM" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"vN" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "vO" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"vP" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"vP" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "vQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vR" = (/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom_officer,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) "vS" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "vT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"vU" = (/turf/simulated/floor/holofloor{icon_state = "asteroid"; dir = 2},/turf/simulated/floor/holofloor{icon_state = "asteroid6"; dir = 2},/area/centcom/specops) +"vU" = (/obj/structure/sign/securearea{name = "\improper CAUTION"; pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "vV" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) "vW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "vX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) @@ -1149,10 +1149,10 @@ "we" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "wf" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) "wg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"wh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wh" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) "wi" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) "wj" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"wk" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/obj/item/weapon/storage/backpack/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wk" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wl" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "wm" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "wn" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom) @@ -1170,999 +1170,1001 @@ "wz" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "wA" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/weapon/stamp/centcomm,/turf/unsimulated/floor{icon_state = "blue"},/area/centcom) "wB" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"wC" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/weapon/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"wC" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"wD" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "wE" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"wF" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wI" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"wJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"wK" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"wL" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) -"wM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"wN" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wP" = (/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) -"wQ" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wS" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wT" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"wU" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) -"wV" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/control) -"wW" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"wX" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"wY" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"wZ" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) -"xa" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xd" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xe" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xf" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"xg" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"xh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) -"xi" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xj" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xk" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"xl" = (/turf/space,/area/centcom) -"xm" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"xn" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom) -"xo" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xp" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/command,/obj/item/clothing/head/helmet/ert/command,/obj/item/weapon/storage/backpack/ert/commander,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"xq" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xr" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xs" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xt" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xu" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xv" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"xw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xz" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"xA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xC" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"xD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"xE" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xF" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xG" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xH" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xI" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"xJ" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) -"xK" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) -"xL" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Mechbay "; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xM" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xN" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"xO" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"xP" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops) -"xQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"xR" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"xS" = (/turf/unsimulated/floor{dir = 6; icon_state = "asteroid8"; name = "sand"},/area/centcom/specops) -"xT" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"xU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"xX" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) -"xY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) -"xZ" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"ya" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"yb" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yd" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"ye" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yf" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yh" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yj" = (/turf/unsimulated/wall,/area/centcom/creed) -"yk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"ym" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed) -"yn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) -"yp" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yq" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yr" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"ys" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"yt" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"yu" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"yv" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"yw" = (/turf/unsimulated/wall,/area/centcom/evac) -"yx" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yy" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yz" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yB" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yC" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"yD" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yE" = (/obj/structure/table/rack,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/rig/ert/medical,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yF" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; on = 0; req_one_access = list(103); req_one_access_txt = "103"; use_power = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yG" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"yH" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yI" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yJ" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yK" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yL" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yM" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yN" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yO" = (/obj/structure/bookcase{name = "bookcase (Reports)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yP" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"yQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) -"yR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"yS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"yT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"yU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"yV" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"yW" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"yX" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"yY" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) -"yZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) -"za" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zb" = (/obj/structure/table/reinforced,/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/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"zc" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"ze" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zf" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/obj/item/clothing/tie/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zg" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zh" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"zi" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zj" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"zk" = (/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) -"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zm" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zn" = (/obj/structure/closet/crate/medical,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/bonesetter,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/hemostat{pixel_y = 4},/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zo" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zp" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"zq" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"zr" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) -"zs" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zt" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zu" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zv" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zw" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zx" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) -"zz" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"zA" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"zB" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"zC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) -"zD" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) -"zE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"zF" = (/turf/unsimulated/floor{icon_state = "loadingarea"},/area/centcom/specops) -"zG" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{name = "Spec Ops Ready Room"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 15; req_access_txt = "11"; id = "CREED"},/obj/machinery/door_control{name = "Mech Storage"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 0; req_access_txt = "11"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"zI" = (/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) -"zJ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"zK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor,/area/centcom/control) -"zL" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"zM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) -"zN" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) -"zO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) -"zP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"zQ" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"zR" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom) -"zS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"zT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"zU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor,/area/centcom/control) -"zV" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom) -"zW" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"zX" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"zY" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom) -"zZ" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"Aa" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"Ab" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"Ac" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) -"Ad" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ae" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Af" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ag" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ah" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ai" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor,/area/centcom/control) -"Aj" = (/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},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"Ak" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"Al" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"Am" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom) -"An" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Ao" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Ap" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom) -"Aq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"Ar" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"As" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) -"At" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) -"Au" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"Av" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"Aw" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"Ax" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) -"Ay" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Az" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AA" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AB" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"AC" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"AD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"AE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"AF" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AG" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"AH" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AI" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"AJ" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"AK" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"AL" = (/turf/unsimulated/wall,/area/centcom/ferry) -"AM" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AN" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/skills{icon_state = "medlaptop"; pixel_x = 3; pixel_y = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AO" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"AP" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AQ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AR" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AS" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_space"},/area/shuttle/escape/centcom) -"AT" = (/obj/machinery/atm{pixel_x = -26},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"AU" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"AV" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom) -"AW" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"AX" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) -"AY" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom) -"AZ" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/ferry) -"Ba" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bc" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/ferry) -"Bd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Be" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Bg" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"Bh" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control) -"Bi" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"Bj" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/control) -"Bk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Bl" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Bm" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/escape/centcom) -"Bn" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bo" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"Bp" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/transport1/centcom) -"Bq" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom) -"Br" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/transport1/centcom) -"Bs" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Bt" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Bu" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"Bv" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom) -"Bw" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom) -"Bx" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"By" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Bz" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"BA" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"BB" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"BC" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/shuttle/transport1/centcom) -"BD" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BE" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/transport1/centcom) -"BF" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom) -"BG" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BH" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"BI" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom) -"BJ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) -"BK" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac) -"BL" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"BM" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"BN" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BP" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BQ" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"BR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/ferry) -"BS" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"BT" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) -"BU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"BV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"BW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"BX" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"BY" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/escape/centcom) -"BZ" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom) -"Ca" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/transport1/centcom) -"Cb" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/transport1/centcom) -"Cc" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"Cd" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/shuttle/transport1/centcom) -"Ce" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"Cf" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"Cg" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom) -"Ch" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/ferry) -"Ci" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/ferry) -"Cj" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/ferry) -"Ck" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/ferry) -"Cl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Cm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"Cn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) -"Co" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"Cp" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"Cq" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"Cr" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) -"Cs" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) -"Ct" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Cu" = (/obj/structure/closet/hydrant{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Cv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Cw" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/transport1/centcom) -"Cx" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) -"Cy" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/ferry) -"Cz" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/ferry) -"CA" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/ferry) -"CB" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"CC" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"CD" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"CE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CF" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"CG" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"CH" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"CI" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/ferry) -"CJ" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/ferry) -"CK" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/ferry) -"CL" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) -"CM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CO" = (/turf/unsimulated/floor{icon_state = "warning"},/area/centcom/evac) -"CP" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/evac) -"CQ" = (/obj/structure/window/shuttle{icon_state = "window3"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"CR" = (/turf/unsimulated/wall,/area/centcom/holding) -"CS" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"CT" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"CU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"CV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) -"CW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"CX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"CY" = (/obj/machinery/turretcover{density = 1},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac) -"CZ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/evac) -"Da" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"Db" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"Dc" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"Dd" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/structure/closet/athletic_mixed,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"De" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) -"Df" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"Dg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"Dh" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/evac) -"Di" = (/turf/unsimulated/floor{dir = 5; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"Dj" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) -"Dk" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"Dl" = (/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Dm" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) -"Dn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Do" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dp" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dq" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dr" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Ds" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dt" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"Du" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Dv" = (/turf/unsimulated/beach/sand{tag = "icon-desert2"; icon_state = "desert2"},/area/centcom/ferry) -"Dw" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Dx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Dz" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DA" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DB" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-siding2"; name = "plating"; icon_state = "siding2"},/area/centcom/holding) -"DC" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/holding) -"DD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) -"DE" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) -"DF" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) -"DG" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DH" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_y = 19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"DJ" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"DK" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"DL" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DM" = (/obj/machinery/door/airlock/glass_medical{name = "Arrivals Medbay"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DN" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"DO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/escape/centcom) -"DP" = (/turf/unsimulated/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/centcom/ferry) -"DQ" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) -"DR" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DS" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DT" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DU" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"DV" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DW" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"DX" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DY" = (/obj/machinery/atmospherics/unary/freezer{set_temperature = 73; dir = 2; icon_state = "freezer_1"; use_power = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"DZ" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ea" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 29; req_access_txt = "0"},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"Eb" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 4; icon_state = "whitegreenfull"},/area/centcom/holding) -"Ec" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Ed" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Ee" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Ef" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Eg" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/centcom/ferry) -"Eh" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand{tag = "icon-desert_dug"; icon_state = "desert_dug"},/area/centcom/ferry) -"Ei" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Ej" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Ek" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"El" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) -"Em" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) -"En" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Eo" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ep" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Eq" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"Er" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"Es" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/weapon/inflatable_duck,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) -"Et" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Eu" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Ev" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Ew" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) -"Ex" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) -"Ey" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"Ez" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"EA" = (/turf/unsimulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/centcom/holding) -"EB" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) -"EC" = (/obj/structure/sign/nosmoking_2{pixel_x = 28; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"ED" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"EE" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) -"EF" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"EG" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) -"EH" = (/turf/unsimulated/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"},/area/centcom/ferry) -"EI" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/centcom/ferry) -"EJ" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) -"EK" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) -"EL" = (/turf/unsimulated/wall,/area/tdome) -"EM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EO" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"EP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"ER" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) -"ES" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1; volume = 3200},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"ET" = (/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) -"EU" = (/turf/unsimulated/floor{dir = 10; icon_state = "whitegreen"},/area/centcom/holding) -"EV" = (/obj/machinery/sleep_console{icon_state = "sleeperconsole-r"; orient = "RIGHT"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"; tag = "icon-whitehall (EAST)"},/area/centcom/holding) -"EW" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"EX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom) -"EY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"EZ" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) -"Fa" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom) -"Fb" = (/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/ferry) -"Fc" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/ferry) -"Fd" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) -"Fe" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Ff" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"Fh" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) -"Fi" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Fj" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) -"Fk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"Fl" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) -"Fm" = (/turf/unsimulated/floor{dir = 5; icon_state = "whitegreen"},/area/centcom/holding) -"Fn" = (/turf/unsimulated/floor{dir = 9; icon_state = "whitegreen"},/area/centcom/holding) -"Fo" = (/turf/unsimulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/centcom/holding) -"Fp" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) -"Fq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fr" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Fs" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Ft" = (/obj/structure/table,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) -"Fu" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fv" = (/obj/structure/table,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fw" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"Fx" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) -"Fy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"Fz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"FA" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) -"FB" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"FC" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) -"FD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"FE" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) -"FF" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"FG" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) -"FH" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHEAST)"; icon_state = "whitehall"; dir = 5},/area/centcom/holding) -"FI" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) -"FJ" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHWEST)"; icon_state = "whitehall"; dir = 9},/area/centcom/holding) -"FK" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) -"FL" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) -"FM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) -"FN" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) -"FO" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) -"FP" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) -"FQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) -"FR" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FS" = (/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) -"FT" = (/obj/machinery/computer/operating,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) -"FU" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) -"FV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FW" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"FX" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) -"FY" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"FZ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"Ga" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) -"Gb" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) -"Gc" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Gd" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Ge" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gf" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gg" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gh" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) -"Gi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gk" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gl" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gm" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gn" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Go" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gp" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gq" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gr" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gs" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gt" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gv" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gw" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gx" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gy" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"Gz" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"GA" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GB" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) -"GC" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"GD" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GE" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GF" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) -"GG" = (/turf/simulated/floor,/area/tdome) -"GH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"GI" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GJ" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GK" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GL" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"GM" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) -"GN" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"GO" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GP" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"GQ" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GR" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GS" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"GT" = (/turf/simulated/floor/bluegrid,/area/tdome) -"GU" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome) -"GV" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"GW" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome) -"GX" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome) -"GY" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach) -"GZ" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/tdome) -"Ha" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor,/area/tdome) -"Hb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/tdome) -"Hc" = (/turf/unsimulated/beach/sand,/area/beach) -"Hd" = (/obj/structure/signpost,/turf/unsimulated/beach/sand,/area/beach) -"He" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach) -"Hf" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Hg" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) -"Hh" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach) -"Hi" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) -"Hj" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"Hk" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Hl" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) -"Hm" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) -"Hn" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Ho" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) -"Hp" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) -"Hq" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"Hr" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) -"Hs" = (/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Ht" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hu" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hv" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hw" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hx" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach) -"Hy" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"Hz" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HA" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HB" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HC" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HD" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) -"HE" = (/obj/structure/table,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) -"HF" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HG" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HH" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HI" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HJ" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HK" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HL" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HM" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HN" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HO" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HP" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HQ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"HR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) -"HS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) -"HT" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) -"HU" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/beach) -"HV" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach) -"HW" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach) -"HX" = (/turf/unsimulated/floor{icon_state = "sandwater"},/area/beach) -"HY" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach) -"HZ" = (/turf/unsimulated/beach/coastline,/area/beach) -"Ia" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach) -"Ib" = (/turf/unsimulated/beach/water,/area/beach) -"Ic" = (/turf/unsimulated/wall,/area/wizard_station) -"Id" = (/obj/structure/sink,/turf/unsimulated/wall,/area/wizard_station) -"Ie" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"If" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ig" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ih" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ii" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ij" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ik" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) -"Il" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) -"Im" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) -"In" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Io" = (/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Ip" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Iq" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ir" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) -"Is" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/wizard_station) -"It" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"Iu" = (/obj/structure/mineral_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Iv" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) -"Iw" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ix" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/coffin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Iy" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) -"Iz" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) -"IA" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) -"IB" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IC" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"ID" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IE" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IF" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IG" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"II" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IJ" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IK" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IL" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IM" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) -"IN" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) -"IO" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) -"IP" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"IQ" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IR" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IS" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IT" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/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) -"IU" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IV" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"IW" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space) -"IX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"IY" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/space) -"IZ" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"Ja" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) -"Jb" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) -"Jc" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Jd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Je" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Jf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Jg" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) -"Jh" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Ji" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jj" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jk" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jl" = (/obj/item/target,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jm" = (/obj/item/target/syndicate,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jn" = (/obj/item/target/alien,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jo" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/wizard_station) -"Jp" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"Jq" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"Jr" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"Js" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"Jt" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ju" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) -"Jv" = (/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) -"Jw" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jx" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"Jy" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"Jz" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station) -"JA" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"JB" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) -"JC" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"JD" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JE" = (/obj/machinery/door_control{id = "skipjack"; pixel_y = 24},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JF" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JG" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JH" = (/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JI" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JJ" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_east_control"; req_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"JK" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JL" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JN" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JP" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JQ" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"JR" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JS" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JT" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JU" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"JV" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JW" = (/obj/structure/table/reinforced,/obj/item/robot_parts/head,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JX" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) -"JY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"JZ" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access_txt = "150"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ka" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kb" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kc" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kd" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ke" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Kf" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kg" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Kh" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ki" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/wizard_station) -"Kj" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station) -"Kk" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/wizard_station) -"Kl" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/wizard_station) -"Km" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kn" = (/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ko" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"Kp" = (/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"Kq" = (/turf/unsimulated/floor{tag = "icon-asteroid8"; name = "plating"; icon_state = "asteroid8"},/area/wizard_station) -"Kr" = (/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) -"Ks" = (/turf/unsimulated/floor{tag = "icon-asteroid5"; name = "plating"; icon_state = "asteroid5"},/area/wizard_station) -"Kt" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"Ku" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"Kv" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Kw" = (/mob/living/carbon/monkey{name = "Murphey"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Kx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"Ky" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Kz" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KA" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/recharger,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KB" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weed_extract,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KC" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/bot/floorbot,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KD" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KE" = (/obj/structure/table/reinforced,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KF" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KG" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KH" = (/obj/machinery/optable,/obj/item/organ/brain,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KI" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) -"KJ" = (/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) -"KK" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"KL" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) -"KM" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KN" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"KO" = (/obj/item/weapon/screwdriver{pixel_y = 15},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KP" = (/obj/item/weapon/organ/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KQ" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 1; initialize_directions = 1; start_pressure = 493.6},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KR" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KS" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KT" = (/obj/structure/table/rack,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KU" = (/obj/structure/table/rack,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KV" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KW" = (/obj/structure/table/rack,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KX" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KY" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"KZ" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"La" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lb" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"Lc" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ld" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Le" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lf" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"Lg" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"Lh" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Li" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lj" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ll" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Lm" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) -"Ln" = (/obj/item/clothing/head/bowler,/obj/item/weapon/broken_bottle,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lp" = (/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lq" = (/obj/item/clothing/head/bearpelt,/obj/item/xenos_claw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lr" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Ls" = (/obj/item/clothing/head/collectable/xenom,/obj/item/clothing/head/chicken,/obj/item/weapon/aiModule/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lt" = (/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c500,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lu" = (/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lv" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"Lw" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) - +"wF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wH" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"wI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wJ" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"wK" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) +"wL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"wM" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wN" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wO" = (/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) +"wP" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wS" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"wT" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) +"wU" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/control) +"wV" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"wW" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"wX" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"wY" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) +"wZ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xa" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xb" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/hand_tele,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xc" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xd" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xe" = (/obj/machinery/porta_turret{anchored = 0; check_records = 0; on = 0; req_one_access = list(103); req_one_access_txt = "103"; use_power = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xf" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) +"xg" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) +"xh" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xi" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xj" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"xk" = (/turf/space,/area/centcom) +"xl" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"xm" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom) +"xn" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xo" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/tie/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"xp" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xq" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xr" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xs" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xt" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xu" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"xv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xy" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"xz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xB" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"xC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"xD" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xE" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xF" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xG" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xH" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom) +"xI" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom) +"xJ" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom) +"xK" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Mechbay "; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xL" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xM" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"xN" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"xO" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/specops) +"xP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"xQ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) +"xR" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/turf/unsimulated/floor{dir = 6; icon_state = "asteroid8"; name = "sand"},/area/centcom/specops) +"xS" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"xT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"xW" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) +"xX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/control) +"xY" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"xZ" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"ya" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yb" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "103"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yc" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yd" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"ye" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yf" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yg" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yh" = (/turf/unsimulated/wall,/area/centcom/creed) +"yi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yk" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed) +"yl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"ym" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed) +"yn" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yo" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yp" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yq" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"yr" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"ys" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"yt" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) +"yu" = (/turf/unsimulated/wall,/area/centcom/evac) +"yv" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yw" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yx" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"yz" = (/obj/machinery/chem_dispenser/meds,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yA" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yB" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yC" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"yD" = (/obj/structure/closet/crate/medical,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/weapon/bonesetter,/obj/item/weapon/scalpel,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/hemostat{pixel_y = 4},/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yE" = (/obj/item/weapon/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yF" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yG" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yH" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yI" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/purple,/obj/item/clothing/glasses/science,/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yK" = (/obj/structure/bookcase{name = "bookcase (Reports)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yL" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) +"yM" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/evac) +"yN" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"yO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"yP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"yQ" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/belt/security/tactical,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yR" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"yS" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"yT" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) +"yU" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) +"yV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control) +"yW" = (/obj/structure/table/reinforced,/obj/item/weapon/crowbar,/obj/item/weapon/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"yX" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"yY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "103"; tag_door = "specops_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"yZ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/obj/item/weapon/storage/backpack/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"za" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"zb" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"zc" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) +"zd" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"ze" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"zf" = (/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) +"zg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zh" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zi" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zj" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"zk" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"zl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zm" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"zn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom) +"zo" = (/obj/structure/table/woodentable{dir = 9},/obj/item/weapon/reagent_containers/food/drinks/flask,/obj/item/clothing/mask/cigarette/cigar/havana,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zp" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zq" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zr" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zs" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zt" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) +"zv" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"zw" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"zx" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"zy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) +"zz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) +"zA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"zB" = (/turf/unsimulated/floor{icon_state = "loadingarea"},/area/centcom/specops) +"zC" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{name = "Spec Ops Ready Room"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 15; req_access_txt = "11"; id = "CREED"},/obj/machinery/door_control{name = "Mech Storage"; desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; pixel_y = 0; req_access_txt = "11"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) +"zE" = (/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) +"zF" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"zG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor,/area/centcom/control) +"zH" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"zI" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control) +"zJ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control) +"zK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/control) +"zL" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"zM" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"zN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom) +"zO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"zP" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) +"zQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor,/area/centcom/control) +"zR" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom) +"zS" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"zT" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"zU" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom) +"zV" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"zW" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"zX" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"zY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) +"zZ" = (/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Aa" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ab" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_port"; name = "port docking hatch controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_port_hatch"},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ac" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ad" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ae" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor,/area/centcom/control) +"Af" = (/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},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"Ag" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Weapon Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) +"Ah" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"Ai" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom) +"Aj" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Ak" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Al" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom) +"Am" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"An" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ao" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) +"Ap" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/centcom/control) +"Aq" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"Ar" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access_txt = "2"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"As" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"At" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) +"Au" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Av" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Aw" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Ax" = (/obj/machinery/computer/communications,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Ay" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"Az" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) +"AA" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) +"AB" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AC" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"AD" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) +"AF" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) +"AG" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) +"AH" = (/turf/unsimulated/wall,/area/centcom/ferry) +"AI" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) +"AJ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/computer/skills{icon_state = "medlaptop"; pixel_x = 3; pixel_y = 4},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AK" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"AL" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AM" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AN" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_space"},/area/shuttle/escape/centcom) +"AP" = (/obj/machinery/atm{pixel_x = -26},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"AQ" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) +"AR" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom) +"AS" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"AT" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) +"AU" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom) +"AV" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/ferry) +"AW" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"AX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"AY" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/ferry) +"AZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Ba" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bb" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Bc" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"Bd" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control) +"Be" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"Bf" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/control) +"Bg" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Bh" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Bi" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/escape/centcom) +"Bj" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bk" = (/obj/machinery/status_display{pixel_y = 30},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bl" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/transport1/centcom) +"Bm" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom) +"Bn" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/transport1/centcom) +"Bo" = (/obj/structure/window/shuttle{icon_state = "window4"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Bp" = (/obj/structure/window/shuttle{icon_state = "window12"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Bq" = (/obj/structure/window/shuttle{icon_state = "window8"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"Br" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom) +"Bs" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom) +"Bt" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"Bu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Bv" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bw" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"Bx" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"By" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f9"},/area/shuttle/transport1/centcom) +"Bz" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BA" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/transport1/centcom) +"BB" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom) +"BC" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) +"BE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom) +"BF" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) +"BG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac) +"BH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) +"BI" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) +"BJ" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BK" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/ferry) +"BO" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"BP" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) +"BQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"BR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"BS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"BT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"BU" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_floor_f5"},/area/shuttle/escape/centcom) +"BV" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom) +"BW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/transport1/centcom) +"BX" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/transport1/centcom) +"BY" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"BZ" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_floor_f6"},/area/shuttle/transport1/centcom) +"Ca" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) +"Cb" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) +"Cc" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom) +"Cd" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/ferry) +"Ce" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/ferry) +"Cf" = (/obj/structure/stool/bed/chair/comfy/brown,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/ferry) +"Cg" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/ferry) +"Ch" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Ci" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) +"Cj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) +"Ck" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"Cl" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) +"Cm" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) +"Cn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) +"Co" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/evac) +"Cp" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Cq" = (/obj/structure/closet/hydrant{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Cr" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Cs" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/transport1/centcom) +"Ct" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) +"Cu" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/ferry) +"Cv" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/centcom/ferry) +"Cw" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/ferry) +"Cx" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"Cy" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"Cz" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"CA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"CC" = (/obj/structure/window/shuttle{icon_state = "window2"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"CD" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"CE" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/ferry) +"CF" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/ferry) +"CG" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/ferry) +"CH" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) +"CI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CK" = (/turf/unsimulated/floor{icon_state = "warning"},/area/centcom/evac) +"CL" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/evac) +"CM" = (/obj/structure/window/shuttle{icon_state = "window3"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"CN" = (/turf/unsimulated/wall,/area/centcom/holding) +"CO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"CP" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"CQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"CR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) +"CS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) +"CT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"CU" = (/obj/machinery/turretcover{density = 1},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac) +"CV" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 0},/turf/unsimulated/wall,/area/centcom/evac) +"CW" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"CX" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"CY" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"CZ" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/structure/closet/athletic_mixed,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Da" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) +"Db" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"Dc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"Dd" = (/turf/unsimulated/floor{icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/evac) +"De" = (/turf/unsimulated/floor{dir = 5; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) +"Df" = (/obj/structure/window/shuttle{icon_state = "window1"},/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) +"Dg" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"Dh" = (/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Di" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-siding8"; name = "plating"; icon_state = "siding8"},/area/centcom/holding) +"Dj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dl" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dm" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dn" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Do" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dp" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) +"Dq" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Dr" = (/turf/unsimulated/beach/sand{tag = "icon-desert2"; icon_state = "desert2"},/area/centcom/ferry) +"Ds" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Dt" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/boiledrice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Du" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/beetsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dv" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stuffing,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dw" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/soylenviridians,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Dx" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-siding2"; name = "plating"; icon_state = "siding2"},/area/centcom/holding) +"Dy" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/holding) +"Dz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) +"DA" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) +"DB" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) +"DC" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DD" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DE" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_y = 19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"DF" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"DG" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"DH" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DI" = (/obj/machinery/door/airlock/glass_medical{name = "Arrivals Medbay"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DJ" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"DK" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_floor_f10"},/area/shuttle/escape/centcom) +"DL" = (/turf/unsimulated/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/centcom/ferry) +"DM" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) +"DN" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DP" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DQ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"DR" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DS" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"DT" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"DU" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"DV" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"DW" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = 29; req_access_txt = "0"},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"DX" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 4; icon_state = "whitegreenfull"},/area/centcom/holding) +"DY" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"DZ" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Ea" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Eb" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"Ec" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand{tag = "icon-desert3"; icon_state = "desert3"},/area/centcom/ferry) +"Ed" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand{tag = "icon-desert_dug"; icon_state = "desert_dug"},/area/centcom/ferry) +"Ee" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/spesslaw,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Ef" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/candiedapple,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Eg" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Eh" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/meatsteak,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding) +"Ei" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) +"Ej" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ek" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"El" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"; tag = "icon-intact-f (NORTHWEST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Em" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"En" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"Eo" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/weapon/inflatable_duck,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) +"Ep" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Eq" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Er" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/beer,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Es" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/holding) +"Et" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) +"Eu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6; icon_state = "intact"; tag = "icon-intact-f (SOUTHEAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ev" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Ew" = (/turf/unsimulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/centcom/holding) +"Ex" = (/turf/unsimulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/centcom/holding) +"Ey" = (/obj/structure/sign/nosmoking_2{pixel_x = 28; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"Ez" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) +"EA" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) +"EB" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) +"EC" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"ED" = (/turf/unsimulated/beach/sand{tag = "icon-beachcorner"; icon_state = "beachcorner"},/area/centcom/ferry) +"EE" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"},/area/centcom/ferry) +"EF" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/holding) +"EG" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) +"EH" = (/turf/unsimulated/wall,/area/tdome) +"EI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EK" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"EL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"EN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/unsimulated/floor{dir = 8; icon_state = "whitegreen"},/area/centcom/holding) +"EO" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 1; volume = 3200},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"EP" = (/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) +"EQ" = (/turf/unsimulated/floor{dir = 10; icon_state = "whitegreen"},/area/centcom/holding) +"ER" = (/obj/machinery/sleep_console{icon_state = "sleeperconsole-r"; orient = "RIGHT"},/turf/unsimulated/floor{dir = 8; icon_state = "whitehall"; tag = "icon-whitehall (EAST)"},/area/centcom/holding) +"ES" = (/obj/machinery/sleeper{icon_state = "sleeper_0-r"; orient = "RIGHT"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"ET" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom) +"EU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) +"EV" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) +"EW" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom) +"EX" = (/turf/unsimulated/beach/sand{tag = "icon-beach (SOUTHEAST)"; icon_state = "beach"; dir = 6},/area/centcom/ferry) +"EY" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/ferry) +"EZ" = (/turf/unsimulated/beach/sand{tag = "icon-seashallow"; icon_state = "seashallow"},/area/centcom/holding) +"Fa" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fb" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"Fd" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) +"Fe" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ff" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) +"Fg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"Fh" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/centcom/holding) +"Fi" = (/turf/unsimulated/floor{dir = 5; icon_state = "whitegreen"},/area/centcom/holding) +"Fj" = (/turf/unsimulated/floor{dir = 9; icon_state = "whitegreen"},/area/centcom/holding) +"Fk" = (/turf/unsimulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/centcom/holding) +"Fl" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/turf/unsimulated/beach/sand{tag = "icon-coconuts"; icon_state = "coconuts"},/area/centcom/ferry) +"Fm" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fn" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fo" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Fp" = (/obj/structure/table,/obj/item/weapon/FixOVein{pixel_x = -6; pixel_y = 1},/turf/unsimulated/floor{tag = "icon-whitecorner"; name = "plating"; icon_state = "whitecorner"},/area/centcom/holding) +"Fq" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_y = 4},/obj/item/weapon/hemostat{pixel_y = 4},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fr" = (/obj/structure/table,/obj/item/weapon/retractor{pixel_x = 0; pixel_y = 6},/obj/item/weapon/scalpel,/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Fs" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel{pixel_x = 4; pixel_y = 3},/turf/unsimulated/floor{dir = 2; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"Ft" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/turf/unsimulated/floor{tag = "icon-whitecorner (WEST)"; icon_state = "whitecorner"; dir = 8},/area/centcom/holding) +"Fu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"Fv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"Fw" = (/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) +"Fx" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"Fy" = (/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) +"Fz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"FA" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) +"FB" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) +"FC" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) +"FD" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHEAST)"; icon_state = "whitehall"; dir = 5},/area/centcom/holding) +"FE" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding) +"FF" = (/turf/unsimulated/floor{tag = "icon-whitehall (NORTHWEST)"; icon_state = "whitehall"; dir = 9},/area/centcom/holding) +"FG" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) +"FH" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_x = 0; pixel_y = 0},/turf/unsimulated/floor{dir = 4; icon_state = "whitegreen"},/area/centcom/holding) +"FI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/shuttle/plating,/area/centcom/holding) +"FJ" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) +"FK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) +"FL" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) +"FM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) +"FN" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FO" = (/turf/unsimulated/floor{tag = "icon-escapecorner (EAST)"; icon_state = "escapecorner"; dir = 4},/area/centcom/holding) +"FP" = (/obj/machinery/computer/operating,/turf/unsimulated/floor{dir = 1; icon_state = "whitehall"; tag = "icon-whitehall (SOUTHEAST)"},/area/centcom/holding) +"FQ" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-whitecorner (NORTH)"; icon_state = "whitecorner"; dir = 1},/area/centcom/holding) +"FR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/OMinus{pixel_x = -5; pixel_y = -1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FS" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"FT" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/centcom/holding) +"FU" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/adv{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/adv{pixel_x = -2},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FW" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/turf/unsimulated/floor{dir = 0; icon_state = "whitegreen"},/area/centcom/holding) +"FX" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{dir = 6; icon_state = "whitegreen"},/area/centcom/holding) +"FY" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"FZ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ga" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gb" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gc" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gd" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Ge" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gg" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gh" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gi" = (/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gk" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gl" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gm" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gn" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Go" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gp" = (/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gq" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gr" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) +"Gs" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gt" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gu" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gv" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) +"Gw" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Gx" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) +"Gy" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) +"Gz" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GA" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GB" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) +"GC" = (/turf/simulated/floor,/area/tdome) +"GD" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) +"GE" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"GF" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) +"GG" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GH" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"GI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) +"GJ" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) +"GK" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GL" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"GM" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GN" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GO" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) +"GP" = (/turf/simulated/floor/bluegrid,/area/tdome) +"GQ" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome) +"GR" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) +"GS" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome) +"GT" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome) +"GU" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach) +"GV" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/tdome) +"GW" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor,/area/tdome) +"GX" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/tdome) +"GY" = (/turf/unsimulated/beach/sand,/area/beach) +"GZ" = (/obj/structure/signpost,/turf/unsimulated/beach/sand,/area/beach) +"Ha" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach) +"Hb" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Hc" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) +"Hd" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach) +"He" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) +"Hf" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Hg" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) +"Hh" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach) +"Hi" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome) +"Hj" = (/obj/structure/table/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Hk" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) +"Hl" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor,/area/tdome) +"Hm" = (/obj/structure/table/rack,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Hn" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) +"Ho" = (/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hp" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hq" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hr" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hs" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Ht" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach) +"Hu" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hv" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hw" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hx" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hy" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"Hz" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/unsimulated/beach/sand,/area/beach) +"HA" = (/obj/structure/table,/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach) +"HB" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HC" = (/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HD" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HE" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HF" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HG" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HH" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HI" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HJ" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HK" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HL" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HM" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) +"HN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/unsimulated/beach/sand,/area/beach) +"HO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/beach/sand,/area/beach) +"HP" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/beach) +"HQ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/beach) +"HR" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach) +"HS" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach) +"HT" = (/turf/unsimulated/floor{icon_state = "sandwater"},/area/beach) +"HU" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach) +"HV" = (/turf/unsimulated/beach/coastline,/area/beach) +"HW" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach) +"HX" = (/turf/unsimulated/beach/water,/area/beach) +"HY" = (/turf/unsimulated/wall,/area/wizard_station) +"HZ" = (/obj/structure/sink,/turf/unsimulated/wall,/area/wizard_station) +"Ia" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ib" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ic" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Id" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ie" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"If" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ig" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) +"Ih" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) +"Ii" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) +"Ij" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Ik" = (/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Il" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Im" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"In" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) +"Io" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{dir = 2; icon_state = "carpetsymbol"},/area/wizard_station) +"Ip" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) +"Iq" = (/obj/structure/mineral_door/iron,/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Ir" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/turf/unsimulated/floor{icon_state = "engine"},/area/wizard_station) +"Is" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"It" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/closet/coffin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Iu" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) +"Iv" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) +"Iw" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) +"Ix" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Iy" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"Iz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IA" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IB" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IC" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"ID" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IE" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IF" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IG" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IH" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"II" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) +"IJ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space) +"IK" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space) +"IL" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"IM" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IN" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IO" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/backpack,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IP" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/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) +"IQ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/weapon/staff/gentcane,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IR" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) +"IS" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space) +"IT" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"IU" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/space) +"IV" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"IW" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) +"IX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space) +"IY" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"IZ" = (/obj/machinery/atmospherics/unary/freezer{set_temperature = 73; dir = 2; icon_state = "freezer_1"; use_power = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) +"Ja" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Jb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Jc" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space) +"Jd" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Je" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jf" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jg" = (/obj/structure/stool/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jh" = (/obj/item/target,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Ji" = (/obj/item/target/syndicate,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jj" = (/obj/item/target/alien,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jk" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/wizard_station) +"Jl" = (/obj/structure/table/rack,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Jm" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) +"Jn" = (/obj/structure/kitchenspike,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) +"Jo" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Jp" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Jq" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) +"Jr" = (/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station) +"Js" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Jt" = (/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"Ju" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"Jv" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station) +"Jw" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) +"Jx" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) +"Jy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Jz" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JA" = (/obj/machinery/door_control{id = "skipjack"; pixel_y = 24},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JB" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JD" = (/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JE" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_northeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JF" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "vox_east_control"; req_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"JG" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JH" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/donut_box,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JJ" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JL" = (/obj/item/weapon/stool,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JM" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"JN" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JQ" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) +"JR" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/robotics_cyborgs,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JS" = (/obj/structure/table/reinforced,/obj/item/robot_parts/head,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JT" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/wizard_station) +"JU" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JV" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access_txt = "150"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JX" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"JZ" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ka" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_west_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Kb" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kc" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "vox_east_control"; req_one_access_txt = "150"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Kd" = (/obj/machinery/door/airlock/hatch{frequency = 1331; icon_state = "door_locked"; id_tag = "vox_southeast_lock"; locked = 1; req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Ke" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/wizard_station) +"Kf" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station) +"Kg" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"},/area/wizard_station) +"Kh" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/wizard_station) +"Ki" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kj" = (/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kk" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"Kl" = (/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"Km" = (/turf/unsimulated/floor{tag = "icon-ironsand8"; icon_state = "ironsand8"},/turf/unsimulated/floor{tag = "icon-asteroid8"; name = "plating"; icon_state = "asteroid8"},/area/wizard_station) +"Kn" = (/turf/unsimulated/floor{tag = "icon-ironsand11"; icon_state = "ironsand11"},/turf/unsimulated/floor{tag = "icon-asteroid5"; name = "plating"; icon_state = "asteroid5"},/area/wizard_station) +"Ko" = (/turf/unsimulated/floor{tag = "icon-ironsand7"; icon_state = "ironsand7"},/mob/living/simple_animal/crab{name = "Experiment 68a"},/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) +"Kp" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"Kq" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"Kr" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Ks" = (/mob/living/carbon/monkey{name = "Murphey"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Kt" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"Ku" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Kv" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Kw" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/recharger,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Kx" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weed_extract,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ky" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/machinery/bot/floorbot,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Kz" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KA" = (/obj/structure/table/reinforced,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KB" = (/obj/structure/table/reinforced,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KC" = (/obj/structure/table/reinforced,/obj/item/weapon/circular_saw,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KD" = (/obj/machinery/optable,/obj/item/organ/brain,/obj/structure/window/basic{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KE" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-lava"; name = "plating"; icon_state = "lava"},/area/wizard_station) +"KF" = (/obj/effect/landmark{name = "Holocarp Spawn Random"},/turf/simulated/floor/holofloor{icon_state = "1"; dir = 5},/area/holodeck/source_space) +"KG" = (/turf/unsimulated/floor{tag = "icon-ironsand14"; icon_state = "ironsand14"},/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) +"KH" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"KI" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/wizard_station) +"KJ" = (/obj/item/weapon/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KK" = (/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) +"KL" = (/obj/item/weapon/screwdriver{pixel_y = 15},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KM" = (/obj/item/weapon/organ/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KN" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 1; initialize_directions = 1; start_pressure = 493.6},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KO" = (/obj/machinery/portable_atmospherics/canister/phoron,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KP" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KQ" = (/obj/structure/table/rack,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KR" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KS" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KT" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KU" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KV" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KW" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KX" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"KY" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"KZ" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"La" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lb" = (/obj/structure/table/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lc" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) +"Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) +"Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lf" = (/obj/structure/table/reinforced,/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/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) +"Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lj" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) +"Lk" = (/obj/item/clothing/head/bowler,/obj/item/weapon/broken_bottle,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ll" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lm" = (/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ln" = (/obj/item/clothing/head/bearpelt,/obj/item/xenos_claw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lo" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lp" = (/obj/item/clothing/head/collectable/xenom,/obj/item/clothing/head/chicken,/obj/item/weapon/aiModule/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lq" = (/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c500,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lr" = (/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Ls" = (/obj/structure/AIcore,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lt" = (/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"Lu" = (/turf/unsimulated/floor{tag = "icon-ironsand7"; icon_state = "ironsand7"},/turf/unsimulated/floor{tag = "icon-asteroid7"; name = "plating"; icon_state = "asteroid7"},/area/wizard_station) +"Lv" = (/turf/unsimulated/floor{tag = "icon-ironsand12"; icon_state = "ironsand12"},/turf/unsimulated/floor{tag = "icon-asteroid2"; name = "plating"; icon_state = "asteroid2"},/area/wizard_station) +"Lw" = (/obj/structure/closet/secure_closet/medical_wall{pixel_y = 0; req_access = null; req_access_txt = "150"},/obj/item/weapon/surgicaldrill,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) +"Lx" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"Ly" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/sunglasses/sechud{pixel_y = 3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) + (1,1,1) = {" aaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoapaqarasatauavawaxayazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaNaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaPaOaOaOaOaOaQ -ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbrbsbrbsbrbqbtbububububqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbxbybybybzbA -amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaqarasatauavbgaxbibjbnbkblbmapaqararasataubgbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbBbpbpbpbqbCbDbCbDbCbqbEbEbEbEbEbqbvbFbvbFbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA -adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahbgbhbibjbnbkblaDapaqarasatauavbgbhavbgbhbiblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbJbKbJbKbJbqbEbEbEbEbEbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA -alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagblbmapaqarasataJavbgbhbibjbnbkblbmasatauavatauavbgbhbibjbnbkblaDaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbLbpbpbqbMbMbMbMbMbqbNbNbNbNbObqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA -aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbgbhbibjbnbkblaDapaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbPbQbRbQbSbqbTbUbVbWbTbqbvbvbFbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqbGbHbHbHbIbA -abaZaYaXaVbdbbbebfbabXbYbZcacbccbbbdaRaYaXbebcaVaUbaaiarasatauavbgbhaybjbnbkblbmapaqarasapaqarasbhbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqcdbQbRbQcebqbTcfcgchbTbqbvbvbFbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA -aeaVbaaWbeaTaYbbaRckclcmcncocpcqcraTaUbaaWbbbfbeaXbdafbnbkblbmapaqaraHatauavbgbhbibjbnbiavaraqbhauasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbBbpbpbLbqbMbMbMbMbMbqcscfcgchcsbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA -ahbebdaSbbbcbaaYaUctcocucvcwcmcxcybcaXbdaSaYaRbbaWaTanbmapaqarasatauaKbgbhbibjbnbkblbmczcAcBcCcDcEavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqcFcGcFcGcFbqcHcfcgchcHbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA -agbbaTaZaYbfbdbaaXcIcJcvcKcLcMcncNbeaWaTaZbaaUaYaSbcakbibjbnbkblbmapaFarasatauavbgbhbicEcOcPcQcRcSaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbqbCbDbCbDbCbqcHcfcgchcHbqbvbFbvbFbvbqbwbwbwbwbwbqaMaMaMaMaMbqcibHbHbHcjbA -acaYbcaVbaaRaTbdaWcccpcxcTcocKcvcUcVaSbcaVbdaXbaaZbfaaasatauavbgbhbiazbnbkblbmapaqarascWcXcYcZdadbbhbnbkblbmapaqarasaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobLbpbpbpbBbqbrbsbrbsbrbqdcdddedfdcbqbvbvbvbvbvbqbwbwbwbwbwbqaMaMaMaMaMbqdgdhdhdhdibA -aibabfbebdaUbcaTccdjcmdkcJcwcTcxcudldmbfbeaTaWbdaVaRajbhbibjbnbkblbmaEaqarasatauavbgbhdndodpdqcXdrapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMdsdtdtdtdtdtdudtdtdtdtdtdudtdtdtdtdtdudvdvdvdvdvdudvdvdvdvdvdudvdvdvdvdvdudvdvdvdvdvdw -afbdaRbbaTaXbfbcdmcxcudxcpcncJdkcLcKdyaRbbbcaSaTbeaUamaqarasatauavbgaxbibjbnbkblbmapaqdzcWdAcAcBcCbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDdBdCbqdEdEdEdEdEbqdFdFdFdFdFbqdGdGdHdIdIbqdJdKdLdJdMbqdNdOdOdOdPbqdQdRdRdRdSbA -anaTaUaYbcaWaRbfdydkcLcMcmcvcpdxcocTdTaUaYbfaZbcbbaXadauavbgbhbibjbnaBblbmapaqarasatauarbibjbnbkbgbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdUdDbqdEdVdEdEdEbqdFdWdXdYdFbqdZdZeaebebbqdMecedeeefbqegeheheheibqejekekekelbA -akbcaXbabfaSaUaRdTdxcocKcucxcmcMcwcJcVaXbaaRaVbfaYaWalbjbnbkblbmapaqaGasatauavbgbhbibjczcAcBcCcDcEarasatauavbgbhbibjaAaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDdBdCdDdBbqdEdEdEemdEbqdFenenendFbqdZeoeoeoebbqdJepdJdKdJbqegeheheheibqejekekekelbA -aabfaWbdaRaZaXaUcVcMcwcTcLdkcucKcncpcraWbdaUbeaRbaaSaobkblbmapaqarasaIauavbgbhbibjbnbkcEeqeresetcSatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdUdDdBdCbqdEdEdEdEdEbqdFdFdFdFdFbqdZeaeaeaebbqdKdJdMeddMbqegeheheheibqejekekekelbA -ajaRaSaTaUaVaWaXcrcKcncJcodxcLcTcvcmcyaSaTaXbbaUbdaZabavbgbhbibjbnbkaCbmapaqarasatauavcWeuevewexdbblbmapaqarasatauavawaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdCdDbqdEdEdEeydEbqdFezeAeBdFbqeCeDeDeDeEbqdJdLdJeFdLbqeGeHeHeHeIbqejekekekelbA -amaUaZbcaXbeaSaWcycTcvcpcwcMcocJcxcuckaZbcaWaYaXaTaVaebnbkblbmapaqaraHatauavbgbhbibjbndneJeKeLeudrasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDdBdCdDdBbqdEeMdEdEdEbqdFeNeOePdFbqeQeReReReSbqdMeTeUeVdKbqeWeXeXeXeYbqeZekekekfabA -adaXaVbfaWbbaZaSckcJcxcmcncKcwcpdkcLctaVbfaSbaaWbcbeaharasatauavbgbhaybjbnbkblbmapaqardzcWdAcAcBcCbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDfbdCbqdEdEdEdEdVbqdFeNeOePdFbqfceafdeafebqeTfffgfheVbqfiehehehfjbqeZekekekfabA -alaWbeaRaSaYaVaZctcpdkcucvcTcncmdxcocNbeaRaZbdaSbfbbagbibjbnbkblbmapaFarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodCdDdBdCdDbqfkdEdEdEdEbqdFeNeOePdFbqfcflflflfebqfffgfgfgfhbqfiehehehfjbqeZekekekfabA -aoaSbbaUaZbabeaVcNcmdxcLcxcJcvcucMcwfmbbaUaVaTaZaRaYacatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodDfbdCdDdBbqdEeydEeMdEbqdFfnfofpdFbqfcfceafefebqfgfgfgfgfgbqfiehehehfjbqeZekekekfabA -abaZaYaXaVbdbbbefmcucMcodkcpcxcLcKcnbXaYaXbebcaVaUbaaibmapaqarasatauaKbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodBdCdDdBdCbqdEdEdEdEfkbqdFdFdFdFdFbqfqfqfrfsfsbqfgfgfgfgfgbqftfufufufvbqfwfxfxfxfybA -aeaVbaaWbeaTaYbbbXcLcKcwdxcmdkcocTcvfzbaaWbbbfbeaXbdafbkblbmapaqarasaIauavbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfAfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfCfBfBfBfBfBfD -ahbebdaSbbbcbaaYfzcocTcncMcudxcwcJcxfEbdaSaYaRbbaWaTanauavbgbhbibjbnaBblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agbbaTaZaYbfbdbafEcwcJcvcKcLcMcncpdkcIaTaZbaaUaYaSbcakbhbibjbnbkblbmaEaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acaYbcaVbaaRaTbdcIcncpcxcTcocKcvcmdxccbcaVbdaXbaaZbfaaasatauavbgbhbiazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaGaHaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibabfbebdaUbcaTcccvcmdkcJcwcTcxcucMdmbfbeaTaWbdaVaRajaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afbdaRbbaTaXbfbcdmcxcudxcpcncJdkcLcKdyaRbbbcaSaTbeaUamaRaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoaRbbaLfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -anaTaUaYbcaWaRbfdydkcLcMcmcvcpdxcocTdTaUaYbfaZbcbbaXadaUajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaUaYaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -akbcaXbabfaSaUaRdTcIdxcxcTcMcvctfzcccVaXbaaRaVbfaYaWalaXamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaXbaaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aabfaWbdaRaZaXaUbbcccrdTctcydycNaXaZaYaWbdaUbeaRbaaSaoaWadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaWbdaLfFbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbeaXbdbebeaXaMfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaSalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaSaTaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfGfHfHfHfHfHfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaZaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaZbcaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfJfKfLfMfNfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaVabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaVbfaLfFbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfaTbafFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOfPfPfPfOfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagbeaeaVbaaWbeaTaYbbaRfQcacUfRfSfTcqdlcbaUbaaWbbbfbeaXbdafbeaRaLfFaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRbdbdfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOfUfUfUfOfIfVfWfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbbahbebdaSbbbcbaaYfXfYfZgagbgcgdgegffTggbdaSaYaRbbaWaTanbbaUaLfFaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaTaTfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOfIfIfIfIfIfIfIfIfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaYagbbaTaZaYbfbdbagggcgkgbgfglgmgngogpgqaTaZbaaUaYaSbcakaYaXaLfFaXbcbcbbaXbcbbaXbcbbaXbcbbaXgrgsgggggrgrgsaXbcbbaXbcbbaXbcbbaXbcbbaXbcbcfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOgtgugvgwgxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafbaacaYbcaVbaaRaTbdgqgngogegCfZgfgbgdgDgEbcaVbdaXbaaZbfaabaaWaLfFaWbfbfaYaWbfaYaWbfaYaWbfaYaWgFgGgqgqgFgHgIaWbfaYaWbfaYaWbfaYaWbfaYaWbfbffFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOghgigjfOgJgugygygxgygugygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ahbdaSaYaRbbaWaTbbbdaSaYaRbbaWaTbbaWaTbdaSaYaRbbaWaTanbdaibabfbebdaUbcaTgEgbgdgpgkgcgCgegagmgKbfbeaTaWbdaVaRajbdaSaLfFaSaRaRbaaSaRbagEgLgMgEgLgMgEgLgNgOgOgPgPgMgEgLgMgEgLgMgEaRbaaSaRbaaSaRaRfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOgigigigQgRgSgygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agaTaZbaaUaYaSbcaYaTaZbaaUaYaSbcaYaSbcaTaZbaaUaYaSbcakaTafbdaRbbaTaXbfbcgKgegagDgogngkgpglgfgTaRbbbcaSaTbeaUamaTaZaLfFaZaUaUbdaZaUbdgKgUbdaZgUgVgKgUgWgXgXgUgUgWgKfXgWaZaUgWgKaUbdaZaUbdaZaUaUfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOgigigigQgRgSgygygygygYgygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acbcaVbdaXbaaZbfbabcaVbdaXbaaZbfbaaZbfbcaVbdaXbaaZbfaabcanaTaUaYbcaWaRbfgTgpglgmgdgbgogDfZgChbaUaYbfaZbcbbaXadbcbeaLfFaVaXaXaTaVaXaTgThchdhehchfhehchdhehehchchdhegghdhehchdgTaXaTaVaXaTaVaXaXfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHfOhggihhfOgJgugygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibfbeaTaWbdaVaRbdbfbeaTaWbdaVaRbdaVaRbfbeaTaWbdaVaRajbfakbcaXbabfaSaUaRhbhifZgfgagegdgmgccbgsaXbaaRaVbfaYaWalbfbbaLfFbeaWaWbcbeaWbchbhjhkhlhjgrhlhjhkhlhlhjhjhkhlgqhkhlhjhkhbaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHhmfOhnfOhogtgugygygxgygugygBgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgZgZgZaMhahahaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afaRbbbcaSaTbeaUaTaRbbbcaSaTbeaUaTbeaUaRbbbcaSaTbeaUamaRaabfaWbdaRaZaXaUhidlglgpglgpgaglgpfTgIaWbdaUbeaRbaaSaoaRaYaLfFbbaSaSbfbbaSbfgsgOgHhpgOgFhpgOgHhphpgOgOgHhpgEgHhpgOgHgsaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfHaMhmhqhoaMgtgugygygxgygugzgAgBgBfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhrhshthuhvgZgZgZaMhahahahrhshthuhvaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -anaUaYbfaZbcbbaXbcaUaYbfaZbcbbaXbcbbaXaUaYbfaZbcbbaXadaUajaRaSaTaXhwfRhxhyglgcgmgcgmfZgcgmgefTfTgrhxaYaUbdaZabaUbaaLfFaZaRaYaZaYaZaRgIgXgPgGgXgPgGgXgPgGgXgPgGgXgGgXgPgGgXgPgIaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIfIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzhAhAhAhBhChDhChChChEhChFhAhAhAhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -akaXbaaRaVbfaYaWbfaXbaaRaVbfaYaWbfaYaWaXbaaRaVbfaYaWalaXamaUaZbcaWgsgegngCgcgmgdglgpgcgogpglgkgegefRbaaXaTaVaeaXbdaLfFaVaUbaaVbaaVaUgMhegUgNhegUgNhegUgNhegUgNhegNhegUgNhegUgMaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzhGhHhIhJhKhLhMhNhOhPhKhQhRhShThzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aaaWbdaUbbaSaYbeaTaUhUhVhWhwhXbahYbYhZcqiaaUbeaRbaaSaoaWadaXaVbfaSgIgegbgkgogpgagcgmgngdgefZgogpgacqbdaWbcbeahaWaTaLfFbeaXbdbebdbeaXgVhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgVbeaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibibibibibibibibibibibibibibibibibibibibibibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzicicidieifigifihifigifiiidicichzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ajbaaTaXaRbdaUbfaSaXijikiliminaXioipiqirisaXbbaUbdaZabaSalaWbeaRaZgMgpgegogdgDglgegkgbgagmgcgdgDglitaTaSbfbbagaSbcaLfFbeaXbdbebdbegggVhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgVhbaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiviuiuiuiwixiuiuiuiwiuiuiuiuiuiuiwiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhRicizigigigigigigigigigizichIiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ambdbcaWaUaTaXaRaZaWisiBiCiDiEaWiFiGiHiIiJaWaYaXaTaVaeaZaoaSbbaUaViKgDgpgdgagmfZgpgogeglgfgngagmfZhwbcaZaRaYacaZbfaLfFbeaXbdbebdbegggWhlhcgWhlhcgWhlhcgWhlhcgWhlgWhlhcgWhlhcgWhbaXbdbeaXbdaMbefFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiviuiuiuiuiuiuiuiuiuiuiuiwiuiuiuiuiuiwiuiuiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhChFiLifigifiMiMifigiNhBhCiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -adaTbfaSaXbcaWaUaVaSiJiOiPilhYaSijiQiRiSiTaSbaaWbcbeahaVabaZaYaXbecbgmgDgaglgfgcgDgdgpfZgCgbglgfgchibfaVaUbaaibeaRaLfFbbaWaTbbaTbbgqhdhphjhdhphjhdhphjhdhphjhdhphdhphjhdhphjhdgsaWaTbbaWaTaMbbfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiUiuiuiuiuiuiviuiuixiwiuiuiwiuiuiwixiuiwiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhziVihigiWiViViXigiYhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -albcaRaZaWbfaSaXbeaZiTimiZiCjaaZisjbirjcinaZbdaSbfbbagbeaeaVbaaWbbfTgfgmglfZgCgngmgagDgcgkgefZgCgndlaRbeaXbdafaMaUaLfFbfbabaaZbfbagKgFgNgXgHgNgKgFgNgXgHgHgNgNgXgFgMgXgHgNgXgFgMaZbfbaaZbfaTbafFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiviuiuiwixiuiuiwiuixibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdhzjeifigiWiViViXighKhzjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aobfaUaVaSaRaZaWbbaVinijiEiThUaViJiaioisiEaVaTaZaRaYacbbahbebdaSgIcUgCgffZgcgkgbgfglgmgngogpgcgkgbhyfXbbaWaTanbbaXaLfFaRbdbdaVaRbdaVgLgVgTgLgVgTgLgWhegPgPgWgWhegLgVgTgLgVgTgLbdaVaRbdaVaRbdbdfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiviuiuiuiuiuixiuiwixiuiwiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdjgjhigigifjijiifigjjjkjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -abaRaXbebcaVaUbaaVaRaXbebcaVaUbaaVaUbaaRaXbebcaVaUbaaiaYagbbaTaZgMgagkgCgcgngogegCfZgfgbgdgDgngogegCggaYaSbcakaYaWaLfFaUaTaTbeaUaTbeaUaTbeaUaTbefXhdhlgUgUhdhdhlfXaTbeaUaTbeaUaTbeaUaTbeaUaTaTfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiujljljljljljljliuiuiuiuiuiuiuiwiuiuiUixiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjdjdjdjdhzhKjmigigigigigigifhzjfjfjfjfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aebaaWbbbfbeaXbdbebaaWbbbfbeaXbdbeaXbdbaaWbbbfbeaXbdafbaacaYbcaVgVglgogkgngbgdgpgkgcgCgegagmgbgdgpgkgqbaaZbfaabaaSaLfFaXbcbcbbaXbcbbaXbcbbaXbcbbgghkhphchchkhkhpggbcbbaXbcbbaXbcbbaXbcbbaXbcbcfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiujnfIjojpjpjpjqfIjriuiuiuiuiUiuiuiviuiviuiwiuiwibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhBhChChCjsigifigigjthzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -ahaSaSaYaRbbaWaTbbaSaSaYaRbbaWaTbbaWaTaSaSaYaRbbaWaTanbdaibabfbehffZgdgogbgegagDgogngkgpglgfgegagDgogEbdaVaRajbdaZaLfFaWbfbfaYaWbfaYaWbfaYaWbfaYgqgHgGhjhjgHgHgGgqbfaYaWbfaYaWbfaYaWbfaYaWbfbffFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjujvjwjxjyjzjzfIjAiuiujljljljljljljljljBjCjlibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzjDjDjEjFigifigigifjGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -agaZaZbaaUaYaSbcaYaZaZbaaUaYaSbcaYaSbcaZaZbaaUaYaSbcakaTafbdaRbbgrgcgagdgegpglgmgdgbgogDfZgCgpglgmgdgKaTbeaUamaTbeaLfFaSaRaRbaaSaRbaaSaRbaaSaRbagEgPgNgOgOgPgPgNgEaRbaaSaRbaaSaRbaaSaRbaaSaRaRfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjHjvjvjIjvjvjvfIjAiujJjKjLjLjMibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjNjOjOjOjPigjQjRjSjRhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -acaVaVbdaXbaaZbfbaaVaVbdaXbaaZbfbaaZbfaVaVbdaXbaaZbfaabcanaTaUaYgFgnglgagpgcgDgegCgmgbgkglgngDfZgfgagTbcbbaXadbcbbaLfFaZaUaUbdaZaUbdaZaUbdaZaUbdgKfXgWgXgXgUgUgVgKaUbdaZaUbdaZaUbdaZaUbdaZaUaUfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiufIjTjvjvjvjUjvjVfIjAiUjJjWjXjXjXjYjZibkakbibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkckdjOkeigkfkgkhkihzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aibebeaTaWbdaVaRbdbebeaTaWbdaVaRbdaVaRbebeaTaWbdaVaRajbfakbcaXbagLgbfZglgDgngmgpgkgfgegofZgbgmgcgCglhbbfaYaWalbfaYaLfFaVaXaXaTaVaXaTaVaXaTaVaXaTaVgghfgTgTgggghfaVaXaTaVaXaTaVaXaTaVaXaTaVaXaXfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiukjfIfIfIkkfIfIfIkliuiukmjWjXjXknjXjXkokpkpkqibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkrjOjOjFigjRkskskthzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -afbbbbbcaSaTbeaUaTbbbbbcaSaTbeaUaTbeaUbbbbbcaSaTbeaUamaRaabfaWbdfzgegcfZgmgbgfgDgogCgpgdgcgegfgngkfZcVaRbaaSaoaRbaaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiufIkujvkufIkvjljljlkwkxjXkykzkAjXibkpkBkBibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzkckdjOjPigkCkskskDhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -analahajaoacaeabanagakafamaafFfFfFfFfFahajabafaoaaagadaUajaRaSaTfSgpgngcgfgegCgmgdgkgDgagngpgCgbgogcdlaUbdaZabaUbdaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiufIkEjvkFfIjKjLjLjLjMibjXkykGkAjXibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiykHkHhCkIkJhChCkHkHiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaXamaUaZbchxgDgbgngCgpcbgfgagogmglcqgDgkgegdgnhyaXaTbeaeaXaTaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiujnfIfIfIfIfIkEjvkFfIjWkKkKkKkKkLjXjXjXjXjXkMkNkOibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyhFkPiXigkQkRhBiAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bbaWbdaUbeaRaUbeaRaWbdaUbeaRaWbdaUbeaRaWbdaUbeaRbaaSbcaWadaXaVbffRgmgegbgkgDfTgCglgdgffZitgmgogpgagbfQaWbcbeahaWbcaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvfIkEjvkFfIkxkKkTjLjMibjXjXjXjXjXibkUkUkVibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhziVifiMifkWhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aYaSaTaXbbaUaXbbaUaSaTaXbbaUaSaTaXbbaUaSaTaXbbaUbdaZbfaSalaWbeaRcqgfgpgegogmcUcbfSkXfQhxhwgfgdgDglgecbaSbfbbagaSbfaLfFbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvkEkYfIkEjvkFfIfIkZlalblcibibibibibldiblekUkVibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhzlflglhliljhzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -baaZbcaWaYaXaWaYaXaZbcaWaYaXaZbcaWaYaXaZbcaWaYaXaTaVaRaZaoaSbbaUitfQhihwcUhykXbcaWaUaTaShifQkXdlfShwfTaZaRaYacaZaRaLfFbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiblkiufIkSjvkEllfIfIlmfIfIlnjvjvfIlolplciblqlrlsibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiyltlulululviAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bdaVbfaSbaaWaSbaaWaVbfaSbaaWaVbfaSbaaWaVbfaSbaaWbcbeaUaVaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaVaXaLfFaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvlwjvjvlxjvjvjvjvfIjAiujJlylzlrlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aTbeaRaZbdaSaZbdaSbeaRaZbdaSbeaRaZbdaSbeaRaZbdaSbfbbaXbeahakadaiaaaoamajahalagaeafacabanamaoagadacaiaeaaacalanbeaWaLfFaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiufIkSjvjvjvlAjvjvjvlBjvjvjvfIlCiujJjWlqlDlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -bcbbaUaVaTaZaVaTaZbbaUaVaTaZbbaUaVaTaZbbaUaVaTaZaRaYaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiujnfIfIfIfIfIfIlEjvjvfIfIfIfIfIfIjrjJkxlqlrlribaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGlHlIlJfIjvjvjvfIlKlLlMlNlOfIlPiblqlrlQibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRlRlRlSjvjvjvlTjvjvjvjvlUfIlPibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGlRlRlRlVjvjvjvlWjvjvjvjvlUfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRlRlXfIlYlZmafImbfImcfIfIfImdiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlRlRlRfIfIfIlRlRlRfIfIfIjvjvjvfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufIlFlGmefIiufImfmfmffIiufIjzmgmhfIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiufImfmfmffIiukjmimjmkkliufImfmfmffIjAiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiukjmimjmkkliuiuiuiuiuiuiukjmimjmkkliuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuiuibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmmmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmn -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibibibibibibibibibibibibibibibibibibibibibaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomo -mlmlmlmlmlmlmlmpmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMmomomoaMaMaMaMaMmomomomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMmomomomomomomomomoaMmomomomomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMmomomomomomomomomomomomomomomomomomomomomomomomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmqmrmrmrmsmrmrmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMmuaMmvmomomomomomomomomomomomomomomomomomomomomomomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmxmxmymxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMmumvmomomomomomomomomomomomomomomomomomomomomomomomomomomo -mlmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmzmxmAmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMmuaMmomomomomomomomomomomomomomomomomomomomomomomomomomomo -mBmlmlmlmlmlmlmlmlmlmlmlmlmlmlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmCmCmDmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomoaMaMaMaMaMaMmEmvmomomomomomomomomomomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmGmHmrmrmrmImxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomoaMaMaMaMaMaMmJaMmvmomoibibibibibmomomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmAmxmAmxmxmxmxmxmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMibibmKmLmMibibmomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmFmFmFmFmGmrmrmtmxmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMlymOmPmQmPmOibmomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMjWmOmPmQmPmOibmomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmCmxmxmNmwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMkxmOmPmQmPmOibmomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmRmrmrmrmrmIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMibibmQmQmSibibmomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMibmQmQmQibmomomomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmTmUmUmVibibmWibibibibibibibmomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMmXmYmZmZmZnanbaMaMncndnenfndndndngibnhninjnkibmomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMmXnlnmnnnonpnqnlnbaMncndnrnrndndndndnsntntntnuibmomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMnlnvnwnwnxnwnwnpnlaMncnynznAnBndndndibntntntnCibibibibibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMnlnDnwnwnwnwnEnpnlaMncndnFnFndndndnGibnHntnInJibnKkKnLibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlnMnwnwnNnwnwnOnlaMncndndndndndndnPibibibibibibnQkKnRibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnSnlnTnlnlnlnlnlnUaMnVmUmUnWibjXjXjXibkNkNnXnYibnZkKoaibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlobocnEodoenlaMaMaMaMaMaMofjXjXjXogkUkUohohibnZkKoiibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlojoknEnwolnlaMaMaMaMaMaMomjXjXjXibonkUibibibooopooibibibmomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXnlojocnEnwolnlnbaMaMmJmEoqibjXjXjXibibibibororkKkKkKososibibmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXnlnlnlnlotocnEnwolnlnlnlnlnbououibjXjXjXjXibovowkKkKkKkKkKkKkKoxibmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnloyozoAnlnwoBnwoCnlnloDoEoFoGkLoHkLjXjXjXjXoIkKkKkKkKkKoJkKkKkKoKibmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMoLoMoNoMnlnlnloOnlnloPoDoQoRoGkLoSkLjXjXjXjXiboToUkKkKkKkKkKkKkKoVibmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMnlnloLoXnlnlnwnwoYnlnloZpaoZnlpbpbibpcmUnWibibibibpdpekKkKkKpfpfibibmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipipipipipipipipipipipipipipipipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlpjnwnwpknlnwnwnwnlplpmpnponlmvaMmvaMaMaMaMmomoibibibooppooibibibmomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipqprprprprpspsprprprprptpipipipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlpunwnwnwpvnwnwnwpwnwnwnwpxnlmEmEmEmEaMaMaMaMmomomoibpykKpyibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipqpzpApBpCprpDpEprpFpGprprprptpipioWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMnlpHnwnwnwpInwnwnwpJnwnwnwpKnlaMaMaMaMaMaMaMaMaMmomoibpykKpyibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipqprpLpLpLpLprpMpMprpLpLpNpOprprptpipPpPpPpPpPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMmXnlnlnlnlnlnlnwnwnwnlnlnlnlnlnlnbaMaMaMaMaMmuaMmvmomoibpykKpyibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpqprprpQpRpSpTprpLpLpUpLpLpLpLpVpWprpipPpXpYpZpPpPpPpPpPqaqbqbqcpPpPaMaMaMaMaMaMaMaMqdqdqdqdqdqdqdqdqdqdqdaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMnlqeqfqgqhqinlqjnwnwnlqkqkqkqlqlnlaMaMaMaMaMmumvmomomoibpykKpyibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqmqnqopLqpqpqpprpLpLprqqqrqsqtquqvprpipPqwpYpYqxqyqzqAqBqCqAqDqEqFpPpPpPpPpPpPpPpPpPpPqGqHqHqHqHqHqHqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMqKqLqLqLqLqLnlnwnwnwnlqjnwnwnwqMqNaMaMaMaMaMmJaMmomomoibibibibibmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqOqnpLpLpLpLpLpUpLpLprprprprprprprqPqQpPpPpPpPpPqyqDqAqRqSqAqDqDqDqTqUqUqUqUqUqUqUqUqVqGqWqXqXqXqXqXqYqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMqZrarbqLqLqLrcnwnwnwrdnwnwnwrerfrgaMaMaMaMaMmumvmvmomomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphrhprripLripLriprpLpLpLrjrkpipipipipirlrmqUqUqUqTqDqDqDqDqDqDqDqDqDqTqUqUqUqUqUqUqUqUqVqGrnrororororornqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMrpqLqLqLqLqLrqnwnwnwrrnwnwnwnwrsrtaMaMaMaMaMmuaMaMmvmomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpiprprprprprprprpLpLrupLrkpipipipipirlrmqUqUqUqTqDqDqDqDqDqDqDqyqypPpPpPpPpPpPpPpPpPqdqGrnrororororornqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlrvqLqLqLrwnloZrxoZnlryryrznwrAnlaMaMaMaMaMaMaMaMaMmomomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpqprrBrCrDrBrEprpLpLpLrFrkpipipipipipipPpPpPpPpPqDqDqAqRqCqAqDrGrHpPrIrJrJrKpPrLrMrNqdqHrnrororororOrPqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlrQrRrSrTrUnlrVnwrWnlrXnlnlrYnlnlaMaMaMaMaMaMaMmuaMmvmomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqmqnrZrZrZrZrZpUpLpLprprprprprprprptpipPpXpYpZpPqDqDqAqRsaqAqDqyqypPsbsbsbsbpPscrMsdqdqHrnrororororoseqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlsfqLsgshnlnlnwsisjnlnlnlnwnwsknlaMaMaMaMaMaMaMmumvmvmomomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphqOqnslrZrZrZrZprpLpLpLpLpLprpLsmsnprpipPqwpYpYqxqDqDqDqDqDqDqDqDqDpPsbsospsppPpPsqpPqdqHrnrorororosrrnqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlssstsunlaMnlsvsvsvnlaMnlnpswsxnlaMaMaMaMaMaMaMmuaMmvaMmomomomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphrhprprsyszszszprpLpRsApRpLpUpLsBsCprpipPpPpPpPpPpPpPsDpPpPpPqDqDqDsEsbsFsFsbsbsbsbsGqdqHrnrororororoseqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnlsvsvsvnlaMnSsHsIsJnUaMnlsvsvsvnlaMaMaMaMaMaMaMmumvmvmvmvmvmomomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpirhprrZrZrZrZprpLsApRsApLprriprprqPpipPsKsLsMpPsNsOsOsOsPpPqDqDqDqDsbsbsbsbsQsbsbspqdqHrnrorororosRsSqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMnSsHsIsJnUaMaMaMaMaMaMaMnSsHsIsJnUaMaMaMaMaMaMaMmuaMmvaMmvaMaMmomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipirhprsTsUsVprpLpLpLpLpLprprprqPpipipPsWsXsYsZsOsOsOsOtapPqDqDqDsEtbsbsbsbtcsbsbtdqdqHrnrororororornqdqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMmomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipirhprprprprprprprprprprqPpipipipipPpPtetfpPpPpPtetgtfpPqDqDqDpPthtitititititjpPqdqHtktlrororotmtnqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMpgphpipipipipipipipipipipipipipipipipipipipPtototototototototopPpPtppPpPtototototototopPqdqHtqtrtstststrttqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtuoWoWoWoWoWoWoWoWoWoWoWoWtvtvtvtvtvtvtvtvtvtvtvtvtwtwtwtwtwtwtwpPtxtytxpPtwtwtwtwtwtwtwtwqdqHqHtztAtAtAtBqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtCoWaMaMaMaMoWtDtEtFtGtGoWtHtItvtHtJtvtKtLtvtHtItvtMtwtNtOtPtQtRpPtxtytxpPtStTtUtVtVtwaMaMqdqHqHqHqHqHqHqHqHqIqJaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWtWoWoWoWoWoWoWtXtYtYtYtZoWuatLtvuaubtvuatItvuauctvtMtwudueueueuepPtxtytxpPtVtVtVtVtVtwaMaMufufufufufufufufufufuftwtwtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtututututuoWuguhuiujukuloWumtYtYtYtZoWtvtvtvtvtvtvtvtvtvtvtvtvtMtwudueueueuepPpPtppPpPtVtVtVtVtVtwufufufufufufunuouptwuququqtwuquququququququqtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuusutuuuvuwugtYtYtYtYuxoWuytYtYtYuzoWuAuctvtHuctvuBtItvtHtLtvtMtwuCuDuEuFuGtwuHuHuHtwtVtVtVtVtVtwuIuJuIuKuLufuMuMuMuNuquququNuquOuPuOuquQuRuStwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuTuUuUuUuUuUuUuUuUuUuUuUuUuUuVuWuUuUuUuXuVuYuZvavboWvctYtYtYtYvdoWvetYtYtYvfoWuatIvguatItvuavhtvuavitvtMtwvjtwvkvlvmtwueueuetwvkvlvntwvotwvpvqvpvqvpuftwtwtwtwuququqtwvrvsuOvtvrvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututututututuoWvwtYtYtYtYvxoWvytYtYvzoWoWoWtutututututututututututMtwueuevAvBvBvBvBvBvBvBvBvBvCueuevDvpvpvpvpvpufvEuMuntwuququqtwvFvFvGvFvFvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuusvHvavIoWvJvKvLvMtYoWoWvNtYtYvOoWvPvQoWvRvRvRvRvRvRvSvTvUtutMtwueuevVvWvXvXvXvXvXvXvXvYudueueufvZwawbwcwdufweuMuotwuququqtwwfwfuMwfwfvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuTuUuUuUuUuUuUuUuUuUuUuUuUuUwhuWuUuUuUuXwhwiuZvawjoWtuoWoWoWtYoWwktYtYtYwloWwmwnwowpwpwpwpwpwpwqtututututuueuevVwrwsuewtwuwvuewswrudueueufufufufufufufweuMuotwuququqtwwwwwuMwwwwvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMurtutututututututututututututututututututuuswxvawyoWwzwAwBoWtYoWwCwDtYtYwEoWwmwFtuwGwHwHwHwIwHwJtuwKwKwKtuueuewLwMwNwOwPwQwRwSwTwMwUueuetwwVwVwVwVwVtwtwuNtwtwtwuNtwtwuMuMuMuMuMvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwWpipipipipipipipipipipipipiwXphpipipirlwXwYwZwFxaoWxbtYxcoWxdoWoWoWxeoWoWoWwmwnxfxgxgxgxgxgxgxgxhxgxgxgxhueueuexiueuexjuexjueuexiueueuexkuququququqxkuququququququqxkwwwwwwwwwwvuvvvvtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMmo -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxloWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWxmxnwFxooWxpugxqoWtYxrtYxstYxtxuxutYxvtuxwxxxxxyxzxAxBtuxCxCxCtuueuevAxDxEwOxFuexGwSxHxDvCueuexkuququququqxkuququququququqxkwwwwwwwwwwtwuNuNtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwWpipipipipipipipipipipipipixIphpipipirlxIxJxKwFwnxLugtYtYxMtYxNtYwmwmxOxOwmwmxvtuxPxPxPxQxRxQxStututututuueuevVwMxTuexjuexjuexTwMudueuetwxUxVxVxVxWtwtwxXtwtwtwuNtwtwtwxYxYxYtwtwuququqxZuqyatwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxloWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWoWybycoWoWoWoWoWydoWyewmyfygyhyiwmxvtutuyjykylymynyoyjaMaMaMtwueuevVtwtwypyqueyrystwtwudueuetwaMaMaMaMaMtwytyutwuMyvuMuMywyxyyyyyyyztwuququPuPuquqyAaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmomomomomoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWyByCyDyEtYoWyFwmyfyGyGyiwmyHyIyJyjyKyLyMyNyOyjaMaMaMtwueuevVtwtwvkvlvlvlvntwtwudueuetwaMaMaMaMaMtwyuyutwyPyPyPuMywyyyyyyyyyQtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWyUtYtYtYtYtYtYoWyFtYtYwqwqwmwmwmwmyVyjyWyMyMyMyMyjaMaMaMtwueuewLyXyXyXyXyXyXyXyXyXwUueuetwaMaMaMaMaMtwyYyutwyPyZyPuMywywywywywywtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWzatYtYtYtYtYzboWzctYtYzdtYtYzezfzgzhyjyMyMyMyMziyjtwtwtwtwtwtwzjtwtwueueueueuetwtwtwtwtwtwaMaMaMaMaMtwzkyutwvEuMuMuMywaMaMaMaMaMtwuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmnaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWzlzlzmznzovNzpoWzczqzqoWzrzroWoWoWoWyjyMzsztzuzvyjzwzxzxzwzyzzuezAtwtwtwzBtwtwduaMaMaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwywaMaMaMaMaMzCuqyRuOuOySuqyTaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzDmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnwgmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmnmn -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoWoWoWoWoWoWoWoWoWoWoWoWzEzFzFzEaMaMaMyjyMzGzHzIzHyjzwzJzJzwzKzLuezAtwzMwUuewLzNtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzOuquqzPzPuquqzOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzQzRzRzRzRzSzSzRzRzTaMyjyMyMyMyMyMyjzwzxzxzwzUzLuezAtwudueueuevVtwaMaMaMaMaMaMaMaMaMaMaMzVzWzXzYaMaMaMaMaMaMaMaMaMtwzZuquququqAatwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcAdAeAfAgAgAhAhzRzTyjyjyjyjyjyjyjzwzwzwzwAizLuezAtwAjAkAjAlAjtwaMaMaMaMaMaMaMaMaMaMzVAmAnAoApzYaMaMaMaMaMaMaMaMtwtwtwtwtwtwtwtwaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcAqAgAgAgAgAgAgArAsaMaMaMaMaMaMtwAtzwAtzwzyzLueAuAvudueAwuexGywaMaMaMaMaMaMaMaMaMaMAxAyAzAzAAAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAbAcABACADADADADADzRAEaMaMaMaMaMaMtwAtzwAtzwzKzLueAuAvuCuewtAFyqywaMaMaMaMaMaMaMaMaMaMAGAHAHAHAzAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAIzRzRzRzRzRzRzRzRAEaMaMaMaMaMaMaMtwAtzwAtzwzUAJxTAKALAjAMANAOAjywaMaMaMaMaMaMaMaMaMaMAxAPAHAQARAxASaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALALALALALALALALALALALALALALALALALALALALALALATueueAUvVywywywaMaMaMaMaMaMaMzVAVAWAGAXAYAVAYzYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBaBaBaBaBaBaBaBaBaBaBaBbBcBdBeBfBgBgBgBgBgALBhxDBiueueBjvVxDBhywaMaMaMaMaMaMaMAxBkAHBlBmBnBoBnAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBpBqBrBpBqBqBsBtBuBqBvBwBcBaBaBxBgBgBgBgBgALBhwrBiueueuevVwrBhywywywywywywaMaMAxByAHAHBzBABABBAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBpBCBDBEBFBGBGBGBGBGBGBHBIBcBaBaBfBgBgBgBgBgALBhwrBiueueueBJwrBhBKBKBKBKBKywaMaMAGByAHAHAGBLBLBLAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBMBNBOBNBPBNBNBNBNBNBNBNBQBaBaBaALALALALBRBSALBhwrBiueueueBTBUvlBVBVBVBVBVBVBVBWAxBXAHAHBYAYAYAYBZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaCaCbCcCdBFCeCeCeCeCeCeCfCgBcBaBaALChCiCjCkCkALClCmCnueueueueCoCpCpCpCpCpCqCrCsCrCtAHAHAHAHCuCuCvAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaCaBqCwCaBqBqBsBtBuBqCxBwBcBaBaALCyCzCACkCkCBCCCDueueueueueCoCpCpCpCpCpCqCEBVBWAxCFAHCvCGByAHCHAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAZBaBaBaBaBaBaBaBaBaBaBaBaBaBbBcBaBaALCICJCKCkCkCBCCCDueueueueCLCMBVCNCpCpCOCPywaMaMCGByAHCvCQByAHCvCGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALCRCRCRCRCRCRCRCRCRCRCRCRCRCSCSCSCTCTCRCUvYCVueueueBJCWBhCXCpCqCYCZywaMaMCQByAHCvCQByAHCvCQaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDaDbDbDbDcDdDeCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCRBhwrBiueueueBTDfBVDgCpCpDhDiywaMaMDjByAHCvCQByAHCvDjaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkDkDkDlDmDnDoDpCTDqDrDsDpCTCTCTCTCTCTCTCTCRBhwrDtueueueueCoCpCpCpCpCpCqCEBVBWAxBXAHCvDjByAHDuAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDvDkDkDkDwDmDxDyDpCTDqDzDADpCTCTDBDBDBDBDBDBCRDCDDDEDFDGDGDGDHDGDGCpCpCpCqCrCsCrDIAHAHAHAHAHAHCvAGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDJDkDkDkDwDeCTCTCTCTCTCTCTCTCTDKDLDLDLDLDLDLCRCRCRCRCRDMDMCRCRCRCRCEBVBVBVBVBVBWAxzWzXDNAGDOAHBlAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDPDkDQDwDmDRDSDpCTDqDTDUDpCTDKDVDWDWDWDWDWCRDXDXDXDYDZDZEaEbEbCRBKBKBKBKywaMaMAxEcEdEeEfAxAPBlAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALEgDkDkEhDkDwDmEiEjDpCTDqEkElDpCTDKDWDWDWDWDWDWCREmEnEoEpDZDZDZEbEbCRywywywywywaMaMAGEeEeEeEqAxErErAxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkDkDkEsDeCTCTCTCTCTCTCTCTCTDKDWDWEtEuEvEwCRExEyEzDZEAEBDZDZECCRaMaMaMaMaMaMaMAxEcEdEeEDEEEFEFBZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkEGDkDvEHEIEJEKEKEKELELELEMENEOEPEQELELELCRCRCRERESESEAETEUEBEVEWCRaMaMaMaMaMaMaMEXAXEYEYEYBZEZEZFaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkDkDkEHFbFcFdFdFdFdELFeFfFgFhFiFjFkFfFeELCRCRCRCRCRCRFlFmFnFoEVEWCRaMaMaMaMaMaMaMaMEXEZEZEZFaaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALFpDkEHFbFcFcFdFdFdFdELFfFqFrFhFiFjFrFsFfELFtFuFvFwFxCRDZFlFoDZDZEAFyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALDkEHFbFcFcFcFdFdFdFdELFzFfFzFhFiFjFzFfFzELFADZDZDZDZFBDZDZDZDZDZFCFDaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALEHFbFcFcFcFcFcFcFcFcELFEFfFfFhFiFjFfFfFFELFGFHFIFJFKCRDZDZDZDZDZFLFMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMALALALALALALALALALALALALELFNFOFOFhFiFjFPFPFQELFRFSFTFUFVCRFWFXFYFZGaGbCRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiFiFiFiFiFiFiFiFiFiFiELELGcELELFiELELGcELELELELELELELCRCRCRCRCRCRCRCRaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELELELELGdELELELFiFiFiFiFiFiELFiELFiFiFiFiFiFiFiFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGeGfGfGfGfGgELELELELELELELELGhELELELELELELELELFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGeGfGfGfGfGgELGiGjGkGjGlGmGmGmGmGmGlGmGlGmGnELFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGoGfGfGfGfGpELGmGqGqGqGqGqGmGmGmGqGqGqGqGrGsELFiELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFiELGoGtGuGuGfGfGvGmGmGwGxGwGmGmGmGmGmGwGxGwGyGmELFiFiFiFiFiFiFiELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELFiELELELELELELELELGmGqGqGqGqGqGmGmGmGqGqGqGqGzGmELELELELELELELFiELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEFiELELGAGAGAGAGAELGBGBGBGBGBGBGBGBGBGBGBGBGBGCGBELGDGDGDGDGDELFiFiFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELELELGEGEGEGEGEELGFGGGGGGGGGGGGGGGGGGGGGGGGGHGFELGEGEGEGEGEELELELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGKGKGKGLGMGGGGGGGGGGGGGGGGGGGGGGGGGHGNGLGOGOGOGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGQGKGQGKGLGMGGGGGGGGGGGGGGGGGGGGGGGGGHGNGLGOGRGOGRGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGSGKGKGLGMGGGGGGGGGGGTGUGTGGGGGGGGGHGNGLGOGOGVGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGKGKGKGKGLGMGGGGGGGGGGGWGXGWGGGGGGGGGHGNGLGOGOGOGOGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELGIGJGKGQGKGQGKGLGMGGGGGGGGGGGZHaHbGGGGGGGGGHGNGLGOGRGOGRGOGJGPELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHdHcHcHcHeHeHeHcHcHeHeHeHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELFfHfGKGKGKGKGKGLGMGGGGGGGGGGGGHgGGGGGGGGGGGHGNGLGOGOGOGOGOHfFfELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHhHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHiGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFEELHjELHkHkHkHkHkELGFGGGGGGGGGGGGHgGGGGGGGGGGGHGFELHkHkHkHkHkELHjELFFELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHlHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFNHmFfELHnHnHnHnHnELGBGBGBGBGBGBHoHpHoGBGBGBGBGCGBELHqHqHqHqHqELFfHrFQELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHhHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELFfELELELELELELELHsHtHtHtHtHtHuHvHsHtHtHtHtHwHsELELELELELELELFfELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHxHlHcHcHcHcHcHcHcHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELFfFfFiFiFiFiFiELHsHsHyHsHyHsHsHzHAHsHyHsHyHBHsELFiFiFiFiFiFfFfELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELELELELELFiGcHsHsHsHCHCHCHsHsHsHCHCHCHCHCHsGcFiELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHDHEHcHcHcHcHcHcHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELHFHFHFHGHHHIHJHsHKHLHMHNHOHPHQELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHRHSHcHcHcHxHcHTHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMELELELELELELELELELELELELELELELELELaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHlHcHcHcHcHcHcHcHcHcHcHcHcHcHhHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHxHlHcHcHcHcHcHcHcHcHcHcHcHcHlHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHcHcHcHcHUHcHUHcHUHcHVHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHcHcHcHWHcHcHcHcHcHcHcHcHcHcHcHcHcHcHcGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGYHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXGY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHZHY -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIa -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIaIa +ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbsbtbsbtbsbrbubqbqbqbqbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbybzbzbzbAbB +amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaqarasatauavbgaxbibjbnbkblbmapaqararasataubgbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbvbpbpbpbrbEbFbEbFbEbrbGbGbGbGbGbrbwbHbwbHbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB +adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahbgbhbibjbnbkblaDapaqarasatauavbgbhavbgbhbiblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbMbNbMbNbMbrbGbGbGbGbGbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB +alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagblbmapaqarasataJavbgbhbibjbnbkblbmasatauavatauavbgbhbibjbnbkblaDaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbCbpbpbrbQbQbQbQbQbrbRbRbRbRbSbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB +aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbgbhbibjbnbkblaDapaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgaxaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbUbVbWbVbXbrbYbZcacbbYbrbwbwbHbwbwbrbxbxbxbxbxbraMaMaMaMaMbrbIbJbJbJbKbB +abaZaYaXaVbdbbbebfbacccdcecfcgchbbbdaRaYaXbebcaVaUbaaiarasatauavbgbhaybjbnbkblbmapaqarasapaqarasbhbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrcjbVbWbVckbrbYclcmcnbYbrbwbwbHbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB +aeaVbaaWbeaTaYbbaRcqcrcsctcucvcwcxaTaUbaaWbbbfbeaXbdafbnbkblbmapaqaraHatauavbgbhbibjbnbiavaraqbhauasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbvbpbpbCbrbQbQbQbQbQbrcyclcmcncybrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB +ahbebdaSbbbcbaaYaUczcucAcBcCcscDcEbcaXbdaSaYaRbbaWaTanbmapaqarasatauaKbgbhbibjbnbkblbmcFcGcHcIcJcKavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrcLcMcLcMcLbrcNclcmcncNbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB +agbbaTaZaYbfbdbaaXcOcPcBcQcRcSctcTbeaWaTaZbaaUaYaSbcakbibjbnbkblbmapaFarasatauavbgbhbicKcUcVcWcXcYaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobpbpbpbpbpbrbEbFbEbFbEbrcNclcmcncNbrbwbHbwbHbwbrbxbxbxbxbxbraMaMaMaMaMbrcobJbJbJcpbB +acaYbcaVbaaRaTbdaWchcvcDdacucQcBdbdcaSbcaVbdaXbaaZbfaaasatauavbgbhbiazbnbkblbmapaqarasdddedfdgdhdibhbnbkblbmapaqarasaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbobCbpbpbpbvbrbsbtbsbtbsbrdkdldmdndkbrbwbwbwbwbwbrbxbxbxbxbxbraMaMaMaMaMbrdodpdpdpdqbB +aibabfbebdaUbcaTchdrcsdscPcCdacDcAdtdubfbeaTaWbdaVaRajbhbibjbnbkblbmaEaqarasatauavbgbhdvdwdxdydedzapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMdAdBdBdBdBdBdCdBdBdBdBdBdCdBdBdBdBdBdCdDdDdDdDdDdCdDdDdDdDdDdCdDdDdDdDdDdCdDdDdDdDdDdE +afbdaRbbaTaXbfbcducDcAdFcvctcPdscRcQdGaRbbbcaSaTbeaUamaqarasatauavbgaxbibjbnbkblbmapaqdHdddIcGcHcIbhbibjbnbkblbmapaqaGaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLdJdKbrdMdMdMdMdMbrdNdNdNdNdNbrdOdOdPdQdQbrdRdSdTdRdUbrdVdWdWdWdXbrdYdZdZdZeabB +anaTaUaYbcaWaRbfdGdscRcScscBcvdFcudaebaUaYbfaZbcbbaXadauavbgbhbibjbnaBblbmapaqarasatauarbibjbnbkbgbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJosdLbrdMecdMdMdMbrdNedeeefdNbregegeheieibrdUejekelembreneoeoeoepbreqerereresbB +akbcaXbabfaSaUaRebdFcucQcAcDcscScCcPdcaXbaaRaVbfaYaWalbjbnbkblbmapaqaGasatauavbgbhbibjcFcGcHcIcJcKarasatauavbgbhbibjaAaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLdJdKdLdJbrdMdMdMetdMbrdNeueueudNbregeveveveibrdRewdRdSdRbreneoeoeoepbreqerereresbB +aabfaWbdaRaZaXaUdccScCdacRdscAcQctcvcxaWbdaUbeaRbaaSaobkblbmapaqarasaIauavbgbhbibjbnbkcKexeyezeAcYatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJosdLdJdKbrdMdMdMdMdMbrdNdNdNdNdNbregeheheheibrdSdRdUekdUbreneoeoeoepbreqerereresbB +ajaRaSaTaUaVaWaXcxcQctcPcudFcRdacBcscEaSaTaXbbaUbdaZabavbgbhbibjbnbkaCbmapaqarasatauavddeBeCeDeEdiblbmapaqarasatauavawaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJdKdLbrdMdMdMeFdMbrdNeGeHeIdNbreJeKeKeKeLbrdRdTdReMdTbreNeOeOeOePbreqerereresbB +amaUaZbcaXbeaSaWcEdacBcvcCcScucPcDcAcqaZbcaWaYaXaTaVaebnbkblbmapaqaraHatauavbgbhbibjbndveQeReSeBdzasatauavbgbhbibjbnaBaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLdJdKdLdJbrdMeTdMdMdMbrdNeUeVeWdNbreXeYeYeYeZbrdUfafbfcdSbrfdfefefeffbrfgerererfhbB +adaXaVbfaWbbaZaScqcPcDcsctcQcCcvdscRczaVbfaSbaaWbcbeaharasatauavbgbhaybjbnbkblbmapaqardHdddIcGcHcIbibjbnbkblbmapaqaraHaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLKFdKbrdMdMdMdMecbrdNeUeVeWdNbrfiehfjehfkbrfaflfmfnfcbrfoeoeoeofpbrfgerererfhbB +alaWbeaRaSaYaVaZczcvdscAcBdactcsdFcucTbeaRaZbdaSbfbbagbibjbnbkblbmapaFarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhbiazaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodKdLdJdKdLbrfqdMdMdMdMbrdNeUeVeWdNbrfifrfrfrfkbrflfmfmfmfnbrfoeoeoeofpbrfgerererfhbB +aoaSbbaUaZbabeaVcTcsdFcRcDcPcBcAcScCfsbbaUaVaTaZaRaYacatauavbgbhbibjaAbkblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasataJaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodLKFdKdLdJbrdMeFdMeTdMbrdNftfufvdNbrfifiehfkfkbrfmfmfmfmfmbrfoeoeoeofpbrfgerererfhbB +abaZaYaXaVbdbbbefscAcScudscvcDcRcQctccaYaXbebcaVaUbaaibmapaqarasatauaKbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkblbmaEaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMbodJdKdLdJdKbrdMdMdMdMfqbrdNdNdNdNdNbrfwfwfxfyfybrfmfmfmfmfmbrfzfAfAfAfBbrfCfDfDfDfEbB +aeaVbaaWbeaTaYbbcccRcQcCdFcsdscudacBfFbaaWbbbfbeaXbdafbkblbmapaqarasaIauavbgbhbibjbnbkblbmapaqarasatauavbgbhbibjbnbkaCaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfGfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfIfHfHfHfHfHfJ +ahbebdaSbbbcbaaYfFcudactcScAdFcCcPcDfKbdaSaYaRbbaWaTanauavbgbhbibjbnaBblbmapaqarasatauavbgbhbibjbnbkblbmapaqarasatauaKaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agbbaTaZaYbfbdbafKcCcPcBcQcRcSctcvdscOaTaZbaaUaYaSbcakbhbibjbnbkblbmaEaqarasatauavbgbhbibjbnbkblbmapaqarasatauavbgbhayaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acaYbcaVbaaRaTbdcOctcvcDdacucQcBcsdFchbcaVbdaXbaaZbfaaasatauavbgbhbiazaAaBaCaDaEaFaGaHaIaJaKawaxayazaAaBaCaDaEaFaGaHaIaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibabfbebdaUbcaTchcBcsdscPcCdacDcAcSdubfbeaTaWbdaVaRajaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afbdaRbbaTaXbfbcducDcAdFcvctcPdscRcQdGaRbbbcaSaTbeaUamaRaaabacadaeafagahaaaiajakalamanaoagafajacadahakaeamaiaoaRbbaLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +anaTaUaYbcaWaRbfdGdscRcScscBcvdFcudaebaUaYbfaZbcbbaXadaUajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaUaYaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +akbcaXbabfaSaUaRebcOdFcDdacScBczfFchdcaXbaaRaVbfaYaWalaXamaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaXbaaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aabfaWbdaRaZaXaUbbchcxebczcEdGcTaXaZaYaWbdaUbeaRbaaSaoaWadaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaWbdaLfLbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbebeaXbdbeaXbdbeaXbdbeaXbdbeaXbdbebeaXaMfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ajaRaSaTaUaVaWaXaYaZbabbbcbdbebfaWaVbaaSaTaXbbaUbdaZabaSalaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagaSaTaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfMfNfNfNfNfNfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +amaUaZbcaXbeaSaWbaaVbdaYbfaTbbaRaSbebdaZbcaWaYaXaTaVaeaZaoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacaZbcaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfPfQfRfSfTfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +adaXaVbfaWbbaZaSbdbeaTbaaRbcaYaUaZbbaTaVbfaSbaaWbcbeahaVabaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaVbfaLfLbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfbfbabaaZbfbaaZbfbaaZbfbaaZbfbaaZbfaTbafLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUfVfVfVfUfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +alaWbeaRaSaYaVaZaTbbbcbdaUbfbaaXaVaYbcbeaRaZbdaSbfbbagbeaeaVbaaWbeaTaYbbaRfWcfdbfXfYfZcwdtcgaUbaaWbbbfbeaXbdafbeaRaLfLaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRaRbdbdaVaRbdaVaRbdaVaRbdaVaRbdaVaRbdbdfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgagagafUfOgbgcfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aoaSbbaUaZbabeaVbcaYbfaTaXaRbdaWbebabfbbaUaVaTaZaRaYacbbahbebdaSbbbcbaaYgdgegfggghgigjgkglfZgmbdaSaYaRbbaWaTanbbaUaLfLaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaUaTaTbeaUaTbeaUaTbeaUaTbeaUaTbeaUaTaTfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUfOfOfOfOfOfOfOfOfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +abaZaYaXaVbdbbbebfbaaRbcaWaUaTaSbbbdaRaYaXbebcaVaUbaaiaYagbbaTaZaYbfbdbagmgigqghglgrgsgtgugvgwaTaZbaaUaYaSbcakaYaXaLfLaXbcbcbbaXbcbbaXbcbbaXbcbbaXgxgygmgmgxgxgyaXbcbbaXbcbbaXbcbbaXbcbbaXbcbcfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUgzgAgBgCgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aeanamacakalajaaaeadahabaiagaoafajalahamacaaabakagadafbaacaYbcaVbaaRaTbdgwgtgugkgIgfglghgjgJgKbcaVbdaXbaaZbfaabaaWaLfLaWbfbfaYaWbfaYaWbfaYaWbfaYaWgLgMgwgwgLgNgOaWbfaYaWbfaYaWbfaYaWbfaYaWbfbffLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgngogpfUgPgAgEgEgDgEgAgEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ahbdaSaYaRbbaWaTbbbdaSaYaRbbaWaTbbaWaTbdaSaYaRbbaWaTanbdaibabfbebdaUbcaTgKghgjgvgqgigIgkgggsgQbfbeaTaWbdaVaRajbdaSaLfLaSaRaRbaaSaRbagKgRgSgKgRgSgKgRgTgUgUgVgVgSgKgRgSgKgRgSgKaRbaaSaRbaaSaRaRfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgogogohtgXgYgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agaTaZbaaUaYaSbcaYaTaZbaaUaYaSbcaYaSbcaTaZbaaUaYaSbcakaTafbdaRbbaTaXbfbcgQgkgggJgugtgqgvgrglgZaRbbbcaSaTbeaUamaTaZaLfLaZaUaUbdaZaUbdgQhabdaZhahbgQhahchdhdhahahcgQgdhcaZaUhcgQaUbdaZaUbdaZaUaUfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUgogogohtgXgYgEgEgEgEjugEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acbcaVbdaXbaaZbfbabcaVbdaXbaaZbfbaaZbfbcaVbdaXbaaZbfaabcanaTaUaYbcaWaRbfgZgvgrgsgjghgugJgfgIhhaUaYbfaZbcbbaXadbcbeaLfLaVaXaXaTaVaXaTgZhihjhkhihlhkhihjhkhkhihihjhkgmhjhkhihjgZaXaTaVaXaTaVaXaXfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNfUhmgohnfUgPgAgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibfbeaTaWbdaVaRbdbfbeaTaWbdaVaRbdaVaRbfbeaTaWbdaVaRajbfakbcaXbabfaSaUaRhhhogfglgggkgjgsgicggyaXbaaRaVbfaYaWalbfbbaLfLbeaWaWbcbeaWbchhhphqhrhpgxhrhphqhrhrhphphqhrgwhqhrhphqhhaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNhsfUjvfUhugzgAgEgEgDgEgAgEgHgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhfhfhfaMhghghgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afaRbbbcaSaTbeaUaTaRbbbcaSaTbeaUaTbeaUaRbbbcaSaTbeaUamaRaabfaWbdaRaZaXaUhodtgrgvgrgvgggrgvfZgOaWbdaUbeaRbaaSaoaRaYaLfLbbaSaSbfbbaSbfgygUgNhvgUgLhvgUgNhvhvgUgUgNhvgKgNhvgUgNgyaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfNaMhshwhuaMgzgAgEgEgDgEgAgFgGgHgHfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhxhyhzhAhBhfhfhfaMhghghghxhyhzhAhBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +anaUaYbfaZbcbbaXbcaUaYbfaZbcbbaXbcbbaXaUaYbfaZbcbbaXadaUajaRaSaTaXicfXhChDgrgigsgigsgfgigsgkfZfZgxhCaYaUbdaZabaUbaaLfLaZaRaYaZaYaZaRgOhdgVgMhdgVgMhdgVgMhdgVgMhdgMhdgVgMhdgVgOaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEhFhFhFhGhHhIhHhHhHhJhHhKhFhFhFhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +akaXbaaRaVbfaYaWbfaXbaaRaVbfaYaWbfaYaWaXbaaRaVbfaYaWalaXamaUaZbcaWgygkgtgIgigsgjgrgvgigugvgrgqgkgkfXbaaXaTaVaeaXbdaLfLaVaUbaaVbaaVaUgShkhagThkhagThkhagThkhagThkgThkhagThkhagSaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEhLhMhNhOhPhQhRhShThUhPhVhWhXhYhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aaaWbdaUbbaSaYbeaTaUhZiaibicidbaiecdifcwigaUbeaRbaaSaoaWadaXaVbfaSgOgkghgqgugvgggigsgtgjgkgfgugvggcwbdaWbcbeahaWaTaLfLbeaXbdbebdbeaXhbhrhihchrhihchrhihchrhihchrhchrhihchrhihbbeaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEiiiiijikilimilinilimilioijiiiihEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ajbaaTaXaRbdaUbfaSaXipiqirisitaXiuiviwixiyaXbbaUbdaZabaSalaWbeaRaZgSgvgkgugjgJgrgkgqghgggsgigjgJgrizaTaSbfbbagaSbcaLfLbeaXbdbebdbegmhbhrhihchrhihchrhihchrhihchrhchrhihchrhihbhhaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiBiAiAiAiCiDiAiAiAiCiAiAiAiAiAiAiCiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhWiiiFimimimimimimimimimiFiihNiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ambdbcaWaUaTaXaRaZaWiyiHiIiJiKaWiLiMiNiOiPaWaYaXaTaVaeaZaoaSbbaUaViQgJgvgjgggsgfgvgugkgrglgtgggsgficbcaZaRaYacaZbfaLfLbeaXbdbebdbegmhchrhihchrhihchrhihchrhihchrhchrhihchrhihchhaXbdbeaXbdaMbefLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiBiAiAiAiAiAiAiAiAiAiAiAiCiAiAiAiAiAiCiAiAiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhHhKiRilimiliSiSilimiThGhHiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +adaTbfaSaXbcaWaUaVaSiPiUiVirieaSipiWiXiYiZaSbaaWbcbeahaVabaZaYaXbecggsgJgggrglgigJgjgvgfgIghgrglgihobfaVaUbaaibeaRaLfLbbaWaTbbaTbbgwhjhvhphjhvhphjhvhphjhvhphjhvhjhvhphjhvhphjgyaWaTbbaWaTaMbbfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAjaiAiAiAiAiAiBiAiAiDiCiAiAiCiAiAiCiDiAiCiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjbinimjcjbjbjdimjehEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +albcaRaZaWbfaSaXbeaZiZisjfiIjgaZiyjhixjiitaZbdaSbfbbagbeaeaVbaaWbbfZglgsgrgfgIgtgsgggJgigqgkgfgIgtdtaRbeaXbdafaMaUaLfLbfbabaaZbfbagQgLgThdgNgTgQgLgThdgNgNgTgThdgLgShdgNgThdgLgSaZbfbaaZbfaTbafLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiBiAiAiCiDiAiAiCiAiDihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjhEjkilimjcjbjbjdimhPhEjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aobfaUaVaSaRaZaWbbaVitipiKiZhZaViPigiuiyiKaVaTaZaRaYacbbahbebdaSgOdbgIglgfgigqghglgrgsgtgugvgigqghhDgdbbaWaTanbbaXaLfLaRbdbdaVaRbdaVgRhbgZgRhbgZgRhchkgVgVhchchkgRhbgZgRhbgZgRbdaVaRbdaVaRbdbdfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiBiAiAiAiAiAiDiAiCiDiAiCiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjjmjnimimiljojoilimjpjqjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +abaRaXbebcaVaUbaaVaRaXbebcaVaUbaaVaUbaaRaXbebcaVaUbaaiaYagbbaTaZgSgggqgIgigtgugkgIgfglghgjgJgtgugkgIgmaYaSbcakaYaWaLfLaUaTaTbeaUaTbeaUaTbeaUaTbegdhjhrhahahjhjhrgdaTbeaUaTbeaUaTbeaUaTbeaUaTaTfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAjrjrjrjrjrjrjriAiAiAiAiAiAiAiCiAiAjaiDiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjjjjjjjjhEhPjsimimimimimimilhEjljljljlaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aebaaWbbbfbeaXbdbebaaWbbbfbeaXbdbeaXbdbaaWbbbfbeaXbdafbaacaYbcaVhbgrgugqgtghgjgvgqgigIgkgggsghgjgvgqgwbaaZbfaabaaSaLfLaXbcbcbbaXbcbbaXbcbbaXbcbbgmhqhvhihihqhqhvgmbcbbaXbcbbaXbcbbaXbcbbaXbcbcfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAjtfOdjgWgWgWhefOjxiAiAiAiAjaiAiAiBiAiBiAiCiAiCihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhGhHhHhHjyimilimimjzhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +ahaSaSaYaRbbaWaTbbaSaSaYaRbbaWaTbbaWaTaSaSaYaRbbaWaTanbdaibabfbehlgfgjgughgkgggJgugtgqgvgrglgkgggJgugKbdaVaRajbdaZaLfLaWbfbfaYaWbfaYaWbfaYaWbfaYgwgNgMhphpgNgNgMgwbfaYaWbfaYaWbfaYaWbfaYaWbfbffLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjAjBjCjDjEjFjFfOjGiAiAjrjrjrjrjrjrjrjrjHjIjrihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjJjJjKjLimilimimiljMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +agaZaZbaaUaYaSbcaYaZaZbaaUaYaSbcaYaSbcaZaZbaaUaYaSbcakaTafbdaRbbgxgigggjgkgvgrgsgjghgugJgfgIgvgrgsgjgQaTbeaUamaTbeaLfLaSaRaRbaaSaRbaaSaRbaaSaRbagKgVgTgUgUgVgVgTgKaRbaaSaRbaaSaRbaaSaRbaaSaRaRfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjNjBjBjOjBjBjBfOjGiAjPjQjRjRjSihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMjTjUjUjUjVimjWjXjYjXhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +acaVaVbdaXbaaZbfbaaVaVbdaXbaaZbfbaaZbfaVaVbdaXbaaZbfaabcanaTaUaYgLgtgrgggvgigJgkgIgsghgqgrgtgJgfglgggZbcbbaXadbcbbaLfLaZaUaUbdaZaUbdaZaUbdaZaUbdgQgdhchdhdhahahbgQaUbdaZaUbdaZaUbdaZaUbdaZaUaUfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAfOjZjBjBjBkajBkbfOjGjajPkckdkdkdkekfihkgkhihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkikjjUkkimklkmknkohEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aibebeaTaWbdaVaRbdbebeaTaWbdaVaRbdaVaRbebeaTaWbdaVaRajbfakbcaXbagRghgfgrgJgtgsgvgqglgkgugfghgsgigIgrhhbfaYaWalbfaYaLfLaVaXaXaTaVaXaTaVaXaTaVaXaTaVgmhlgZgZgmgmhlaVaXaTaVaXaTaVaXaTaVaXaTaVaXaXfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAkpfOfOfOkqfOfOfOkriAiAkskckdkdktkdkdkukvkvkwihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkxjUjUjLimjXkykykzhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +afbbbbbcaSaTbeaUaTbbbbbcaSaTbeaUaTbeaUbbbbbcaSaTbeaUamaRaabfaWbdfFgkgigfgsghglgJgugIgvgjgigkglgtgqgfdcaRbaaSaoaRbaaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAfOkAjBkAfOkBjrjrjrkCkDkdkEkFkGkdihkvkHkHihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEkikjjUjVimkIkykykJhEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +analahajaoacaeabanagakafamaafLfLfLfLfLahajabafaoaaagadaUajaRaSaTfYgvgtgiglgkgIgsgjgqgJgggtgvgIghgugidtaUbdaZabaUbdaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAfOkKjBkLfOjQjRjRjRjSihkdkEkMkGkdihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEkNkNhHkOkPhHhHkNkNiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bebcaXbabfaSaUaRbeaWbbaVbdaYaZaTaUaSbbaXbaaRaVbfaYaWaTaXamaUaZbchCgJghgtgIgvcgglgggugsgrcwgJgqgkgjgthDaXaTbeaeaXaTaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAjtfOfOfOfOfOkKjBkLfOkckQkQkQkQkRkdkdkdkdkdkSkTkUihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiEhKkVjdimkWkXhGiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bbaWbdaUbeaRaUbeaRaWbdaUbeaRaWbdaUbeaRaWbdaUbeaRbaaSbcaWadaXaVbffXgsgkghgqgJfZgIgrgjglgfizgsgugvggghfWaWbcbeahaWbcaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBfOkKjBkLfOkDkQkZjRjSihkdkdkdkdkdihlalalbihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhEjbiliSillchEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aYaSaTaXbbaUaXbbaUaSaTaXbbaUaSaTaXbbaUaSaTaXbbaUbdaZbfaSalaWbeaRcwglgvgkgugsdbcgfYldfWhCicglgjgJgrgkcgaSbfbbagaSbfaLfLbeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbebeaWaWbcbeaWbcbeaWbcbeaWbcbeaWbcbeaWaWfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBkKlefOkKjBkLfOfOlflglhliihihihihihljihlklalbihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhElllmlnlolphEaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +baaZbcaWaYaXaWaYaXaZbcaWaYaXaZbcaWaYaXaZbcaWaYaXaTaVaRaZaoaSbbaUizfWhoicdbhDldbcaWaUaTaShofWlddtfYicfZaZaRaYacaZaRaLfLbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbbbaSaSbfbbaSbfbbaSbfbbaSbfbbaSbfbbaSaSfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihlqiAfOkYjBkKlrfOfOlsfOfOltjBjBfOlulvliihlwlxlyihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMiElzlAlAlAlBiGaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bdaVbfaSbaaWaSbaaWaVbfaSbaaWaVbfaSbaaWaVbfaSbaaWbcbeaUaVaeaVbaaWbeaTaYbbaRbdaUbfaSaXbcaZaYaTaUbaaWbbbfbeaXbdafaVaXaLfLaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaRaYaZaYaZaRaYaZaRaYaZaRaYaZaRaYaZaZfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBlCjBjBlDjBjBjBjBfOjGiAjPlElFlxlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aTbeaRaZbdaSaZbdaSbeaRaZbdaSbeaRaZbdaSbeaRaZbdaSbfbbaXbeahakadaiaaaoamajahalagaeafacabanamaoagadacaiaeaaacalanbeaWaLfLaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaVaUbaaVbaaVaUbaaVaUbaaVaUbaaVaUbaaMaVfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAfOkYjBjBjBlGjBjBjBlHjBjBjBfOlIiAjPkclwlJlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +bcbbaUaVaTaZaVaTaZbbaUaVaTaZbbaUaVaTaZbbaUaVaTaZaRaYaWaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLfLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAjtfOfOfOfOfOfOlKjBjBfOfOfOfOfOfOjxjPkDlwlxlxihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMlNlOlPfOjBjBjBfOlQlRlSlTlUfOlVihlwlxlWihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXlXlXlYjBjBjBlZjBjBjBjBmafOlVihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMlXlXlXmbjBjBjBmcjBjBjBjBmafOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXlXmdfOmemfmgfOmhfOjwfOfOfOmjiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlXlXlXfOfOfOlXlXlXfOfOfOjBjBjBfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOlLlMbDfOiAfOmlmlmlfOiAfOjFmmmnfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAfOmlmlmlfOiAkpmompmqkriAfOmlmlmlfOjGiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAkpmompmqkriAiAiAiAiAiAiAkpmompmqkriAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAiAihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmsmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihihihihihihihihihihihihihihihihihihihihihaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu +mrmrmrmrmrmrmrmvmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMmumumuaMaMaMaMaMmumumumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMmumumumumumumumumuaMmumumumumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumumumumumumumumumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmwmxmxmxmymxmxmzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMmAaMmBmumumumumumumumumumumumumumumumumumumumumumumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmDmDmDmEmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMmAmBmumumumumumumumumumumumumumumumumumumumumumumumumumumu +mrmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmDmFmDmGmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMmAaMmumumumumumumumumumumumumumumumumumumumumumumumumumumu +mHmrmrmrmrmrmrmrmrmrmrmrmrmrmraMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImImImJmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumuaMaMaMaMaMaMmKmBmumumumumumumumumumumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmMmNmxmxmxmOmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumuaMaMaMaMaMaMmPaMmBmumuihihihihihmumumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmGmDmGmDmDmDmDmDmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMihihmQmRmSihihmumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmLmLmLmLmMmxmxmzmDmDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMlEmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMkcmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmCmImDmDmTmCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMkDmUmVmWmVmUihmumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmXmxmxmxmxmOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMihihmWmWmYihihmumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMihmWmWmWihmumumumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmZnananbihihncihihihihihihihmumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMnvrPrIrIrIrBnzaMaMndnenfngnenenerlihninjnknlihmumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMnvnHnInJnKnLnMnHnzaMndnenmnmnenenenennnonononpihmumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMnHnQnRnRnSnRnRnLnHaMndnqnrnsntneneneihnonononuihihihihihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMnHnZnRnRnRnRoanLnHaMndnenAnAnenenepaihnCnonDnEihbLkQbOihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHofnRnRognRnRohnHaMndneneneneneneriihihihihihihbPkQbTihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMomnHonnHnHnHnHnHooaMnTnananUihkdkdkdihkTkTnVnWihcikQmkihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoGoyoaounFnHaMaMaMaMaMaMobkdkdkdoclalaododihcikQnGihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHoBoAoanRornHaMaMaMaMaMaMoikdkdkdihojlaihihihokolokihihihmumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHoBoyoanRornHnzaMaMmPmKoFihkdkdkdihihihihnOnOkQkQkQnPnPihihmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnvnHnHnHnHvLoyoanRornHnHnHnHnzototihkdkdkdkdihnYnXkQkQkQkQkQkQkQoxihmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHpioXoYnHnRoHnRoJnHnHoZoOpbrTkRpnkRkdkdkdkdoCkQkQkQkQkQoDkQkQkQoeihmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMphoWpjoWnHnHnHpknHnHpJoZplpmrTkRpLkRkdkdkdkdihoqopkQkQkQkQkQkQkQoMihmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMnHnHphpxnHnHnRnRpynHnHpzpApznHoIoIihoPnanUihihihihowovkQkQkQozozihihmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHpGnRnRpHnHnRnRnRnHrbpKrdpInHmBaMmBaMaMaMaMmumuihihihokpcokihihihmumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVpdpepepepepfpfpepepepepgoVoVoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqanRnRnRqbnRnRnRqcnRnRnRqdnHmKmKmKmKaMaMaMaMmumumuihoEkQoEihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVpdpppqprpspeptpupepvpwpepepepgoVoVoNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMnHqCnRnRnRqDnRnRnRqEnRnRnRqFnHaMaMaMaMaMaMaMaMaMmumuihoEkQoEihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpdpepBpBpBpBpepCpCpepBpBpDpEpepepgoVpFpFpFpFpFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnvnHnHnHnHnHnHnRnRnRnHnHnHnHnHnHnzaMaMaMaMaMmAaMmBmumuihoEkQoEihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpepepMpNpOpPpepBpBpQpBpBpBpBpRpSpeoVpFpTpUpVpFpFpFpFpFpWpXpXpYpFpFaMaMaMaMaMaMaMaMpZpZpZpZpZpZpZpZpZpZpZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMnHqZrasercsvnHrenRnRnHrfrfrfrgrgnHaMaMaMaMaMmAmBmumumuihoEkQoEihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfqgpBqhqhqhpepBpBpeqiqjqkqlqmqnpeoVpFqopUpUqpqqqrqsqtquqsqvqwqxpFpFpFpFpFpFpFpFpFpFqyqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMnxrjrjrjrjrjnHnRnRnRnHrenRnRnRrknwaMaMaMaMaMmPaMmumumuihihihihihmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfpBpBpBpBpBpQpBpBpepepepepepepeqHqIpFpFpFpFpFqqqvqsqJqKqsqvqvqvqLqMqMqMqMqMqMqMqMqNqyqOqPqPqPqPqPqQqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMnhrCrDrjrjrjrEnRnRnRrFnRnRnRrGrHmiaMaMaMaMaMmAmBmBmumumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpeqSpBqSpBqSpepBpBpBqTqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqvqvqLqMqMqMqMqMqMqMqMqNqyqXqYqYqYqYqYqXqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnyrjrjrjrjrjrQnRnRnRrRnRnRnRnRrSnBaMaMaMaMaMmAaMaMmBmumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVpepepepepepepepBpBrhpBqUoVoVoVoVoVqVqWqMqMqMqLqvqvqvqvqvqvqvqqqqpFpFpFpFpFpFpFpFpFpZqyqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsbrjrjrjscnHpzsdpznHoKoKsInRsfnHaMaMaMaMaMaMaMaMaMmumumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUpdpermrnrormrppepBpBpBrqqUoVoVoVoVoVoVpFpFpFpFpFqvqvqsqJquqsqvrrrspFrtrururvpFrwrxrypZqzqXqYqYqYqYrzrApZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHspsqsrssstnHsunRvUnHyCnHnHnNnHnHaMaMaMaMaMaMaMmAaMmBmumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqeqfrJrJrJrJrJpQpBpBpepepepepepepepgoVpFpTpUpVpFqvqvqsqJrKqsqvqqqqpFrLrLrLrLpFrMrxrNpZqzqXqYqYqYqYqYrOpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsGrjsHLwnHnHnRsJsKnHnHnHnRnRLxnHaMaMaMaMaMaMaMmAmBmBmumumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqGqfrUrJrJrJrJpepBpBpBpBpBpepBrVrWpeoVpFqopUpUqpqvqvqvqvqvqvqvqvqvpFrLrXrYrYpFpFrZpFpZqzqXqYqYqYqYsaqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsWsXsYnHaMnHsZsZsZnHaMnHnLtatbnHaMaMaMaMaMaMaMmAaMmBaMmumumumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUqRpepesgshshshpepBpNsipNpBpQpBsjskpeoVpFpFpFpFpFpFpFslpFpFpFqvqvqvsmrLsnsnrLrLrLrLsopZqzqXqYqYqYqYqYrOpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMnHsZsZsZnHaMomtmtntoooaMnHsZsZsZnHaMaMaMaMaMaMaMmAmBmBmBmBmBmumumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVqRperJrJrJrJpepBsipNsipBpeqSpepeqHoVpFsxsyszpFsAsBsBsBsCpFqvqvqvqvrLrLrLrLsDrLrLrYpZqzqXqYqYqYqYsEsFpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMomtmtntoooaMaMaMaMaMaMaMomtmtntoooaMaMaMaMaMaMaMmAaMmBaMmBaMaMmumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVqRpesLsMsNpepBpBpBpBpBpepepeqHoVoVpFsOsPsQsRsBsBsBsBsSpFqvqvqvsmsTrLrLrLsUrLrLsVpZqzqXqYqYqYqYqYqXpZqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMmumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVqRpepepepepepepepepepeqHoVoVoVoVpFpFtctdpFpFpFtctetdpFqvqvqvpFtftgtgtgtgtgthpFpZqztitjqYqYqYtktlqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoToUoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVpFtptptptptptptptptppFpFtqpFpFtptptptptptptppFpZqztrtstttttttstuqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNtvoNoNoNoNoNoNoNoNoNoNoNoNtwtwtwtwtwtwtwtwtwtwtwtwtxtxtxtxtxtxtxpFtytztypFtxtxtxtxtxtxtxtxpZqzqztAtBtBtBtCqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoLoNaMaMaMaMoNtEtFtGtHtHoNtItJtwtItKtwtLtMtwtItJtwtNtxtOtPtQtRtSpFtytztypFtTtUtVtWtWtxaMaMpZqzqzqzqzqzqzqzqzqAqBaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNAgoNoNoNoNoNoNtYtZtZtZuaoNubtMtwubuctwubtJtwubudtwtNtxueufufufufpFtytztypFtWtWtWtWtWtxaMaMugugugugugugugugugugugtxtxtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMtvtvtvtvtvoNuhoQoSoRswpooNuntZtZtZuaoNtwtwtwtwtwtwtwtwtwtwtwtwtNtxueufufufufpFpFtqpFpFtWtWtWtWtWtxuguguguguguguoupuqtxurururtxururururururururtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutuuuvuwDUuhtZtZtZtZtDoNuztZtZtZuAoNuBudtwtIudtwuCtJtwtItMtwtNtxuDuEuFuGuHtxuIuIuItxtWtWtWtWtWtxuJuKuJuLuMuguNuNuNuOurururuOuruPuQuPuruRuSuTtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVAIuXuVuVuVuYAIuZvavbvcoNvxtZtZtZtZuioNvftZtZtZvgoNubtJvhubtJtwubvitwubvjtwtNtxvktxvlvmvntxufufuftxvlvmvotxvptxvqvrvqvrvqugtxtxtxtxurururtxvsvtuPvuvsvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvoNLytZtZtZtZvyoNvztZtZvAoNoNoNtvtvtvtvtvtvtvtvtvtvtvtNtxufufvBvCvCvCvCvCvCvCvCvCvDufufvEvqvqvqvqvqugvFuNuotxurururtxvGvGvHvGvGvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutvIvbvJoNukujulumtZoNoNxatZtZvOoNuyvQoNvRvRvRvRvRvRvSvTcZtvtNtxufufvVvWvXvXvXvXvXvXvXvYueufufugvZwawbwcwdugweuNuptxurururtxwfwfuNwfwfvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwgaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpwqtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhwkoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywyxtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyIzozpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxdCaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMzRzSzTzUaMaMaMaMaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaAbAcAcAdAdzNzPyhyhyhyhyhyhyhzszszszsAezHufzwtxAfuxAfAhAftxaMaMaMaMaMaMaMaMaMaMzRAiAjAkAlzUaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAmAcAcAcAcAcAcAnAoaMaMaMaMaMaMtxApzsApzszuzHufAqArueufAsufxFyuaMaMaMaMaMaMaMaMaMaMAtAuAvAvAwAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYAxAyAzAzAzAzAzzNAAaMaMaMaMaMaMtxApzsApzszGzHufAqAruDufwtAByoyuaMaMaMaMaMaMaMaMaMaMACADADADAvACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAEzNzNzNzNzNzNzNzNAAaMaMaMaMaMaMaMtxApzsApzszQAFxSAGAHAftXAJAKAfyuaMaMaMaMaMaMaMaMaMaMAtALADAMANAtAOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAPufufAQvVyuyuyuaMaMaMaMaMaMaMzRARASACATAUARAUzUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAZBaBbBcBcBcBcBcAHBdxCBeufufBfvVxCBdyuaMaMaMaMaMaMaMAtBgADBhBiBjBkBjAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBlBmBnBlBmBmBoBpBqBmBrBsAYAWAWBtBcBcBcBcBcAHBdwrBeufufufvVwrBdyuyuyuyuyuyuaMaMAtBuADADBvBwBwBxAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBlByBzBABBBCBCBCBCBCBCBDBEAYAWAWBbBcBcBcBcBcAHBdwrBeufufufBFwrBdBGBGBGBGBGyuaMaMACBuADADACBHBHBHAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBIBJBKBJBLBJBJBJBJBJBJBJBMAWAWAWAHAHAHAHBNBOAHBdwrBeufufufBPBQvmBRBRBRBRBRBRBRBSAtBTADADBUAUAUAUBVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBWBXBYBZBBCaCaCaCaCaCaCbCcAYAWAWAHCdCeCfCgCgAHChCiCjufufufufCkClClClClClCmCnCoCnCpADADADADCqCqCrACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBWBmCsBWBmBmBoBpBqBmCtBsAYAWAWAHCuCvCwCgCgCxCyCzufufufufufCkClClClClClCmCABRBSAtCBADCrCCBuADCDAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAWAWAHCECFCGCgCgCxCyCzufufufufCHCIBRCJClClCKCLyuaMaMCCBuADCrCMBuADCrCCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHCNCNCNCNCNCNCNCNCNCNCNCNCNCOCOCOCPCPCNCQvYCRufufufBFCSBdCTClCmCUCVyuaMaMCMBuADCrCMBuADCrCMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHCWCXCXCXCYCZDaCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCPCNBdwrBeufufufBPDbBRDcClClDdDeyuaMaMDfBuADCrCMBuADCrDfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgDgDgDhDiDjDkDlCPDmDnDoDlCPCPCPCPCPCPCPCPCNBdwrDpufufufufCkClClClClClCmCABRBSAtBTADCrDfBuADDqAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDrDgDgDgDsDiDtDuDlCPDmDvDwDlCPCPDxDxDxDxDxDxCNDyDzDADBDCDCDCDDDCDCClClClCmCnCoCnDEADADADADADADCrACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDFDgDgDgDsDaCPCPCPCPCPCPCPCPCPDGDHDHDHDHDHDHCNCNCNCNCNDIDICNCNCNCNCABRBRBRBRBRBSAtzSzTDJACDKADBhAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDLDgDMDsDiDNDODlCPDmDPDQDlCPDGDRDSDSDSDSDSCNDTDTDTIZDVDVDWDXDXCNBGBGBGBGyuaMaMAtDYDZEaEbAtALBhAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEcDgDgEdDgDsDiEeEfDlCPDmEgEhDlCPDGDSDSDSDSDSDSCNEiEjEkElDVDVDVDXDXCNyuyuyuyuyuaMaMACEaEaEaEmAtEnEnAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgDgDgEoDaCPCPCPCPCPCPCPCPCPDGDSDSEpEqErEsCNEtEuEvDVEwExDVDVEyCNaMaMaMaMaMaMaMAtDYDZEaEzEAEBEBBVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgECDgDrEDEEEFEGEGEGEHEHEHEIEJEKELEMEHEHEHCNCNCNENEOEOEwEPEQExERESCNaMaMaMaMaMaMaMETATEUEUEUBVEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgEDEXEYEZEZEZEZEHFaFbFcFdFeFfFgFbFaEHCNCNCNCNCNCNFhFiFjFkERESCNaMaMaMaMaMaMaMaMETEVEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHFlDgEDEXEYEYEZEZEZEZEHFbFmFnFdFeFfFnFoFbEHFpFqFrFsFtCNDVFhFkDVDVEwFuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgEDEXEYEYEYEZEZEZEZEHFvFbFvFdFeFfFvFbFvEHFwDVDVDVDVFxDVDVDVDVDVFyFzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEDEXEYEYEYEYEYEYEYEYEHFAFbFbFdFeFfFbFbFBEHFCFDFEFFFGCNDVDVDVDVDVFHFIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHEHFJFKFKFdFeFfFLFLFMEHFNFOFPFQFRCNFSFTFUFVFWFXCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeFeFeFeFeFeFeFeFeFeFeEHEHFYEHEHFeEHEHFYEHEHEHEHEHEHEHCNCNCNCNCNCNCNCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHEHEHEHFZEHEHEHFeFeFeFeFeFeEHFeEHFeFeFeFeFeFeFeFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHEHEHEHEHEHEHEHGdEHEHEHEHEHEHEHEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHGeGfGgGfGhGiGiGiGiGiGhGiGhGiGjEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGkGbGbGbGbGlEHGiGmGmGmGmGmGiGiGiGmGmGmGmGnGoEHFeEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGkGpGqGqGbGbGrGiGiGsGtGsGiGiGiGiGiGsGtGsGuGiEHFeFeFeFeFeFeFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHFeEHEHEHEHEHEHEHEHGiGmGmGmGmGmGiGiGiGmGmGmGmGvGiEHEHEHEHEHEHEHFeEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAFeEHEHzazazazazaEHGxGxGxGxGxGxGxGxGxGxGxGxGxGyGxEHzbzbzbzbzbEHFeFeFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHEHEHHgHgHgHgHgEHGBGCGCGCGCGCGCGCGCGCGCGCGCGDGBEHHgHgHgHgHgEHEHEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGGGGGGGFGIGCGCGCGCGCGCGCGCGCGCGCGCGDGJGFGKGKGKGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGMGGGMGGGFGIGCGCGCGCGCGCGCGCGCGCGCGCGDGJGFGKGNGKGNGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGOGGGGGFGIGCGCGCGCGCGPGQGPGCGCGCGCGDGJGFGKGKGRGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGGGGGGGGGFGIGCGCGCGCGCGSGTGSGCGCGCGCGDGJGFGKGKGKGKGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGUGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHzjGAGGGMGGGMGGGFGIGCGCGCGCGCGVGWGXGCGCGCGCGDGJGFGKGNGKGNGKGAGwEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGZGYGYGYHaHaHaGYGYHaHaHaGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHFbGHGGGGGGGGGGGFGIGCGCGCGCGCGCHcGCGCGCGCGCGDGJGFGKGKGKGKGKGHFbEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUHdGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYHeGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFAEHHfEHHbHbHbHbHbEHGBGCGCGCGCGCGCHcGCGCGCGCGCGDGBEHHbHbHbHbHbEHHfEHFBEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYHhGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFJHiFbEHGzGzGzGzGzEHGxGxGxGxGxGxHkHlHkGxGxGxGxGyGxEHGEGEGEGEGEEHFbHnFMEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYHdGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHFbEHEHEHEHEHEHEHHoHpHpHpHpHpHqHrHoHpHpHpHpHsHoEHEHEHEHEHEHEHFbEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYHtHhGYGYGYGYGYGYGYGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFbFbFeFeFeFeFeEHHoHoHuHoHuHoHoHvHwHoHuHoHuHxHoEHFeFeFeFeFeFbFbEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHEHEHEHEHFeFYHoHoHoHyHyHyHoHoHoHyHyHyHyHyHoFYFeEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYHzHAGYGYGYGYGYGYGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHHBHBHBHCHDHEHFHoHGHHHIHJHKHLHMEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYHNHOGYGYGYHtGYHPGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYHhGYGYGYGYGYGYGYGYGYGYGYGYGYHdGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYHtHhGYGYGYGYGYGYGYGYGYGYGYGYHhGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYGYGYGYGYHQGYHQGYHQGYHRGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUGYGYGYHSGYGYGYGYGYGYGYGYGYGYGYGYGYGYGYGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMGUHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTGU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHUHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHVHU +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHXHW +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHWHW aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM @@ -2176,30 +2178,31 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIcIcIcIcIcIcIcIcIcIcIcIcIdIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIeIfIgIhIiIjIcIkIlImIcInIoIpIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIgIqIrIsItIuIoIoIvIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIwIwIgIgIgIxIcIyIzIAIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIBIcICICIDIcIEIFIGIHIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIIIIIgIgIgIJIcICICICIKICICICILIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIMINIOaMIMINIOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIPIcIQIRISIcITIUIVIHIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIWIXIYIYIYIZIWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIxIcIcIcIcIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIMINJaINJbJcJdJeJfJcJgINJaINIOaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJiJjJkIgJlJmJnJlJoJpJqJrJsIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIXIYIYIZIWaMIXJcJtJuJvJcIZaMIWIXIYIYIZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJwJxJkIgJyJyJyJyJzJAJBJAJBIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJCJDJcIWIXJcJEJFJGJFJHJcIZIWJcJIJJJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJKJLJkIgJyJyJyJyJyJyJyJyJyIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJMJNJcIYJOJPJHJFJQJFJHJPJOIYJcJRJSJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgJhJTJUJkIgJyJyJyJyJyJyJVJWJXIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcJYJZJcIYKaJPJHJFJHJFJHJPKaIYJcKbKcJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIgIgIgIgIgIgJyJyJyJyJyJyJyJyJyIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcKdKeJcJcJcJcJcJcKfJcJcJcJcJcJcKgKhJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKiKjKjKkKjKjKjKkKjKjKjKkKjKjKlIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJOKmKnKnKnKnKnKnJcKnJcKnKnKnKnKnKnKmJOIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKoKpKpJoKqKrKsJoKtKtKuJoKvKwKxIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYKyKzKAKBKCKDJcKfJcKfJcKfJcKEKFKGKHKzKyIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcKpKIKoJzKrKJKrJzKKKLKtJzKMKxKNIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYKaKzJHJHJHKOJcJHJHJHJHJHJcJHJHKPJHKzKaIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcIcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIXJcKQKRKSKTKUJcKVJHJHJHKWJcKXKYKZLaKQJcIZaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcLcLcJcJcJcJcLdJHJHJHLeJcJcJcJcLcLcJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbLgLgLfaMaMJcLhJHJHJHLiJcaMaMLbLgLgLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLjJHJHJHLiJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLkLlLmLkLlJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLnLoJHLpLqJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMJcLrLsJHLtLuJcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcLvLwJHJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMLbJcJcJcLfaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHZHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIaIbIcIdIeIfHYIgIhIiHYIjIkIlHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcImInIoIpIqIkIkIrHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIsIsIcIcIcItHYIuIvIwHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIxHYIyIyIzHYIAIBICIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIEIEIcIcIcIFHYIyIyIyIGIyIyIyIHHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIIIJIKaMIIIJIKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcILHYIMINIOHYIPIQIRIDHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMISITIUIUIUIVISaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcItHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIIIJIWIJIXIYKuLeJWIYJcIJIWIJIKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJeJfJgIcJhJiJjJhJkGLJmJnHjHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMITIUIUIVISaMITIYJpJqJrIYIVaMISITIUIUIVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJsJtJgIcJuJuJuJuJvJwJxJwJxHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJyJzIYISITIYJAJBJCJBJDIYIVISIYJEJFIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJGJHJgIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJIJJIYIUJKJLJDJBJMJBJDJLJKIUIYJNJOIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcJdJPJQJgIcJuJuJuJuJuJuJRJSJTHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJUJVIYIUJbJLJDJBJDJBJDJLJbIUIYJXJYIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYIcIcIcIcIcIcJuJuJuJuJuJuJuJuJuHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYJZKaIYIYIYIYIYIYKbIYIYIYIYIYIYKcKdIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKeKfKfKgKfKfKfKgKfKfKfKgKfKfKhHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJKKiKjKjKjKjKjKjIYKjIYKjKjKjKjKjKjKiJKIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKkKlKlJkKmKoKnJkKpKpKqJkKrKsKtHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJaKvKwKxKyKzIYKbIYKbIYKbIYKAKBKCKDKvJaIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYKlKEKkJvKGLvLuJvKHKIKpJvKJKtKKHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIUJbKvJDJDJDKLIYJDJDJDJDJDIYJDJDKMJDKvJbIUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYHYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMITIYKNKOKPJlHmIYJoJDJDJDKQIYKUKVKWKXKNIYIVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYKZKZIYIYIYIYKRJDJDJDKSIYIYIYIYKZKZIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYLdLdLcaMaMIYKTJDJDJDLaIYaMaMKYLdLdLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLbJDJDJDLaIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLhLiLjLhLiIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLkLlJDLmLnIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMIYLoLpJDLqLrIYaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYLsLtJDIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMKYIYIYIYLcaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM "} + From b70db8d8d7ff4a0640955d5405009f293d18d012 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Feb 2015 17:19:56 +0300 Subject: [PATCH 280/282] RIP in history, dead code --- code/unused/AI_Visibility.dm | 310 --- code/unused/Agouri_stuff.dm | 1947 ----------------- code/unused/BrokenInhands.dm | 36 - code/unused/Ultralight.dm | 341 --- code/unused/Virus2Prob.dm | 12 - code/unused/_debug.dm | 619 ------ code/unused/ai_lockdown.dm | 60 - code/unused/airtunnel.dm | 463 ---- code/unused/assemblies.dm | 951 -------- code/unused/asteroiddevice.dm | 105 - code/unused/authorize.dm | 168 -- code/unused/beast/beast.dm | 1 - code/unused/beast/bodypart.dm | 16 - code/unused/beast/death.dm | 13 - code/unused/blender.dm | 156 -- code/unused/carpetsplosion.dm | 83 - code/unused/closets/ert.dm | 85 - code/unused/closets/secure/civilian.dm | 122 -- code/unused/closets/secure/research.dm | 47 - code/unused/computer2/airlock_control.dm | 60 - code/unused/computer2/arcade.dm | 136 -- code/unused/computer2/base_program.dm | 263 --- code/unused/computer2/buildandrepair.dm | 150 -- code/unused/computer2/computerII.dm | 414 ---- code/unused/computer2/filebrowse.dm | 164 -- code/unused/computer2/med_rec.dm | 463 ---- code/unused/computer2/messenger.dm | 97 - code/unused/computer2/peripherals.dm | 209 -- code/unused/conveyor.dm | 398 ---- code/unused/disease2/cureimplanter.dm | 42 - code/unused/disease2/curer.dm | 154 -- code/unused/disease2/monkeydispensor.dm | 30 - code/unused/dna.dm | 962 -------- code/unused/dna_mutations.dm | 101 - code/unused/filter_control.dm | 162 -- code/unused/game_kit.dm | 138 -- code/unused/gamemodes/ctf.dm | 141 -- code/unused/gamemodes/ctf_items.dm | 139 -- code/unused/gamemodes/deathmatch.dm | 67 - code/unused/gamemodes/restructuring.dm | 77 - code/unused/gamemodes/ruby.dm | 289 --- code/unused/heater.dm | 201 -- code/unused/hivebot/death.dm | 24 - code/unused/hivebot/emote.dm | 139 -- code/unused/hivebot/examine.dm | 18 - code/unused/hivebot/hive_modules.dm | 57 - code/unused/hivebot/hivebot.dm | 503 ----- code/unused/hivebot/hivebotdefine.dm | 46 - code/unused/hivebot/hud.dm | 251 --- code/unused/hivebot/life.dm | 227 -- code/unused/hivebot/login.dm | 15 - code/unused/hivebot/mainframe.dm | 181 -- code/unused/jobs.dm | 291 --- code/unused/mining/datum_processing_recipe.dm | 22 - .../mining/machine_craftlathe_unused.dm | 233 -- .../mining/machine_gas_extractor_unused.dm | 78 - code/unused/mining/machine_purifier_unused.dm | 85 - code/unused/mining/mine_generator_unused.dm | 174 -- code/unused/mining/rail_unused.dm | 338 --- .../unused/mining/spaceship_builder_unused.dm | 173 -- code/unused/musicplayer.dm | 15 - code/unused/new_year.dm | 138 -- code/unused/newcombatsystem.dm | 191 -- code/unused/optics/beam.dm | 177 -- code/unused/optics/laser-pointer.dm | 73 - code/unused/optics/mirror.dm | 82 - code/unused/pda2/base_os.dm | 446 ---- code/unused/pda2/base_program.dm | 185 -- code/unused/pda2/pda2.dm | 297 --- code/unused/pda2/record_progs.dm | 181 -- code/unused/pda2/scanners.dm | 103 - code/unused/pda2/smallprogs.dm | 207 -- code/unused/pipe.dm | 1828 ---------------- code/unused/pipe_filter.dm | 243 -- code/unused/powerarmor/powerarmor.dm | 278 --- .../unused/powerarmor/powerarmorcomponents.dm | 246 --- code/unused/scrap.dm | 289 --- code/unused/shuttle_engines.dm | 37 - code/unused/siphs.dm | 515 ----- code/unused/spacecraft/manufacturing.dm | 247 --- code/unused/spacecraft/shipcore.dm | 348 --- code/unused/spells.dm | 585 ----- code/unused/tensioner.dm | 876 -------- code/unused/toilets.dm | 96 - code/unused/traps.dm | 225 -- code/unused/travel.dm | 90 - code/unused/vehicle.dm | 327 --- 87 files changed, 21572 deletions(-) delete mode 100644 code/unused/AI_Visibility.dm delete mode 100644 code/unused/Agouri_stuff.dm delete mode 100644 code/unused/BrokenInhands.dm delete mode 100644 code/unused/Ultralight.dm delete mode 100644 code/unused/Virus2Prob.dm delete mode 100644 code/unused/_debug.dm delete mode 100644 code/unused/ai_lockdown.dm delete mode 100644 code/unused/airtunnel.dm delete mode 100644 code/unused/assemblies.dm delete mode 100644 code/unused/asteroiddevice.dm delete mode 100644 code/unused/authorize.dm delete mode 100644 code/unused/beast/beast.dm delete mode 100644 code/unused/beast/bodypart.dm delete mode 100644 code/unused/beast/death.dm delete mode 100644 code/unused/blender.dm delete mode 100644 code/unused/carpetsplosion.dm delete mode 100644 code/unused/closets/ert.dm delete mode 100644 code/unused/closets/secure/civilian.dm delete mode 100644 code/unused/closets/secure/research.dm delete mode 100644 code/unused/computer2/airlock_control.dm delete mode 100644 code/unused/computer2/arcade.dm delete mode 100644 code/unused/computer2/base_program.dm delete mode 100644 code/unused/computer2/buildandrepair.dm delete mode 100644 code/unused/computer2/computerII.dm delete mode 100644 code/unused/computer2/filebrowse.dm delete mode 100644 code/unused/computer2/med_rec.dm delete mode 100644 code/unused/computer2/messenger.dm delete mode 100644 code/unused/computer2/peripherals.dm delete mode 100644 code/unused/conveyor.dm delete mode 100644 code/unused/disease2/cureimplanter.dm delete mode 100644 code/unused/disease2/curer.dm delete mode 100644 code/unused/disease2/monkeydispensor.dm delete mode 100644 code/unused/dna.dm delete mode 100644 code/unused/dna_mutations.dm delete mode 100644 code/unused/filter_control.dm delete mode 100644 code/unused/game_kit.dm delete mode 100644 code/unused/gamemodes/ctf.dm delete mode 100644 code/unused/gamemodes/ctf_items.dm delete mode 100644 code/unused/gamemodes/deathmatch.dm delete mode 100644 code/unused/gamemodes/restructuring.dm delete mode 100644 code/unused/gamemodes/ruby.dm delete mode 100644 code/unused/heater.dm delete mode 100644 code/unused/hivebot/death.dm delete mode 100644 code/unused/hivebot/emote.dm delete mode 100644 code/unused/hivebot/examine.dm delete mode 100644 code/unused/hivebot/hive_modules.dm delete mode 100644 code/unused/hivebot/hivebot.dm delete mode 100644 code/unused/hivebot/hivebotdefine.dm delete mode 100644 code/unused/hivebot/hud.dm delete mode 100644 code/unused/hivebot/life.dm delete mode 100644 code/unused/hivebot/login.dm delete mode 100644 code/unused/hivebot/mainframe.dm delete mode 100644 code/unused/jobs.dm delete mode 100644 code/unused/mining/datum_processing_recipe.dm delete mode 100644 code/unused/mining/machine_craftlathe_unused.dm delete mode 100644 code/unused/mining/machine_gas_extractor_unused.dm delete mode 100644 code/unused/mining/machine_purifier_unused.dm delete mode 100644 code/unused/mining/mine_generator_unused.dm delete mode 100644 code/unused/mining/rail_unused.dm delete mode 100644 code/unused/mining/spaceship_builder_unused.dm delete mode 100644 code/unused/musicplayer.dm delete mode 100644 code/unused/new_year.dm delete mode 100644 code/unused/newcombatsystem.dm delete mode 100644 code/unused/optics/beam.dm delete mode 100644 code/unused/optics/laser-pointer.dm delete mode 100644 code/unused/optics/mirror.dm delete mode 100644 code/unused/pda2/base_os.dm delete mode 100644 code/unused/pda2/base_program.dm delete mode 100644 code/unused/pda2/pda2.dm delete mode 100644 code/unused/pda2/record_progs.dm delete mode 100644 code/unused/pda2/scanners.dm delete mode 100644 code/unused/pda2/smallprogs.dm delete mode 100644 code/unused/pipe.dm delete mode 100644 code/unused/pipe_filter.dm delete mode 100644 code/unused/powerarmor/powerarmor.dm delete mode 100644 code/unused/powerarmor/powerarmorcomponents.dm delete mode 100644 code/unused/scrap.dm delete mode 100644 code/unused/shuttle_engines.dm delete mode 100644 code/unused/siphs.dm delete mode 100644 code/unused/spacecraft/manufacturing.dm delete mode 100644 code/unused/spacecraft/shipcore.dm delete mode 100644 code/unused/spells.dm delete mode 100644 code/unused/tensioner.dm delete mode 100644 code/unused/toilets.dm delete mode 100644 code/unused/traps.dm delete mode 100644 code/unused/travel.dm delete mode 100644 code/unused/vehicle.dm diff --git a/code/unused/AI_Visibility.dm b/code/unused/AI_Visibility.dm deleted file mode 100644 index d218f4409b..0000000000 --- a/code/unused/AI_Visibility.dm +++ /dev/null @@ -1,310 +0,0 @@ -//All credit for this goes to Uristqwerty. - -/turf - var/image/obscured - var/image/dim - -/turf/proc/visibilityChanged() - cameranet.updateVisibility(src) - -/datum/camerachunk - var/list/obscuredTurfs = list() - var/list/visibleTurfs = list() - var/list/dimTurfs = list() - var/list/obscured = list() - var/list/dim = list() - var/list/cameras = list() - var/list/turfs = list() - var/list/seenby = list() - var/visible = 0 - var/changed = 0 - var/updating = 0 - -/mob/aiEye - var/list/visibleCameraChunks = list() - var/mob/ai = null - density = 0 - -/datum/camerachunk/proc/add(mob/aiEye/ai) - ai.visibleCameraChunks += src - if(ai.ai.client) - ai.ai.client.images += obscured - ai.ai.client.images += dim - visible++ - seenby += ai - if(changed && !updating) - update() - -/datum/camerachunk/proc/remove(mob/aiEye/ai) - ai.visibleCameraChunks -= src - if(ai.ai.client) - ai.ai.client.images -= obscured - ai.ai.client.images -= dim - seenby -= ai - if(visible > 0) - visible-- - -/datum/camerachunk/proc/visibilityChanged(turf/loc) - if(!(loc in visibleTurfs)) - return - - hasChanged() - -/datum/camerachunk/proc/hasChanged() - if(visible) - if(!updating) - updating = 1 - spawn(10)//Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - else - changed = 1 - -/datum/camerachunk/proc/update() - var/list/newDimTurfs = list() - var/list/newVisibleTurfs = list() - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 6 - for(var/turf/t in view(7, c)) - if(t in turfs) - newDimTurfs += t - - for(var/turf/t in view(6, c)) - if(t in turfs) - newVisibleTurfs += t - - c.luminosity = lum - - var/list/dimAdded = newDimTurfs - dimTurfs - var/list/dimRemoved = dimTurfs - newDimTurfs - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - dimTurfs = newDimTurfs - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in dimRemoved) - if(t.dim) - dim -= t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.dim - - if(!(t in visibleTurfs)) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - for(var/turf/t in dimAdded) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15) - t.mouse_opacity = 0 - - dim += t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.dim - - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visAdded) - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visRemoved) - if(t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - - -/datum/camerachunk/New(loc, x, y, z) - x &= ~0xf - y &= ~0xf - - for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) - if(c.status) - cameras += c - - for(var/turf/t in range(10, locate(x + 8, y + 8, z))) - if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) - turfs += t - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 6 - for(var/turf/t in view(7, c)) - if(t in turfs) - dimTurfs += t - - for(var/turf/t in view(6, c)) - if(t in turfs) - visibleTurfs += t - - c.luminosity = lum - - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - - for(var/turf/t in dimTurfs) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER) - - dim += t.dim - -var/datum/cameranet/cameranet = new() - -/datum/cameranet - var/list/cameras = list() - var/list/chunks = list() - var/network = "net1" - var/ready = 0 - -/datum/cameranet/New() - ..() - -/datum/cameranet/proc/chunkGenerated(x, y, z) - var/key = "[x],[y],[z]" - return key in chunks - -/datum/cameranet/proc/getCameraChunk(x, y, z) - var/key = "[x],[y],[z]" - - if(!(key in chunks)) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - -/datum/cameranet/proc/visibility(mob/aiEye/ai) - var/x1 = max(0, ai.x - 16) & ~0xf - var/y1 = max(0, ai.y - 16) & ~0xf - var/x2 = min(world.maxx, ai.x + 16) & ~0xf - var/y2 = min(world.maxy, ai.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/datum/camerachunk/c in remove) - c.remove(ai) - - for(var/datum/camerachunk/c in add) - c.add(ai) - -/datum/cameranet/proc/updateVisibility(turf/loc) - if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) - return - - var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) - chunk.visibilityChanged(loc) - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - if(!(c in chunk.cameras)) - chunk.cameras += c - chunk.hasChanged() - - -/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new() - -/mob/living/silicon/ai/New() - ..() - eyeobj.ai = src - -/mob/living/silicon/ai/verb/freelook() - set category = "AI Commands" - set name = "freelook" - current = null //cancel camera view first, it causes problems - cameraFollow = null - machine = null - if(client.eye == eyeobj) - client.eye = src - for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) - c.remove(eyeobj) - else - client.eye = eyeobj - eyeobj.loc = loc - cameranet.visibility(eyeobj) - cameraFollow = null -/mob/aiEye/Move() - . = ..() - if(.) - cameranet.visibility(src) - -/client/AIMove(n, direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) - - else - return ..() - -/* -/client/AIMoveZ(direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - var/dif = 0 - if(direct == UP && user.eyeobj.z > 1) - dif = -1 - else if(direct == DOWN && user.eyeobj.z < 4) - dif = 1 - user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameranet.visibility(user.eyeobj) - else - return ..() -*/ - -/turf/move_camera_by_click() - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/AI = usr - if(AI.client.eye == AI.eyeobj) - return - return ..() - -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - cameranet.updateVisibility(loc) - -/obj/machinery/camera/New() - ..() - cameranet.addCamera(src) \ No newline at end of file diff --git a/code/unused/Agouri_stuff.dm b/code/unused/Agouri_stuff.dm deleted file mode 100644 index e204fbd7d3..0000000000 --- a/code/unused/Agouri_stuff.dm +++ /dev/null @@ -1,1947 +0,0 @@ -/* -/obj/vehicle/airtight - //inner atmos - var/use_internal_tank = 0 - var/internal_tank_valve = ONE_ATMOSPHERE - var/obj/machinery/portable_atmospherics/canister/internal_tank - var/datum/gas_mixture/cabin_air - var/obj/machinery/atmospherics/portables_connector/connected_port = null - - var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature - var/datum/global_iterator/pr_give_air //moves air from tank to cabin - - -/obj/vehicle/airtight/New() - ..() - src.add_airtank() - src.add_cabin() - src.add_airtight_iterators() - - - - -//######################################### Helpers for airtight vehicles ######################################### - -/obj/vehicle/airtight/proc/add_cabin() - cabin_air = new - cabin_air.temperature = T20C - cabin_air.volume = 200 - cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - return cabin_air - -/obj/vehicle/airtight/proc/add_airtank() - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - return internal_tank - -/obj/vehicle/airtight/proc/add_airtight_iterators() - pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src)) - pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src)) - - -//######################################### Specific datums for airtight vehicles ################################# - - -/datum/global_iterator/vehicle_preserve_temp //normalizing cabin air temperature to 20 degrees celsium - delay = 20 - - process(var/obj/vehicle/airtight/V) - if(V.cabin_air && V.cabin_air.return_volume() > 0) - var/delta = V.cabin_air.temperature - T20C - V.cabin_air.temperature -= max(-10, min(10, round(delta/4,0.1))) - return - - -/datum/global_iterator/vehicle_tank_give_air - delay = 15 - - process(var/obj/vehicle/airtight/V) - if(V.internal_tank) - var/datum/gas_mixture/tank_air = V.internal_tank.return_air() - var/datum/gas_mixture/cabin_air = V.cabin_air - - var/release_pressure = V.internal_tank_valve - var/cabin_pressure = cabin_air.return_pressure() - var/pressure_delta = min(release_pressure - cabin_pressure, (tank_air.return_pressure() - cabin_pressure)/2) - var/transfer_moles = 0 - if(pressure_delta > 0) //cabin pressure lower than release pressure - if(tank_air.return_temperature() > 0) - transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION) - var/datum/gas_mixture/removed = tank_air.remove(transfer_moles) - cabin_air.merge(removed) - else if(pressure_delta < 0) //cabin pressure higher than release pressure - var/datum/gas_mixture/t_air = V.get_turf_air() - pressure_delta = cabin_pressure - release_pressure - if(t_air) - pressure_delta = min(cabin_pressure - t_air.return_pressure(), pressure_delta) - if(pressure_delta > 0) //if location pressure is lower than cabin pressure - transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION) - var/datum/gas_mixture/removed = cabin_air.remove(transfer_moles) - if(t_air) - t_air.merge(removed) - else //just delete the cabin gas, we're in space or some shit - del(removed) - else - return stop() - return - - -//######################################### Atmospherics for vehicles ############################################# - - -/obj/vehicle/proc/get_turf_air() - var/turf/T = get_turf(src) - if(T) - . = T.return_air() - return - -/obj/vehicle/airtight/remove_air(amount) - if(use_internal_tank) - return cabin_air.remove(amount) - else - var/turf/T = get_turf(src) - if(T) - return T.remove_air(amount) - return - -/obj/vehicle/airtight/return_air() - if(use_internal_tank) - return cabin_air - return get_turf_air() - -/obj/vehicle/airtight/proc/return_pressure() - . = 0 - if(use_internal_tank) - . = cabin_air.return_pressure() - else - var/datum/gas_mixture/t_air = get_turf_air() - if(t_air) - . = t_air.return_pressure() - return - - -/obj/vehicle/airtight/proc/return_temperature() - . = 0 - if(use_internal_tank) - . = cabin_air.return_temperature() - else - var/datum/gas_mixture/t_air = get_turf_air() - if(t_air) - . = t_air.return_temperature() - return - -/obj/vehicle/airtight/proc/connect(obj/machinery/atmospherics/portables_connector/new_port) - //Make sure not already connected to something else - if(connected_port || !new_port || new_port.connected_device) - return 0 - - //Make sure are close enough for a valid connection - if(new_port.loc != src.loc) - return 0 - - //Perform the connection - connected_port = new_port - connected_port.connected_device = src - - //Actually enforce the air sharing - var/datum/pipe_network/network = connected_port.return_network(src) - if(network && !(internal_tank.return_air() in network.gases)) - network.gases += internal_tank.return_air() - network.update = 1 - log_message("Vehicle airtank connected to external port.") - return 1 - -/obj/vehicle/airtight/proc/disconnect() - if(!connected_port) - return 0 - - var/datum/pipe_network/network = connected_port.return_network(src) - if(network) - network.gases -= internal_tank.return_air() - - connected_port.connected_device = null - connected_port = null - src.log_message("Vehicle airtank disconnected from external port.") - return 1 - - - - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// - - - -/obj/vehicle - name = "Vehicle" - icon = 'icons/vehicles/vehicles.dmi' - density = 1 - anchored = 1 - unacidable = 1 //To avoid the pilot-deleting shit that came with mechas - layer = MOB_LAYER - //var/can_move = 1 - var/mob/living/carbon/occupant = null - //var/step_in = 10 //make a step in step_in/10 sec. - //var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South. - //var/step_energy_drain = 10 - var/health = 300 //health is health - //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. - //the values in this list show how much damage will pass through, not how much will be absorbed. - var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) - var/obj/item/weapon/cell/cell //Our power source - var/state = 0 - var/list/log = new - var/last_message = 0 - var/add_req_access = 1 - var/maint_access = 1 - //var/dna //dna-locking the mech - var/list/proc_res = list() //stores proc owners, like proc_res["functionname"] = owner reference - var/datum/effect/effect/system/spark_spread/spark_system = new - var/lights = 0 - var/lights_power = 6 - - //inner atmos //These go in airtight.dm, not all vehicles are space-faring -Agouri - //var/use_internal_tank = 0 - //var/internal_tank_valve = ONE_ATMOSPHERE - //var/obj/machinery/portable_atmospherics/canister/internal_tank - //var/datum/gas_mixture/cabin_air - //var/obj/machinery/atmospherics/portables_connector/connected_port = null - - var/obj/item/device/radio/radio = null - - var/max_temperature = 2500 - //var/internal_damage_threshold = 50 //health percentage below which internal damage is possible - var/internal_damage = 0 //contains bitflags - - var/list/operation_req_access = list()//required access level for mecha operation - var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment - - //var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature //In airtight.dm you go -Agouri - var/datum/global_iterator/pr_inertial_movement //controls intertial movement in spesss - - //var/datum/global_iterator/pr_give_air //moves air from tank to cabin //Y-you too -Agouri - - var/datum/global_iterator/pr_internal_damage //processes internal damage - - - var/wreckage - - var/list/equipment = new - var/obj/selected - //var/max_equip = 3 - - var/datum/events/events - - - -/obj/vehicle/New() - ..() - events = new - icon_state += "-unmanned" - add_radio() - //add_cabin() //No cabin for non-airtights - - spark_system.set_up(2, 0, src) - spark_system.attach(src) - add_cell() - add_iterators() - removeVerb(/obj/mecha/verb/disconnect_from_port) - removeVerb(/atom/movable/verb/pull) - log_message("[src.name]'s functions initialised. Work protocols active - Entering IDLE mode.") - loc.Entered(src) - return - - -//################ Helpers ########################################################### - - -/obj/vehicle/proc/removeVerb(verb_path) - verbs -= verb_path - -/obj/vehicle/proc/addVerb(verb_path) - verbs += verb_path - -/*/obj/vehicle/proc/add_airtank() //In airtight.dm -Agouri - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - return internal_tank*/ - -/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null) - if(C) - C.forceMove(src) - cell = C - return - cell = new(src) - cell.charge = 15000 - cell.maxcharge = 15000 - -/*/obj/vehicle/proc/add_cabin() //In airtight.dm -Agouri - cabin_air = new - cabin_air.temperature = T20C - cabin_air.volume = 200 - cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - return cabin_air*/ - -/obj/vehicle/proc/add_radio() - radio = new(src) - radio.name = "[src] radio" - radio.icon = icon - radio.icon_state = icon_state - radio.subspace_transmission = 1 - -/obj/vehicle/proc/add_iterators() - pr_inertial_movement = new /datum/global_iterator/vehicle_intertial_movement(null,0) - //pr_internal_damage = new /datum/global_iterator/vehicle_internal_damage(list(src),0) - //pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src)) //In airtight.dm's add_airtight_iterators -Agouri - //pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src) //Same here -Agouri - -/obj/vehicle/proc/check_for_support() - if(locate(/obj/structure/grille, orange(1, src)) || locate(/obj/structure/lattice, orange(1, src)) || locate(/turf/simulated, orange(1, src)) || locate(/turf/unsimulated, orange(1, src))) - return 1 - else - return 0 - -//################ Logs and messages ############################################ - - -/obj/vehicle/proc/log_message(message as text,red=null) - log.len++ - log[log.len] = list("time"=world.timeofday,"message"="[red?"":null][message][red?"":null]") - return log.len - - - -//################ Global Iterator Datums ###################################### - - -/datum/global_iterator/vehicle_intertial_movement //inertial movement in space - delay = 7 - - process(var/obj/vehicle/V as obj, direction) - if(direction) - if(!step(V, direction)||V.check_for_support()) - src.stop() - else - src.stop() - return - - -/datum/global_iterator/mecha_internal_damage // processing internal damage - - process(var/obj/mecha/mecha) - if(!mecha.hasInternalDamage()) - return stop() - if(mecha.hasInternalDamage(MECHA_INT_FIRE)) - if(!mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL) && prob(5)) - mecha.clearInternalDamage(MECHA_INT_FIRE) - if(mecha.internal_tank) - if(mecha.internal_tank.return_pressure()>mecha.internal_tank.maximum_pressure && !(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH))) - mecha.setInternalDamage(MECHA_INT_TANK_BREACH) - var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air() - if(int_tank_air && int_tank_air.return_volume()>0) //heat the air_contents - int_tank_air.temperature = min(6000+T0C, int_tank_air.temperature+rand(10,15)) - if(mecha.cabin_air && mecha.cabin_air.return_volume()>0) - mecha.cabin_air.temperature = min(6000+T0C, mecha.cabin_air.return_temperature()+rand(10,15)) - if(mecha.cabin_air.return_temperature()>mecha.max_temperature/2) - mecha.take_damage(4/round(mecha.max_temperature/mecha.cabin_air.return_temperature(),0.1),"fire") - if(mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL)) //stop the mecha_preserve_temp loop datum - mecha.pr_int_temp_processor.stop() - if(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)) //remove some air from internal tank - if(mecha.internal_tank) - var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air() - var/datum/gas_mixture/leaked_gas = int_tank_air.remove_ratio(0.10) - if(mecha.loc && hascall(mecha.loc,"assume_air")) - mecha.loc.assume_air(leaked_gas) - else - del(leaked_gas) - if(mecha.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT)) - if(mecha.get_charge()) - mecha.spark_system.start() - mecha.cell.charge -= min(20,mecha.cell.charge) - mecha.cell.maxcharge -= min(20,mecha.cell.maxcharge) - return - - -*/ - - - - - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// - - - - -/*/turf/DblClick() - if(istype(usr, /mob/living/silicon/ai)) - return move_camera_by_click() - if(usr.stat || usr.restrained() || usr.lying) - return ..() - - if(usr.hand && istype(usr.l_hand, /obj/item/weapon/flamethrower)) - var/turflist = getline(usr,src) - var/obj/item/weapon/flamethrower/F = usr.l_hand - F.flame_turf(turflist) - else if(!usr.hand && istype(usr.r_hand, /obj/item/weapon/flamethrower)) - var/turflist = getline(usr,src) - var/obj/item/weapon/flamethrower/F = usr.r_hand - F.flame_turf(turflist) - - return ..() - -/turf/New() - ..() - for(var/atom/movable/AM as mob|obj in src) - spawn( 0 ) - src.Entered(AM) - return - return - -/turf/ex_act(severity) - return 0 - - -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/beam/pulse)) - src.ex_act(2) - ..() - return 0 - -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/bullet/gyro)) - explosion(src, -1, 0, 2) - ..() - return 0 - -/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) - if (!mover || !isturf(mover.loc)) - return 1 - - - //First, check objects to block exit that are not on the border - for(var/obj/obstacle in mover.loc) - if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle)) - if(!obstacle.CheckExit(mover, src)) - mover.Bump(obstacle, 1) - return 0 - - //Now, check objects to block exit that are on the border - for(var/obj/border_obstacle in mover.loc) - if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle)) - if(!border_obstacle.CheckExit(mover, src)) - mover.Bump(border_obstacle, 1) - return 0 - - //Next, check objects to block entry that are on the border - for(var/obj/border_obstacle in src) - if(border_obstacle.flags & ON_BORDER) - if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle)) - mover.Bump(border_obstacle, 1) - return 0 - - //Then, check the turf itself - if (!src.CanPass(mover, src)) - mover.Bump(src, 1) - return 0 - - //Finally, check objects/mobs to block entry that are not on the border - for(var/atom/movable/obstacle in src) - if(obstacle.flags & ~ON_BORDER) - if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle)) - mover.Bump(obstacle, 1) - return 0 - return 1 //Nothing found to block so return success! - - -/turf/Entered(atom/movable/M as mob|obj) - var/loopsanity = 100 - if(ismob(M)) - if(!M:lastarea) - M:lastarea = get_area(M.loc) - if(M:lastarea.has_gravity == 0) - inertial_drift(M) - - /* - if(M.flags & NOGRAV) - inertial_drift(M) - */ - - - - else if(!istype(src, /turf/space)) - M:inertia_dir = 0 - ..() - var/objects = 0 - for(var/atom/A as mob|obj|turf|area in src) - if(objects > loopsanity) break - objects++ - spawn( 0 ) - if ((A && M)) - A.HasEntered(M, 1) - return - objects = 0 - for(var/atom/A as mob|obj|turf|area in range(1)) - if(objects > loopsanity) break - objects++ - spawn( 0 ) - if ((A && M)) - A.HasProximity(M, 1) - return - return - -/turf/proc/inertial_drift(atom/movable/A as mob|obj) - if(!(A.last_move)) return - if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1))) - var/mob/M = A - if(M.Process_Spacemove(1)) - M.inertia_dir = 0 - return - spawn(5) - if((M && !(M.anchored) && (M.loc == src))) - if(M.inertia_dir) - step(M, M.inertia_dir) - return - M.inertia_dir = M.last_move - step(M, M.inertia_dir) - return - -/turf/proc/levelupdate() - for(var/obj/O in src) - if(O.level == 1) - O.hide(src.intact) - -// override for space turfs, since they should never hide anything -/turf/space/levelupdate() - for(var/obj/O in src) - if(O.level == 1) - O.hide(0) - -// Removes all signs of lattice on the pos of the turf -Donkieyo -/turf/proc/RemoveLattice() - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - del L - -/turf/proc/ReplaceWithFloor(explode=0) - var/prior_icon = icon_old - var/old_dir = dir - - var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) ) - - W.RemoveLattice() - W.set_dir(old_dir) - if(prior_icon) W.icon_state = prior_icon - else W.icon_state = "floor" - - if (!explode) - W.opacity = 1 - W.sd_SetOpacity(0) - //This is probably gonna make lighting go a bit wonky in bombed areas, but sd_SetOpacity was the primary reason bombs have been so laggy. --NEO - W.levelupdate() - return W - -/turf/proc/ReplaceWithPlating() - var/prior_icon = icon_old - var/old_dir = dir - - var/turf/simulated/floor/plating/W = new /turf/simulated/floor/plating( locate(src.x, src.y, src.z) ) - - W.RemoveLattice() - W.set_dir(old_dir) - if(prior_icon) W.icon_state = prior_icon - else W.icon_state = "plating" - W.opacity = 1 - W.sd_SetOpacity(0) - W.levelupdate() - return W - -/turf/proc/ReplaceWithEngineFloor() - var/old_dir = dir - - var/turf/simulated/floor/engine/E = new /turf/simulated/floor/engine( locate(src.x, src.y, src.z) ) - - E.set_dir(old_dir) - E.icon_state = "engine" - -/turf/simulated/Entered(atom/A, atom/OL) - if (istype(A,/mob/living/carbon)) - var/mob/living/carbon/M = A - if(M.lying) return - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes)) - if(H.m_intent == "run") - if(H.footstep >= 2) - H.footstep = 0 - else - H.footstep++ - if(H.footstep == 0) - playsound(src, "clownstep", 50, 1) // this will get annoying very fast. - else - playsound(src, "clownstep", 20, 1) - - switch (src.wet) - if(1) - if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes - if ((M.m_intent == "run") && !(istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP)) - M.stop_pulling() - step(M, M.dir) - M << "\blue You slipped on the wet floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Stun(8) - M.Weaken(5) - else - M.inertia_dir = 0 - return - else if(!istype(M, /mob/living/carbon/slime)) - if (M.m_intent == "run") - M.stop_pulling() - step(M, M.dir) - M << "\blue You slipped on the wet floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Stun(8) - M.Weaken(5) - else - M.inertia_dir = 0 - return - - if(2) //lube - if(!istype(M, /mob/living/carbon/slime)) - M.stop_pulling() - step(M, M.dir) - spawn(1) step(M, M.dir) - spawn(2) step(M, M.dir) - spawn(3) step(M, M.dir) - spawn(4) step(M, M.dir) - M.take_organ_damage(2) // Was 5 -- TLE - M << "\blue You slipped on the floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Weaken(10) - - ..() - -/turf/proc/ReplaceWithSpace() - var/old_dir = dir - var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) ) - S.set_dir(old_dir) - return S - -/turf/proc/ReplaceWithLattice() - var/old_dir = dir - var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) ) - S.set_dir(old_dir) - new /obj/structure/lattice( locate(src.x, src.y, src.z) ) - return S - -/turf/proc/ReplaceWithWall() - var/old_icon = icon_state - var/turf/simulated/wall/S = new /turf/simulated/wall( locate(src.x, src.y, src.z) ) - S.icon_old = old_icon - S.opacity = 0 - S.sd_NewOpacity(1) - return S - -/turf/proc/ReplaceWithRWall() - var/old_icon = icon_state - var/turf/simulated/wall/r_wall/S = new /turf/simulated/wall/r_wall( locate(src.x, src.y, src.z) ) - S.icon_old = old_icon - S.opacity = 0 - S.sd_NewOpacity(1) - return S - -/turf/simulated/wall/New() - ..() - -/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0) - if(istype(src,/turf/simulated/wall/r_wall)) - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder/reinforced(src) - new /obj/item/stack/sheet/plasteel( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/plasteel( src ) - else if(istype(src,/turf/simulated/wall/cult)) - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/effect/decal/remains/human(src) - else - new /obj/effect/decal/remains/human(src) - - else - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder(src) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - - ReplaceWithPlating(explode) - -/turf/simulated/wall/examine(mob/user) - user << "It looks like a regular wall." - return - -/turf/simulated/wall/ex_act(severity) - switch(severity) - if(1.0) - //SN src = null - src.ReplaceWithSpace() - del(src) - return - if(2.0) - if (prob(50)) - dismantle_wall(0,1) - else - dismantle_wall(1,1) - if(3.0) - var/proba - if (istype(src, /turf/simulated/wall/r_wall)) - proba = 15 - else - proba = 40 - if (prob(proba)) - dismantle_wall(0,1) - else - return - -/turf/simulated/wall/blob_act() - if(prob(50)) - dismantle_wall() - -/turf/simulated/wall/attack_paw(mob/user as mob) - if ((user.mutations & HULK)) - if (prob(40)) - usr << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - usr << text("\blue You punch the wall.") - return - - return src.attack_hand(user) - - -/turf/simulated/wall/attack_animal(mob/living/simple_animal/M as mob) - if(M.wall_smash) - if (istype(src, /turf/simulated/wall/r_wall)) - M << text("\blue This wall is far too strong for you to destroy.") - return - else - if (prob(40)) - M << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - M << text("\blue You smash against the wall.") - return - - M << "\blue You push the wall but nothing happens!" - return - -/turf/simulated/wall/attack_hand(mob/user as mob) - if ((user.mutations & HULK)) - if (prob(40)) - usr << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - usr << text("\blue You punch the wall.") - return - - user << "\blue You push the wall but nothing happens!" - playsound(src.loc, 'sound/weapons/Genhit.ogg', 25, 1) - src.add_fingerprint(user) - return - -/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - var/turf/T = get_turf(user) - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (W:remove_fuel(0,user)) - W:welding = 2 - user << "\blue Now disassembling the outer wall plating." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(100) - if (W && istype(src, /turf/simulated/wall)) - if ((get_turf(user) == T && user.equipped() == W)) - user << "\blue You disassembled the outer wall plating." - dismantle_wall() - W:welding = 1 - else - user << "\blue You need more welding fuel to complete this task." - return - - else if (istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - else - user << "\blue Now disassembling the outer wall plating." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(60) - if (W && istype(src, /turf/simulated/wall)) - if ((get_turf(user) == T && user.equipped() == W)) - user << "\blue You disassembled the outer wall plating." - dismantle_wall() - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced apart."), 2) - return - - else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = user.loc - user << "\blue Now drilling through wall." - sleep(60) - if (W && istype(src, /turf/simulated/wall)) - if ((user.loc == T && user.equipped() == W)) - dismantle_wall(1) - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was drilled apart by []!", user), 1, text("\red You hear metal being drilled appart."), 2) - return - - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - var/turf/T = user.loc - user << "\blue Now slicing through wall." - W:spark_system.start() - playsound(src.loc, "sparks", 50, 1) - sleep(70) - if (W && istype(src, /turf/simulated/wall)) - if ((user.loc == T && user.equipped() == W)) - W:spark_system.start() - playsound(src.loc, "sparks", 50, 1) - playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1) - dismantle_wall(1) - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2) - return - - else if(istype(W,/obj/item/apc_frame)) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - else if(istype(W,/obj/item/weapon/contraband/poster)) - var/obj/item/weapon/contraband/poster/P = W - if(P.resulting_poster) - var/check = 0 - var/stuff_on_wall = 0 - for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff - if(istype(O,/obj/effect/decal/poster)) - check = 1 - break - stuff_on_wall++ - if(stuff_on_wall==3) - check = 1 - break - - if(check) - user << "The wall is far too cluttered to place a poster!" - return - - user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster. - - P.resulting_poster.loc = src - var/temp = P.resulting_poster.icon_state - var/temp_loc = user.loc - P.resulting_poster.icon_state = "poster_being_set" - playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1) - sleep(24) - - if(user.loc == temp_loc)//Let's check if he still is there - user << "You place the poster!" - P.resulting_poster.icon_state = temp - src.contents += P.resulting_poster - del(P) - else - user << "You stop placing the poster." - P.resulting_poster.loc = P - P.resulting_poster.icon_state = temp - else - return attack_hand(user) - return - - -/turf/simulated/wall/r_wall/attackby(obj/item/W as obj, mob/user as mob) - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if(!istype(src, /turf/simulated/wall/r_wall)) - return // this may seem stupid and redundant but apparently floors can call this attackby() proc, it was spamming shit up. -- Doohl - - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - W:eyecheck(user) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (src.d_state == 2) - W:welding = 2 - user << "\blue Slicing metal cover." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(60) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 3 - user << "\blue You removed the metal cover." - W:welding = 1 - - else if (src.d_state == 5) - W:welding = 2 - user << "\blue Removing support rods." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 6 - new /obj/item/stack/rods( src ) - user << "\blue You removed the support rods." - W:welding = 1 - - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (src.d_state == 2) - user << "\blue Slicing metal cover." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 3 - user << "\blue You removed the metal cover." - - else if (src.d_state == 5) - user << "\blue Removing support rods." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(70) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 6 - new /obj/item/stack/rods( src ) - user << "\blue You removed the support rods." - - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - user << "\blue This wall is too thick to slice through. You will need to find a different path." - return - - else if (istype(W, /obj/item/weapon/wrench)) - if (src.d_state == 4) - var/turf/T = user.loc - user << "\blue Detaching support rods." - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 5 - user << "\blue You detach the support rods." - - else if (istype(W, /obj/item/weapon/wirecutters)) - if (src.d_state == 0) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - src.d_state = 1 - new /obj/item/stack/rods( src ) - - else if (istype(W, /obj/item/weapon/screwdriver)) - if (src.d_state == 1) - var/turf/T = user.loc - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\blue Removing support lines." - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 2 - user << "\blue You removed the support lines." - - else if (istype(W, /obj/item/weapon/crowbar)) - - if (src.d_state == 3) - var/turf/T = user.loc - user << "\blue Prying cover off." - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 4 - user << "\blue You removed the cover." - - else if (src.d_state == 6) - var/turf/T = user.loc - user << "\blue Prying outer sheath off." - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - sleep(100) - if(src) - if ((user.loc == T && user.equipped() == W)) - user << "\blue You removed the outer sheath." - dismantle_wall() - return - - else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = user.loc - user << "\blue You begin to drill though, this will take some time." - sleep(200) - if(src) - if ((user.loc == T && user.equipped() == W)) - user << "\blue Your drill tears though the reinforced plating." - dismantle_wall() - return - - else if ((istype(W, /obj/item/stack/sheet/metal)) && (src.d_state)) - var/turf/T = user.loc - user << "\blue Repairing wall." - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 0 - src.icon_state = initial(src.icon_state) - user << "\blue You repaired the wall." - if (W:amount > 1) - W:amount-- - else - del(W) - - else if(istype(W,/obj/item/weapon/contraband/poster)) - var/obj/item/weapon/contraband/poster/P = W - if(P.resulting_poster) - var/check = 0 - var/stuff_on_wall = 0 - for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff - if(istype(O,/obj/effect/decal/poster)) - check = 1 - break - stuff_on_wall++ - if(stuff_on_wall==3) - check = 1 - break - - if(check) - user << "The wall is far too cluttered to place a poster!" - return - - user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster. - - P.resulting_poster.loc = src - var/temp = P.resulting_poster.icon_state - var/temp_loc = user.loc - P.resulting_poster.icon_state = "poster_being_set" - playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1) - sleep(24) - - if(user.loc == temp_loc)//Let's check if he still is there - user << "You place the poster!" - P.resulting_poster.icon_state = temp - src.contents += P.resulting_poster - del(P) - else - user << "You stop placing the poster." - P.resulting_poster.loc = P - P.resulting_poster.icon_state = temp - return - - if(istype(W,/obj/item/apc_frame)) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - return - - if(src.d_state > 0) - src.icon_state = "r_wall-[d_state]" - - else - return attack_hand(user) - return - -/turf/simulated/wall/meteorhit(obj/M as obj) - if (prob(15)) - dismantle_wall() - else if(prob(70)) - ReplaceWithPlating() - else - ReplaceWithLattice() - return 0 - - -//This is so damaged or burnt tiles or platings don't get remembered as the default tile -var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4", - "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2", - "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2", - "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken", - "light_on_broken","light_off","wall_thermite","grass1","grass2","grass3","grass4", - "asteroid","asteroid_dug", - "asteroid0","asteroid1","asteroid2","asteroid3","asteroid4", - "asteroid5","asteroid6","asteroid7","asteroid8", - "burning","oldburning","light-on-r","light-on-y","light-on-g","light-on-b") - -var/list/plating_icons = list("plating","platingdmg1","platingdmg2","platingdmg3","asteroid","asteroid_dug") - -/turf/simulated/floor - - //Note to coders, the 'intact' var can no longer be used to determine if the floor is a plating or not. - //Use the is_plating(), is_plasteel_floor() and is_light_floor() procs instead. --Errorage - name = "floor" - icon = 'icons/turf/floors.dmi' - icon_state = "floor" - var/icon_regular_floor = "floor" //used to remember what icon the tile should have by default - var/icon_plating = "plating" - thermal_conductivity = 0.040 - heat_capacity = 10000 - var/broken = 0 - var/burnt = 0 - var/obj/item/stack/tile/floor_tile = new/obj/item/stack/tile/plasteel - - airless - icon_state = "floor" - name = "airless floor" - oxygen = 0.01 - nitrogen = 0.01 - temperature = TCMB - - New() - ..() - name = "floor" - - light - name = "Light floor" - luminosity = 5 - icon_state = "light_on" - floor_tile = new/obj/item/stack/tile/light - - New() - floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well. - var/n = name //just in case commands rename it in the ..() call - ..() - spawn(4) - update_icon() - name = n - - grass - name = "Grass patch" - icon_state = "grass1" - floor_tile = new/obj/item/stack/tile/grass - - New() - floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well. - icon_state = "grass[pick("1","2","3","4")]" - ..() - spawn(4) - update_icon() - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding get updated properly - -/turf/simulated/floor/vault - icon_state = "rockvault" - - New(location,type) - ..() - icon_state = "[type]vault" - -/turf/simulated/wall/vault - icon_state = "rockvault" - - New(location,type) - ..() - icon_state = "[type]vault" - -/turf/simulated/floor/engine - name = "reinforced floor" - icon_state = "engine" - thermal_conductivity = 0.025 - heat_capacity = 325000 - -/turf/simulated/floor/engine/cult - name = "engraved floor" - icon_state = "cult" - - -/turf/simulated/floor/engine/n20 - New() - ..() - var/datum/gas_mixture/adding = new - var/datum/gas/sleeping_agent/trace_gas = new - - trace_gas.moles = 2000 - adding.trace_gases += trace_gas - adding.temperature = T20C - - assume_air(adding) - -/turf/simulated/floor/engine/vacuum - name = "vacuum floor" - icon_state = "engine" - oxygen = 0 - nitrogen = 0.001 - temperature = TCMB - -/turf/simulated/floor/plating - name = "plating" - icon_state = "plating" - floor_tile = null - intact = 0 - -/turf/simulated/floor/plating/airless - icon_state = "plating" - name = "airless plating" - oxygen = 0.01 - nitrogen = 0.01 - temperature = TCMB - - New() - ..() - name = "plating" - -/turf/simulated/floor/grid - icon = 'icons/turf/floors.dmi' - icon_state = "circuit" - -/turf/simulated/floor/New() - ..() - if(icon_state in icons_to_ignore_at_floor_init) //so damaged/burned tiles or plating icons aren't saved as the default - icon_regular_floor = "floor" - else - icon_regular_floor = icon_state - -//turf/simulated/floor/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) -// if ((istype(mover, /obj/machinery/vehicle) && !(src.burnt))) -// if (!( locate(/obj/machinery/mass_driver, src) )) -// return 0 -// return ..() - -/turf/simulated/floor/ex_act(severity) - //set src in oview(1) - switch(severity) - if(1.0) - src.ReplaceWithSpace() - if(2.0) - switch(pick(1,2;75,3)) - if (1) - src.ReplaceWithLattice() - if(prob(33)) new /obj/item/stack/sheet/metal(src) - if(2) - src.ReplaceWithSpace() - if(3) - if(prob(80)) - src.break_tile_to_plating() - else - src.break_tile() - src.hotspot_expose(1000,CELL_VOLUME) - if(prob(33)) new /obj/item/stack/sheet/metal(src) - if(3.0) - if (prob(50)) - src.break_tile() - src.hotspot_expose(1000,CELL_VOLUME) - return - -/turf/simulated/floor/blob_act() - return - -turf/simulated/floor/proc/update_icon() - if(is_plasteel_floor()) - if(!broken && !burnt) - icon_state = icon_regular_floor - if(is_plating()) - if(!broken && !burnt) - icon_state = icon_plating //Because asteroids are 'platings' too. - if(is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - if(T.on) - switch(T.state) - if(0) - icon_state = "light_on" - sd_SetLuminosity(5) - if(1) - var/num = pick("1","2","3","4") - icon_state = "light_on_flicker[num]" - sd_SetLuminosity(5) - if(2) - icon_state = "light_on_broken" - sd_SetLuminosity(5) - if(3) - icon_state = "light_off" - sd_SetLuminosity(0) - else - sd_SetLuminosity(0) - icon_state = "light_off" - if(is_grass_floor()) - if(!broken && !burnt) - if(!(icon_state in list("grass1","grass2","grass3","grass4"))) - icon_state = "grass[pick("1","2","3","4")]" - spawn(1) - if(istype(src,/turf/simulated/floor)) //Was throwing runtime errors due to a chance of it changing to space halfway through. - if(air) - update_visuals(air) - -turf/simulated/floor/return_siding_icon_state() - ..() - if(is_grass_floor()) - var/dir_sum = 0 - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!(T.is_grass_floor())) - dir_sum += direction - if(dir_sum) - return "wood_siding[dir_sum]" - else - return 0 - - -/turf/simulated/floor/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/turf/simulated/floor/attack_hand(mob/user as mob) - if (is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - T.on = !T.on - update_icon() - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob) - if(!C) - return - if(!user) - return - if(istype(C, /obj/item/weapon/wrench)) - user << "\blue Removing rods..." - playsound(src.loc, 'sound/items/Ratchet.ogg', 80, 1) - if(do_after(user, 30)) - new /obj/item/stack/rods(src, 2) - ReplaceWithFloor() - var/turf/simulated/floor/F = src - F.make_plating() - return - -/turf/simulated/floor/proc/gets_drilled() - return - -/turf/simulated/floor/proc/break_tile_to_plating() - if(!is_plating()) - make_plating() - break_tile() - -/turf/simulated/floor/is_plasteel_floor() - if(istype(floor_tile,/obj/item/stack/tile/plasteel)) - return 1 - else - return 0 - -/turf/simulated/floor/is_light_floor() - if(istype(floor_tile,/obj/item/stack/tile/light)) - return 1 - else - return 0 - -/turf/simulated/floor/is_grass_floor() - if(istype(floor_tile,/obj/item/stack/tile/grass)) - return 1 - else - return 0 - -/turf/simulated/floor/is_plating() - if(!floor_tile) - return 1 - return 0 - -/turf/simulated/floor/proc/break_tile() - if(istype(src,/turf/simulated/floor/engine)) return - if(istype(src,/turf/simulated/floor/mech_bay_recharge_floor)) - src.ReplaceWithPlating() - if(broken) return - if(is_plasteel_floor()) - src.icon_state = "damaged[pick(1,2,3,4,5)]" - broken = 1 - else if(is_plasteel_floor()) - src.icon_state = "light_broken" - broken = 1 - else if(is_plating()) - src.icon_state = "platingdmg[pick(1,2,3)]" - broken = 1 - else if(is_grass_floor()) - src.icon_state = "sand[pick("1","2","3")]" - broken = 1 - -/turf/simulated/floor/proc/burn_tile() - if(istype(src,/turf/simulated/floor/engine)) return - if(broken || burnt) return - if(is_plasteel_floor()) - src.icon_state = "damaged[pick(1,2,3,4,5)]" - burnt = 1 - else if(is_plasteel_floor()) - src.icon_state = "floorscorched[pick(1,2)]" - burnt = 1 - else if(is_plating()) - src.icon_state = "panelscorched" - burnt = 1 - else if(is_grass_floor()) - src.icon_state = "sand[pick("1","2","3")]" - burnt = 1 - -//This proc will delete the floor_tile and the update_iocn() proc will then change the icon_state of the turf -//This proc auto corrects the grass tiles' siding. -/turf/simulated/floor/proc/make_plating() - if(istype(src,/turf/simulated/floor/engine)) return - - if(is_grass_floor()) - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding get updated properly - - if(!floor_tile) return - del(floor_tile) - icon_plating = "plating" - sd_SetLuminosity(0) - floor_tile = null - intact = 0 - broken = 0 - burnt = 0 - - update_icon() - levelupdate() - -//This proc will make the turf a plasteel floor tile. The expected argument is the tile to make the turf with -//If none is given it will make a new object. dropping or unequipping must be handled before or after calling -//this proc. -/turf/simulated/floor/proc/make_plasteel_floor(var/obj/item/stack/tile/plasteel/T = null) - broken = 0 - burnt = 0 - intact = 1 - sd_SetLuminosity(0) - if(T) - if(istype(T,/obj/item/stack/tile/plasteel)) - floor_tile = T - if (icon_regular_floor) - icon_state = icon_regular_floor - else - icon_state = "floor" - icon_regular_floor = icon_state - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/plasteel - icon_state = "floor" - icon_regular_floor = icon_state - - update_icon() - levelupdate() - -//This proc will make the turf a light floor tile. The expected argument is the tile to make the turf with -//If none is given it will make a new object. dropping or unequipping must be handled before or after calling -//this proc. -/turf/simulated/floor/proc/make_light_floor(var/obj/item/stack/tile/light/T = null) - broken = 0 - burnt = 0 - intact = 1 - if(T) - if(istype(T,/obj/item/stack/tile/light)) - floor_tile = T - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/light - - update_icon() - levelupdate() - -//This proc will make a turf into a grass patch. Fun eh? Insert the grass tile to be used as the argument -//If no argument is given a new one will be made. -/turf/simulated/floor/proc/make_grass_floor(var/obj/item/stack/tile/grass/T = null) - broken = 0 - burnt = 0 - intact = 1 - if(T) - if(istype(T,/obj/item/stack/tile/grass)) - floor_tile = T - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/grass - - update_icon() - levelupdate() - -/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob) - - if(!C || !user) - return 0 - - if(istype(C,/obj/item/weapon/light/bulb)) //only for light tiles - if(is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - if(T.state) - user.u_equip(C) - del(C) - T.state = C //fixing it by bashing it with a light bulb, fun eh? - update_icon() - user << "\blue You replace the light bulb." - else - user << "\blue The lightbulb seems fine, no need to replace it." - - if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating()))) - if(broken || burnt) - user << "\red You remove the broken plating." - else - user << "\red You remove the [floor_tile.name]." - new floor_tile.type(src) - - make_plating() - playsound(src.loc, 'sound/items/Crowbar.ogg', 80, 1) - - return - - if(istype(C, /obj/item/stack/rods)) - var/obj/item/stack/rods/R = C - if (is_plating()) - if (R.amount >= 2) - user << "\blue Reinforcing the floor..." - if(do_after(user, 30) && R && R.amount >= 2 && is_plating()) - ReplaceWithEngineFloor() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 80, 1) - R.use(2) - return - else - user << "\red You need more rods." - else - user << "\red You must remove the plating first." - return - - if(istype(C, /obj/item/stack/tile)) - if(is_plating()) - if(!broken && !burnt) - var/obj/item/stack/tile/T = C - floor_tile = new T.type - intact = 1 - if(istype(T,/obj/item/stack/tile/light)) - var/obj/item/stack/tile/light/L = T - var/obj/item/stack/tile/light/F = floor_tile - F.state = L.state - F.on = L.on - if(istype(T,/obj/item/stack/tile/grass)) - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding gets updated properly - T.use(1) - update_icon() - levelupdate() - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - else - user << "\blue This section is too damaged to support a tile. Use a welder to fix the damage." - - - if(istype(C, /obj/item/stack/cable_coil)) - if(is_plating()) - var/obj/item/stack/cable_coil/coil = C - coil.turf_place(src, user) - else - user << "\red You must remove the plating first." - - if(istype(C, /obj/item/weapon/shovel)) - if(is_grass_floor()) - new /obj/item/weapon/ore/glass(src) - new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass - user << "\blue You shovel the grass." - make_plating() - else - user << "\red You cannot shovel this." - - if(istype(C, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/welder = C - if(welder.welding && (is_plating())) - if(broken || burnt) - if(welder.remove_fuel(0,user)) - user << "\red You fix some dents on the broken plating." - playsound(src.loc, 'sound/items/Welder.ogg', 80, 1) - icon_state = "plating" - burnt = 0 - broken = 0 - else - user << "\blue You need more welding fuel to complete this task." - -/turf/unsimulated/floor/attack_paw(user as mob) - return src.attack_hand(user) - -/turf/unsimulated/floor/attack_hand(var/mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -// imported from space.dm - -/turf/space/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/turf/space/attack_hand(mob/user as mob) - if ((user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/atom/movable/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -/turf/space/attackby(obj/item/C as obj, mob/user as mob) - - if (istype(C, /obj/item/stack/rods)) - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - return - var/obj/item/stack/rods/R = C - user << "\blue Constructing support lattice ..." - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - ReplaceWithLattice() - R.use(1) - return - - if (istype(C, /obj/item/stack/tile/plasteel)) - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - var/obj/item/stack/tile/plasteel/S = C - del(L) - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - S.build(src) - S.use(1) - return - else - user << "\red The plating is going to need some support." - return - - -// Ported from unstable r355 - -/turf/space/Entered(atom/movable/A as mob|obj) - ..() - if ((!(A) || src != A.loc || istype(null, /obj/effect/beam))) return - - inertial_drift(A) - - if(ticker && ticker.mode) - - // Okay, so let's make it so that people can travel z levels but not nuke disks! - // if(ticker.mode.name == "nuclear emergency") return - - if(ticker.mode.name == "extended"||ticker.mode.name == "sandbox") - Sandbox_Spacemove(A) - - else - if (src.x <= 2 || A.x >= (world.maxx - 1) || src.y <= 2 || A.y >= (world.maxy - 1)) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - - if(istype(A, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks travel Z levels ... And moving this shit down here so it only fires when they're actually trying to change z-level. - return - - if(!isemptylist(A.search_contents_for(/obj/item/weapon/disk/nuclear))) - if(istype(A, /mob/living)) - var/mob/living/MM = A - if(MM.client) - MM << "\red Something you are carrying is preventing you from leaving. Don't play stupid; you know exactly what it is." - return - - - - var/move_to_z_str = pickweight(accessable_z_levels) - - var/move_to_z = text2num(move_to_z_str) - - if(!move_to_z) - return - - - - A.z = move_to_z - - - if(src.x <= 2) - A.x = world.maxx - 2 - - else if (A.x >= (world.maxx - 1)) - A.x = 3 - - else if (src.y <= 2) - A.y = world.maxy - 2 - - else if (A.y >= (world.maxy - 1)) - A.y = 3 - - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - -// if(istype(A, /obj/structure/closet/coffin)) -// coffinhandler.Add(A) - -/turf/space/proc/Sandbox_Spacemove(atom/movable/A as mob|obj) - var/cur_x - var/cur_y - var/next_x - var/next_y - var/target_z - var/list/y_arr - - if(src.x <= 1) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - next_x = (--cur_x||global_map.len) - y_arr = global_map[next_x] - target_z = y_arr[cur_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Target Z = [target_z]" - world << "Next X = [next_x]" - //debug -*/ - if(target_z) - A.z = target_z - A.x = world.maxx - 2 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - else if (src.x >= world.maxx) - if(istype(A, /obj/effect/meteor)) - del(A) - return - - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - next_x = (++cur_x > global_map.len ? 1 : cur_x) - y_arr = global_map[next_x] - target_z = y_arr[cur_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Target Z = [target_z]" - world << "Next X = [next_x]" - //debug -*/ - if(target_z) - A.z = target_z - A.x = 3 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - else if (src.y <= 1) - if(istype(A, /obj/effect/meteor)) - del(A) - return - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - y_arr = global_map[cur_x] - next_y = (--cur_y||y_arr.len) - target_z = y_arr[next_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Next Y = [next_y]" - world << "Target Z = [target_z]" - //debug -*/ - if(target_z) - A.z = target_z - A.y = world.maxy - 2 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - - else if (src.y >= world.maxy) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - y_arr = global_map[cur_x] - next_y = (++cur_y > y_arr.len ? 1 : cur_y) - target_z = y_arr[next_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Next Y = [next_y]" - world << "Target Z = [target_z]" - //debug -*/ - if(target_z) - A.z = target_z - A.y = 3 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - return - -/obj/effect/vaultspawner - var/maxX = 6 - var/maxY = 6 - var/minX = 2 - var/minY = 2 - -/obj/effect/vaultspawner/New(turf/location as turf,lX = minX,uX = maxX,lY = minY,uY = maxY,var/type = null) - if(!type) - type = pick("sandstone","rock","alien") - - var/lowBoundX = location.x - var/lowBoundY = location.y - - var/hiBoundX = location.x + rand(lX,uX) - var/hiBoundY = location.y + rand(lY,uY) - - var/z = location.z - - for(var/i = lowBoundX,i<=hiBoundX,i++) - for(var/j = lowBoundY,j<=hiBoundY,j++) - if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) - new /turf/simulated/wall/vault(locate(i,j,z),type) - else - new /turf/simulated/floor/vault(locate(i,j,z),type) - - del(src) - -/turf/proc/kill_creatures(mob/U = null)//Will kill people/creatures and damage mechs./N -//Useful to batch-add creatures to the list. - for(var/mob/living/M in src) - if(M==U) continue//Will not harm U. Since null != M, can be excluded to kill everyone. - spawn(0) - M.gib() - for(var/obj/mecha/M in src)//Mecha are not gibbed but are damaged. - spawn(0) - M.take_damage(100, "brute") - for(var/obj/effect/critter/M in src) - spawn(0) - M.Die() - -/turf/proc/Bless() - if(flags & NOJAUNT) - return - flags |= NOJAUNT - overlays += image('icons/effects/water.dmi',src,"holywater")*/ \ No newline at end of file diff --git a/code/unused/BrokenInhands.dm b/code/unused/BrokenInhands.dm deleted file mode 100644 index 6339d3c011..0000000000 --- a/code/unused/BrokenInhands.dm +++ /dev/null @@ -1,36 +0,0 @@ -/proc/getbrokeninhands() - var/icon/IL = new('icons/mob/items_lefthand.dmi') - var/list/Lstates = IL.IconStates() - var/icon/IR = new('icons/mob/items_righthand.dmi') - var/list/Rstates = IR.IconStates() - - - var/text - for(var/A in typesof(/obj/item)) - var/obj/item/O = new A( locate(1,1,1) ) - if(!O) continue - var/icon/J = new(O.icon) - var/list/istates = J.IconStates() - if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.item_state)) - if(O.icon_state) - text += "[O.type] WANTS IN LEFT HAND CALLED\n\"[O.icon_state]\".\n" - if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.item_state)) - if(O.icon_state) - text += "[O.type] WANTS IN RIGHT HAND CALLED\n\"[O.icon_state]\".\n" - - - if(O.icon_state) - if(!istates.Find(O.icon_state)) - text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.icon_state]\" IN \"[O.icon]\"\n" - if(O.item_state) - if(!istates.Find(O.item_state)) - text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.item_state]\" IN \"[O.icon]\"\n" - text+="\n" - del(O) - if(text) - var/F = file("broken_icons.txt") - fdel(F) - F << text - world << "Completely successfully and written to [F]" - - diff --git a/code/unused/Ultralight.dm b/code/unused/Ultralight.dm deleted file mode 100644 index 783726de91..0000000000 --- a/code/unused/Ultralight.dm +++ /dev/null @@ -1,341 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -//UltraLight system, by Sukasa - - const/ar/UL_LUMINOSITY = 0 - const/ar/UL_SQUARELIGHT = 0 - - const/ar/UL_RGB = 1 - const/ar/UL_ROUNDLIGHT = 2 - - const/ar/UL_I_FALLOFF_SQUARE = 0 - const/ar/UL_I_FALLOFF_ROUND = 1 - - const/ar/UL_I_LUMINOSITY = 0 - const/ar/UL_I_RGB = 1 - - const/ar/UL_I_LIT = 0 - const/ar/UL_I_EXTINGUISHED = 1 - const/ar/UL_I_ONZERO = 2 - - ul_LightingEnabled = 1 - ul_LightingResolution = 1 - ul_Steps = 7 - ul_LightingModel = UL_I_RGB - ul_FalloffStyle = UL_I_FALLOFF_ROUND - ul_TopLuminosity = 0 - ul_Layer = 10 - ul_SuppressLightLevelChanges = 0 - - list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7) - - -proc - ul_Clamp(var/Value) - return min(max(Value, 0), ul_Steps) - -atom - var/LuminosityRed = 0 - var/LuminosityGreen = 0 - var/LuminosityBlue = 0 - - var/ul_Extinguished = UL_I_ONZERO - - proc - sd_SetLuminosity(var/Red, var/Green = Red, var/Blue = Red) - - if(LuminosityRed == Red && LuminosityGreen == Green && LuminosityBlue == Blue) - return //No point doing all that work if it won't have any effect anyways... - - if (ul_Extinguished == UL_I_EXTINGUISHED) - LuminosityRed = Red - LuminosityGreen = Green - LuminosityBlue = Blue - - return - - if (ul_IsLuminous()) - ul_Extinguish() - - LuminosityRed = Red - LuminosityGreen = Green - LuminosityBlue = Blue - - ul_Extinguished = UL_I_ONZERO - - if (ul_IsLuminous()) - ul_Illuminate() - - return - - ul_Illuminate() - if (ul_Extinguished == UL_I_LIT) - return - - ul_Extinguished = UL_I_LIT - - ul_UpdateTopLuminosity() - luminosity = ul_Luminosity() - - for(var/turf/Affected in view(ul_Luminosity(), src)) - var/Falloff = src.ul_FalloffAmount(Affected) - - var/DeltaRed = LuminosityRed - Falloff - var/DeltaGreen = LuminosityGreen - Falloff - var/DeltaBlue = LuminosityBlue - Falloff - - if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue)) - - Affected.LightLevelRed += max(DeltaRed, 0) - Affected.LightLevelGreen += max(DeltaGreen, 0) - Affected.LightLevelBlue += max(DeltaBlue, 0) - - Affected.MaxRed += LuminosityRed - Affected.MaxGreen += LuminosityGreen - Affected.MaxBlue += LuminosityBlue - - Affected.ul_UpdateLight() - - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - return - - ul_Extinguish() - - if (ul_Extinguished != UL_I_LIT) - return - - ul_Extinguished = UL_I_EXTINGUISHED - - for(var/turf/Affected in view(ul_Luminosity(), src)) - - var/Falloff = ul_FalloffAmount(Affected) - - var/DeltaRed = LuminosityRed - Falloff - var/DeltaGreen = LuminosityGreen - Falloff - var/DeltaBlue = LuminosityBlue - Falloff - - if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue)) - - Affected.LightLevelRed -= max(DeltaRed, 0) - Affected.LightLevelGreen -= max(DeltaGreen, 0) - Affected.LightLevelBlue -= max(DeltaBlue, 0) - - Affected.MaxRed -= LuminosityRed - Affected.MaxGreen -= LuminosityGreen - Affected.MaxBlue -= LuminosityBlue - - Affected.ul_UpdateLight() - - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - - luminosity = 0 - - return - - ul_FalloffAmount(var/atom/ref) - if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) - var/x = (ref.x - src.x) - var/y = (ref.y - src.y) - if ((x*x + y*y) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= x*x+y*y, i++) - ul_FastRoot += round(sqrt(x*x+y*y)) - return round(ul_LightingResolution * ul_FastRoot[x*x + y*y + 1], 1) - - else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) - return get_dist(src, ref) - - return 0 - - ul_SetOpacity(var/NewOpacity) - if(opacity != NewOpacity) - - var/list/Blanked = ul_BlankLocal() - var/atom/T = src - while(T && !isturf(T)) - T = T.loc - - opacity = NewOpacity - - if(T) - T:LightLevelRed = 0 - T:LightLevelGreen = 0 - T:LightLevelBlue = 0 - - ul_UnblankLocal(Blanked) - - return - - ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src)) - for(var/atom/Light in ReApply) - if(Light.ul_IsLuminous()) - Light.ul_Illuminate() - - return - - ul_BlankLocal() - var/list/Blanked = list( ) - var/TurfAdjust = isturf(src) ? 1 : 0 - - for(var/atom/Affected in view(ul_TopLuminosity, src)) - if(Affected.ul_IsLuminous() && Affected.ul_Extinguished == UL_I_LIT && (ul_FalloffAmount(Affected) <= Affected.luminosity + TurfAdjust)) - Affected.ul_Extinguish() - Blanked += Affected - - return Blanked - - ul_UpdateTopLuminosity() - - if (ul_TopLuminosity < LuminosityRed) - ul_TopLuminosity = LuminosityRed - - if (ul_TopLuminosity < LuminosityGreen) - ul_TopLuminosity = LuminosityGreen - - if (ul_TopLuminosity < LuminosityBlue) - ul_TopLuminosity = LuminosityBlue - - return - - ul_Luminosity() - return max(LuminosityRed, LuminosityGreen, LuminosityBlue) - - ul_IsLuminous(var/Red = LuminosityRed, var/Green = LuminosityGreen, var/Blue = LuminosityBlue) - return (Red > 0 || Green > 0 || Blue > 0) - - ul_LightLevelChanged() - //Designed for client projects to use. Called on items when the turf they are in has its light level changed - return - - New() - ..() - if(ul_IsLuminous()) - spawn(1) - ul_Illuminate() - return - - Del() - if(ul_IsLuminous()) - ul_Extinguish() - - ..() - - return - - movable - Move() - ul_Extinguish() - ..() - ul_Illuminate() - return - -turf - var/LightLevelRed = 0 - var/LightLevelGreen = 0 - var/LightLevelBlue = 0 - - var/list/MaxRed = list( ) - var/list/MaxGreen = list( ) - var/list/MaxBlue = list( ) - - proc - - ul_GetRed() - return ul_Clamp(min(LightLevelRed, max(MaxRed))) - ul_GetGreen() - return ul_Clamp(min(LightLevelGreen, max(MaxGreen))) - ul_GetBlue() - return ul_Clamp(min(LightLevelBlue, max(MaxBlue))) - - ul_UpdateLight() - - var/area/CurrentArea = loc - - if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting) - return - - var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]" - - if(CurrentArea.tag != LightingTag) - var/area/NewArea = locate(LightingTag) - - if(!NewArea) - NewArea = new CurrentArea.type() - NewArea.tag = LightingTag - - for(var/V in CurrentArea.vars - "contents") - if(issaved(CurrentArea.vars[V])) - NewArea.vars[V] = CurrentArea.vars[V] - - NewArea.tag = LightingTag - - NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue()) - - - NewArea.contents += src - - return - - ul_Recalculate() - - ul_SuppressLightLevelChanges++ - - var/list/Lights = ul_BlankLocal() - - LightLevelRed = 0 - LightLevelGreen = 0 - LightLevelBlue = 0 - - ul_UnblankLocal(Lights) - - ul_SuppressLightLevelChanges-- - - return - -area - var/ul_Overlay = null - var/ul_Lighting = 1 - - var/LightLevelRed = 0 - var/LightLevelGreen = 0 - var/LightLevelBlue = 0 - - proc - ul_Light(var/Red = LightLevelRed, var/Green = LightLevelGreen, var/Blue = LightLevelBlue) - - if(!src || !src.ul_Lighting) - return - - overlays -= ul_Overlay - - LightLevelRed = Red - LightLevelGreen = Green - LightLevelBlue = Blue - - luminosity = ul_IsLuminous(LightLevelRed, LightLevelGreen, LightLevelBlue) - - ul_Overlay = image('icons/effects/ULIcons.dmi', , num2text(LightLevelRed) + "-" + num2text(LightLevelGreen) + "-" + num2text(LightLevelBlue), ul_Layer) - - overlays += ul_Overlay - - return - - ul_Prep() - - if(!tag) - tag = "[type]" - if(ul_Lighting) - if(!findtext(tag,":UL")) - ul_Light() - //world.log << tag - - return diff --git a/code/unused/Virus2Prob.dm b/code/unused/Virus2Prob.dm deleted file mode 100644 index bf9868041d..0000000000 --- a/code/unused/Virus2Prob.dm +++ /dev/null @@ -1,12 +0,0 @@ -var/list/prob_G_list = list() - -/proc/probG(var/define,var/everyother) - if(prob_G_list["[define]"]) - prob_G_list["[define]"] += 1 - if(prob_G_list["[define]"] == everyother) - prob_G_list["[define]"] = 0 - return 1 - else - (prob_G_list["[define]"]) = 0 - (prob_G_list["[define]"]) = rand(1,everyother-1) - return 0 diff --git a/code/unused/_debug.dm b/code/unused/_debug.dm deleted file mode 100644 index fb4a994f28..0000000000 --- a/code/unused/_debug.dm +++ /dev/null @@ -1,619 +0,0 @@ -// NOTE WELL! -// Only include this file when debugging locally -// Do not include in release versions - - -#define VARSICON 1 -#define SDEBUG 1 - -/client/verb/Debug() - set category = "Debug" - set name = "Debug-Debug" - if(src.holder.rank == "Game Admin") - Debug = !Debug - - world << "Debugging [Debug ? "On" : "Off"]" - else - alert("Coders only baby") - return - -/turf/verb/Flow() - set category = "Debug" - //set hidden = 1 - if(Debug) - for(var/turf/T in range(5)) - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - var/obj/move/OM = locate(/obj/move/, T) - - if(OM) - - if(! OM.updatecell) - O.icon_state = "x2" - else - O.icon_state = "blank" -/* -Doing this because FindTurfs() isn't even used - for(var/atom/U in OM.FindTurfs() ) - var/dirn = get_dir(OM, U) - if(dirn == 1) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==1?"up":"fup") - else if(dirn == 2) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==2?"dn":"fdn") - else if(dirn == 4) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==4?"rt":"frt") - else if(dirn == 8) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==8?"lf":"flf") -*/ - else - - if(!(T.updatecell)) - O.icon_state = "x2" - else - O.icon_state = "blank" - - if(T.airN) - O.overlays += image('icons/misc/mark.dmi', T.airdir==1?"up":"fup") - - if(T.airS) - O.overlays += image('icons/misc/mark.dmi', T.airdir==2?"dn":"fdn") - - if(T.airW) - O.overlays += image('icons/misc/mark.dmi', T.airdir==8?"lf":"flf") - - if(T.airE) - O.overlays += image('icons/misc/mark.dmi', T.airdir==4?"rt":"frt") - - - if(T.condN) - O.overlays += image('icons/misc/mark.dmi', T.condN == 1?"yup":"rup") - - if(T.condS) - O.overlays += image('icons/misc/mark.dmi', T.condS == 1?"ydn":"rdn") - - if(T.condE) - O.overlays += image('icons/misc/mark.dmi', T.condE == 1?"yrt":"rrt") - - if(T.condW) - O.overlays += image('icons/misc/mark.dmi', T.condW == 1?"ylf":"rlf") - else - alert("Debugging off") - return - -/turf/verb/Clear() - set category = "Debug" - //set hidden = 1 - if(Debug) - for(var/obj/effect/mark/O in world) - del(O) - else - alert("Debugging off") - return - -/proc/numbericon(var/tn as text,var/s = 0) - if(Debug) - var/image/I = image('icons/misc/mark.dmi', "blank") - - if(lentext(tn)>8) - tn = "*" - - var/len = lentext(tn) - - for(var/d = 1 to lentext(tn)) - - - var/char = copytext(tn, len-d+1, len-d+2) - - if(char == " ") - continue - - var/image/ID = image('icons/misc/mark.dmi', char) - - ID.pixel_x = -(d-1)*4 - ID.pixel_y = s - //if(d>1) I.Shift(WEST, (d-1)*8) - - I.overlays += ID - - - - return I - else - alert("Debugging off") - return - -/*/turf/verb/Stats() - set category = "Debug" - for(var/turf/T in range(5)) - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - - var/temp = round(T.temp-T0C, 0.1) - - O.overlays += numbericon("[temp]C") - - var/pres = round(T.tot_gas() / CELLSTANDARD * 100, 0.1) - - O.overlays += numbericon("[pres]", -8) - O.mark = "[temp]/[pres]" -*/ -/* -/turf/verb/Pipes() - set category = "Debug" - - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - for(var/obj/machinery/M in T) - //world <<" Mach [M] with pdir=[M.p_dir]" - - if(M && M.p_dir) - - //world << "Accepted" - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - if(istype(M, /obj/machinery/pipes)) - var/obj/machinery/pipes/P = M - O.overlays += numbericon("[P.plnum] ", -20) - M = P.pl - - - var/obj/substance/gas/G = M.get_gas() - - if(G) - - var/cap = round( 100*(G.tot_gas()/ M.capmult / 6e6), 0.1) - var/temp = round(G.temperature - T0C, 0.1) - O.overlays += numbericon("[temp]C", 0) - O.overlays += numbericon("[cap]", -8) - - break -*/ -/turf/verb/Cables() - set category = "Debug" - if(Debug) - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - var/marked = 0 - for(var/obj/M in T) - //world <<" Mach [M] with pdir=[M.p_dir]" - - - if(M && istype(M, /obj/structure/cable/)) - - - var/obj/structure/cable/C = M - //world << "Accepted" - - O.overlays += numbericon("[C.netnum] " , marked) - - marked -= 8 - - else if(M && istype(M, /obj/machinery/power/)) - - var/obj/machinery/power/P = M - O.overlays += numbericon("*[P.netnum] " , marked) - marked -= 8 - - if(!marked) - del(O) - else - alert("Debugging off") - return - - -/turf/verb/Solar() - set category = "Debug" - if(Debug) - - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - - var/obj/machinery/power/solar/S - - S = locate(/obj/machinery/power/solar, T) - - if(S) - - O.overlays += numbericon("[S.obscured] " , 0) - O.overlays += numbericon("[round(S.sunfrac*100,0.1)] " , -12) - - else - del(O) - else - alert("Debugging off") - return - - -/mob/verb/Showports() - set category = "Debug" - if(Debug) - var/turf/T - var/obj/machinery/pipes/P - var/list/ndirs - - for(var/obj/machinery/pipeline/PL in plines) - - var/num = plines.Find(PL) - - P = PL.nodes[1] // 1st node in list - ndirs = P.get_node_dirs() - - T = get_step(P, ndirs[1]) - - var/obj/effect/mark/O = new(T) - - O.overlays += numbericon("[num] * 1 ", -4) - O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]",-16) - - - P = PL.nodes[PL.nodes.len] // last node in list - - ndirs = P.get_node_dirs() - T = get_step(P, ndirs[2]) - - O = new(T) - - O.overlays += numbericon("[num] * 2 ", -4) - O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]", -16) - else - alert("Debugging off") - return - -/atom/verb/delete() - set category = "Debug" - set src in view() - if(Debug) - del(src) - else - alert("Debugging off") - return - - -/area/verb/dark() - set category = "Debug" - if(Debug) - if(src.icon_state == "dark") - icon_state = null - else - icon_state = "dark" - else - alert("Debugging off") - return - -/area/verb/power() - set category = "Debug" - if(Debug) - power_equip = !power_equip - power_environ = !power_environ - - world << "Power ([src]) = [power_equip]" - - power_change() - else - alert("Debugging off") - return - -// *****RM - -// ***** - - -/mob/verb/ShowPlasma() - set category = "Debug" - if(Debug) - Plasma() - else - alert("Debugging off") - return - -/mob/verb/Blobcount() - set category = "Debug" - if(Debug) - world << "Blob count: [blobs.len]" - else - alert("Debugging off") - return - - -/mob/verb/Blobkill() - set category = "Debug" - if(Debug) - blobs = list() - world << "Blob killed." - else - alert("Debugging off") - return - -/mob/verb/Blobmode() - set category = "Debug" - if(Debug) - world << "Event=[ticker.event]" - world << "Time =[(ticker.event_time - world.realtime)/10]s" - else - alert("Debugging off") - return - -/mob/verb/Blobnext() - set category = "Debug" - if(Debug) - ticker.event_time = world.realtime - else - alert("Debugging off") - return - - -/mob/verb/callshuttle() - set category = "Debug" - if(Debug) - ticker.timeleft = 300 - ticker.timing = 1 - else - alert("Debugging off") - return - -/mob/verb/apcs() - set category = "Debug" - if(Debug) - for(var/obj/machinery/power/apc/APC in world) - world << APC.report() - else - alert("Debugging off") - return - -/mob/verb/Globals() - set category = "Debug" - if(Debug) - debugobj = new() - - debugobj.debuglist = list( powernets, plines, vote, config, admins, ticker, SS13_airtunnel, sun ) - - - world << "Debug" - else - alert("Debugging off") - return - /*for(var/obj/O in plines) - - world << "[O.name]" - */ - - - - -/mob/verb/Mach() - set category = "Debug" - if(Debug) - var/n = 0 - for(var/obj/machinery/M in world) - n++ - if(! (M in machines) ) - world << "[M] [M.type]: not in list" - - world << "in world: [n]; in list:[machines.len]" - else - alert("Debugging off") - return - - -/*/mob/verb/air() - set category = "Debug" - - Air() - -/proc/Air() - - - var/area/A = locate(/area/airintake) - - var/atot = 0 - for(var/turf/T in A) - atot += T.tot_gas() - - var/ptot = 0 - for(var/obj/machinery/pipeline/PL in plines) - if(PL.suffix == "d") - ptot += PL.ngas.tot_gas() - - var/vtot = 0 - for(var/obj/machinery/atmoalter/V in machines) - if(V.suffix == "d") - vtot += V.gas.tot_gas() - - var/ctot = 0 - for(var/obj/machinery/connector/C in machines) - if(C.suffix == "d") - ctot += C.ngas.tot_gas() - - - var/tot = atot + ptot + vtot + ctot - - diary << "A=[num2text(atot,10)] P=[num2text(ptot,10)] V=[num2text(vtot,10)] C=[num2text(ctot,10)] : Total=[num2text(tot,10)]" -*/ -/mob/verb/Revive() - set category = "Debug" - if(Debug) - adjustFireLoss(0 - getBruteLoss()) - setToxLoss(0) - adjustBruteLoss(0 - getBruteLoss()) - setOxyLoss(0) - paralysis = 0 - stunned = 0 - weakened = 0 - health = 100 - if(stat > 1) stat=0 - disabilities = initial(disabilities) - sdisabilities = initial(sdisabilities) - for(var/datum/organ/external/e in src) - e.brute_dam = 0.0 - e.burn_dam = 0.0 - e.bandaged = 0.0 - e.wound_size = 0.0 - e.max_damage = initial(e.max_damage) - e.broken = 0 - e.destroyed = 0 - e.perma_injury = 0 - e.update_icon() - if(src.type == /mob/living/carbon/human) - var/mob/living/carbon/human/H = src - H.update_body() - H.UpdateDamageIcon() - else - alert("Debugging off") - return - -/mob/verb/Smoke() - set category = "Debug" - if(Debug) - var/obj/effect/smoke/O = new /obj/effect/smoke( src.loc ) - O.set_dir(pick(NORTH, SOUTH, EAST, WEST)) - spawn( 0 ) - O.Life() - else - alert("Debugging off") - return - -/mob/verb/revent(number as num) - set category = "Debug" - set name = "Change event %" - if(!src.holder) - src << "Only administrators may use this command." - return - if(src.holder) - eventchance = number - log_admin("[src.key] set the random event chance to [eventchance]%") - message_admins("[src.key] set the random event chance to [eventchance]%") - -/* Does nothing but blow up the station. -/mob/verb/funbutton() - set category = "Admin" - set name = "Random Expl.(REMOVE ME)" - if(!src.holder) - src << "Only administrators may use this command." - return - for(var/turf/T in world) - if(prob(4) && T.z in station_levels && istype(T,/turf/station/floor)) - spawn(50+rand(0,3000)) - var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T ) - pt.gas.temperature = 400+T0C - pt.ignite() - for(var/turf/P in view(3, T)) - if (P.poison) - P.poison = 0 - P.oldpoison = 0 - P.tmppoison = 0 - P.oxygen = 755985 - P.oldoxy = 755985 - P.tmpoxy = 755985 - usr << "\blue Blowing up station ..." - world << "[usr.key] has used boom boom boom shake the room" -*/ - -/mob/verb/removeplasma() - set category = "Debug" - set name = "Stabilize Atmos." - if(!src.holder) - src << "Only administrators may use this command." - return - spawn(0) - for(var/turf/T in view()) - T.poison = 0 - T.oldpoison = 0 - T.tmppoison = 0 - T.oxygen = 755985 - T.oldoxy = 755985 - T.tmpoxy = 755985 - T.co2 = 14.8176 - T.oldco2 = 14.8176 - T.tmpco2 = 14.8176 - T.n2 = 2.844e+006 - T.on2 = 2.844e+006 - T.tn2 = 2.844e+006 - T.tsl_gas = 0 - T.osl_gas = 0 - T.sl_gas = 0 - T.temp = 293.15 - T.otemp = 293.15 - T.ttemp = 293.15 - -/mob/verb/fire(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create Fire" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created fire" - spawn(0) - T.poison += 30000000 - T.firelevel = T.poison - -/mob/verb/co2(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create CO2" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created CO2" - spawn(0) - T.co2 += 300000000 - -/mob/verb/n2o(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create N2O" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created N2O" - spawn(0) - T.sl_gas += 30000000 - -/mob/verb/explosion(T as obj|mob|turf in world) - set category = "Special Verbs" - set name = "Create Explosion" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created an explosion" - var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T ) - playsound(pt.loc, "explosion", 100, 1,3) - playsound(pt.loc, 'sound/effects/explosionfar.ogg', 100, 1,10) - pt.gas.temperature = 500+T0C - pt.ignite() - - diff --git a/code/unused/ai_lockdown.dm b/code/unused/ai_lockdown.dm deleted file mode 100644 index 552ae977f3..0000000000 --- a/code/unused/ai_lockdown.dm +++ /dev/null @@ -1,60 +0,0 @@ -/mob/living/silicon/ai/proc/lockdown() - set category = "AI Commands" - set name = "Lockdown" - - if(usr.stat == 2) - usr <<"You cannot initiate lockdown because you are dead!" - return - - src << "Initiating lockdowns has been disabled due to system stress." -// Commented this out to disable Lockdowns -- TLE -/* world << "\red Lockdown initiated by [usr.name]!" - - for(var/obj/machinery/firealarm/FA in world) //activate firealarms - spawn( 0 ) - if(FA.lockdownbyai == 0) - FA.lockdownbyai = 1 - FA.alarm() - for(var/obj/machinery/door/airlock/AL in world) //close airlocks - spawn( 0 ) - if(AL.canAIControl() && AL.icon_state == "door0" && AL.lockdownbyai == 0) - AL.close() - AL.lockdownbyai = 1 - - var/obj/machinery/computer/communications/C = locate() in world - if(C) - C.post_status("alert", "lockdown") -*/ - -/* src.verbs -= /mob/living/silicon/ai/proc/lockdown - src.verbs += /mob/living/silicon/ai/proc/disablelockdown - usr << "\red Disable lockdown command enabled!" - winshow(usr,"rpane",1) -*/ - -/mob/living/silicon/ai/proc/disablelockdown() - set category = "AI Commands" - set name = "Disable Lockdown" - - if(usr.stat == 2) - usr <<"You cannot disable lockdown because you are dead!" - return - - world << "\red Lockdown cancelled by [usr.name]!" - - for(var/obj/machinery/firealarm/FA in world) //deactivate firealarms - spawn( 0 ) - if(FA.lockdownbyai == 1) - FA.lockdownbyai = 0 - FA.reset() - for(var/obj/machinery/door/airlock/AL in world) //open airlocks - spawn ( 0 ) - if(AL.canAIControl() && AL.lockdownbyai == 1) - AL.open() - AL.lockdownbyai = 0 - -/* src.verbs -= /mob/living/silicon/ai/proc/disablelockdown - src.verbs += /mob/living/silicon/ai/proc/lockdown - usr << "\red Disable lockdown command removed until lockdown initiated again!" - winshow(usr,"rpane",1) -*/ \ No newline at end of file diff --git a/code/unused/airtunnel.dm b/code/unused/airtunnel.dm deleted file mode 100644 index 9b61340bdf..0000000000 --- a/code/unused/airtunnel.dm +++ /dev/null @@ -1,463 +0,0 @@ -/obj/machinery/sec_lock//P'sure this was part of the tunnel - name = "Security Pad" - desc = "A lock, for doors. Used by security." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "sec_lock" - var/obj/item/weapon/card/id/scan = null - var/a_type = 0.0 - var/obj/machinery/door/d1 = null - var/obj/machinery/door/d2 = null - anchored = 1.0 - req_access = list(access_brig) - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/move/airtunnel/process() - if (!( src.deployed )) - return null - else - ..() - return - -/obj/move/airtunnel/connector/create() - src.current = src - src.next = new /obj/move/airtunnel( null ) - src.next.master = src.master - src.next.previous = src - spawn( 0 ) - src.next.create(airtunnel_start - airtunnel_stop, src.y) - return - return - -/obj/move/airtunnel/connector/wall/create() - src.current = src - src.next = new /obj/move/airtunnel/wall( null ) - src.next.master = src.master - src.next.previous = src - spawn( 0 ) - src.next.create(airtunnel_start - airtunnel_stop, src.y) - return - return - -/obj/move/airtunnel/connector/wall/process() - return - -/obj/move/airtunnel/wall/create(num, y_coord) - if (((num < 7 || (num > 16 && num < 23)) && y_coord == airtunnel_bottom)) - src.next = new /obj/move/airtunnel( null ) - else - src.next = new /obj/move/airtunnel/wall( null ) - src.next.master = src.master - src.next.previous = src - if (num > 1) - spawn( 0 ) - src.next.create(num - 1, y_coord) - return - return - -/obj/move/airtunnel/wall/move_right() - flick("wall-m", src) - return ..() - -/obj/move/airtunnel/wall/move_left() - flick("wall-m", src) - return ..() - -/obj/move/airtunnel/wall/process() - return - -/obj/move/airtunnel/proc/move_left() - src.relocate(get_step(src, WEST)) - if ((src.next && src.next.deployed)) - return src.next.move_left() - else - return src.next - return - -/obj/move/airtunnel/proc/move_right() - src.relocate(get_step(src, EAST)) - if ((src.previous && src.previous.deployed)) - src.previous.move_right() - return src.previous - -/obj/move/airtunnel/proc/create(num, y_coord) - if (y_coord == airtunnel_bottom) - if ((num < 7 || (num > 16 && num < 23))) - src.next = new /obj/move/airtunnel( null ) - else - src.next = new /obj/move/airtunnel/wall( null ) - else - src.next = new /obj/move/airtunnel( null ) - src.next.master = src.master - src.next.previous = src - if (num > 1) - spawn( 0 ) - src.next.create(num - 1, y_coord) - return - return - -/obj/machinery/at_indicator/ex_act(severity) - switch(severity) - if(1.0) - del(src) - return - if(2.0) - if (prob(50)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - if(3.0) - if (prob(25)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - else - return - -/obj/machinery/at_indicator/blob_act() - if (prob(75)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - -/obj/machinery/at_indicator/proc/update_icon() - if(stat & (BROKEN|NOPOWER)) - icon_state = "reader_broken" - return - - var/status = 0 - if (SS13_airtunnel.operating == 1) - status = "r" - else - if (SS13_airtunnel.operating == 2) - status = "e" - else - if(!SS13_airtunnel.connectors) - return - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - status = 0 - else - if (!( C.current.next )) - status = 2 - else - status = 1 - src.icon_state = text("reader[][]", (SS13_airtunnel.siphon_status == 2 ? "1" : "0"), status) - return - -/obj/machinery/at_indicator/process() - if(stat & (NOPOWER|BROKEN)) - src.update_icon() - return - use_power(5, ENVIRON) - src.update_icon() - return - -/obj/machinery/computer/airtunnel/attack_paw(user as mob) - return src.attack_hand(user) - -obj/machinery/computer/airtunnel/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/airtunnel/attack_hand(var/mob/user as mob) - if(..()) - return - - var/dat = "Air Tunnel Controls
" - user.machine = src - if (SS13_airtunnel.operating == 1) - dat += "Status: RETRACTING
" - else - if (SS13_airtunnel.operating == 2) - dat += "Status: EXPANDING
" - else - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - dat += "Status: Fully Retracted
" - else - if (!( C.current.next )) - dat += "Status: Fully Extended
" - else - dat += "Status: Stopped Midway
" - dat += text("Retract Stop Extend
", src, src, src) - dat += text("
Air Level: []
", (SS13_airtunnel.air_stat ? "Acceptable" : "DANGEROUS")) - dat += "Air System Status: " - switch(SS13_airtunnel.siphon_status) - if(0.0) - dat += "Stopped " - if(1.0) - dat += "Siphoning (Siphons only) " - if(2.0) - dat += "Regulating (BOTH) " - if(3.0) - dat += "RELEASING MAX (Siphons only) " - else - dat += text("(Refresh)
", src) - dat += text("RELEASE (Siphons only) Siphon (Siphons only) Stop Regulate
", src, src, src, src) - dat += text("

Close
", user) - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - -/obj/machinery/computer/airtunnel/proc/update_icon() - if(stat & BROKEN) - icon_state = "broken" - return - - if(stat & NOPOWER) - icon_state = "c_unpowered" - return - - var/status = 0 - if (SS13_airtunnel.operating == 1) - status = "r" - else - if (SS13_airtunnel.operating == 2) - status = "e" - else - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - status = 0 - else - if (!( C.current.next )) - status = 2 - else - status = 1 - src.icon_state = text("console[][]", (SS13_airtunnel.siphon_status >= 2 ? "1" : "0"), status) - return - -/obj/machinery/computer/airtunnel/process() - src.update_icon() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - src.updateUsrDialog() - return - -/obj/machinery/computer/airtunnel/Topic(href, href_list) - if(..()) - return - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon)))) - usr.machine = src - if (href_list["retract"]) - SS13_airtunnel.retract() - else if (href_list["stop"]) - SS13_airtunnel.operating = 0 - else if (href_list["extend"]) - SS13_airtunnel.extend() - else if (href_list["release"]) - SS13_airtunnel.siphon_status = 3 - SS13_airtunnel.siphons() - else if (href_list["siphon"]) - SS13_airtunnel.siphon_status = 1 - SS13_airtunnel.siphons() - else if (href_list["stop_siph"]) - SS13_airtunnel.siphon_status = 0 - SS13_airtunnel.siphons() - else if (href_list["auto"]) - SS13_airtunnel.siphon_status = 2 - SS13_airtunnel.siphons() - else if (href_list["refresh"]) - SS13_airtunnel.siphons() - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - - -/obj/machinery/sec_lock/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/attack_paw(user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/attack_hand(var/mob/user as mob) - if(..()) - return - use_power(10) - - if (src.loc == user.loc) - var/dat = text("Security Pad:
\nKeycard: []
\nToggle Outer Door
\nToggle Inner Door
\n
\nEmergency Close
\nEmergency Open
", (src.scan ? text("[]", src, src.scan.name) : text("-----", src)), src, src, src, src) - user << browse(dat, "window=sec_lock") - onclose(user, "sec_lock") - return - -/obj/machinery/sec_lock/attackby(nothing, user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/New() - ..() - spawn( 2 ) - if (src.a_type == 1) - src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y - 1, src.z)) - src.d1 = locate(/obj/machinery/door, get_step(src, SOUTHWEST)) - else - if (src.a_type == 2) - src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y + 1, src.z)) - src.d1 = locate(/obj/machinery/door, get_step(src, NORTHWEST)) - else - src.d1 = locate(/obj/machinery/door, get_step(src, SOUTH)) - src.d2 = locate(/obj/machinery/door, get_step(src, SOUTHEAST)) - return - return - -/obj/machinery/sec_lock/Topic(href, href_list) - if(..()) - return - if ((!( src.d1 ) || !( src.d2 ))) - usr << "\red Error: Cannot interface with door security!" - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon)))) - usr.machine = src - if (href_list["card"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - else - var/obj/item/weapon/card/id/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.scan = I - if (href_list["door1"]) - if (src.scan) - if (src.check_access(src.scan)) - if (src.d1.density) - spawn( 0 ) - src.d1.open() - return - else - spawn( 0 ) - src.d1.close() - return - if (href_list["door2"]) - if (src.scan) - if (src.check_access(src.scan)) - if (src.d2.density) - spawn( 0 ) - src.d2.open() - return - else - spawn( 0 ) - src.d2.close() - return - if (href_list["em_cl"]) - if (src.scan) - if (src.check_access(src.scan)) - if (!( src.d1.density )) - src.d1.close() - return - sleep(1) - spawn( 0 ) - if (!( src.d2.density )) - src.d2.close() - return - if (href_list["em_op"]) - if (src.scan) - if (src.check_access(src.scan)) - spawn( 0 ) - if (src.d1.density) - src.d1.open() - return - sleep(1) - spawn( 0 ) - if (src.d2.density) - src.d2.open() - return - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/datum/air_tunnel/air_tunnel1/New() - ..() - for(var/obj/move/airtunnel/A in locate(/area/airtunnel1)) - A.master = src - A.create() - src.connectors += A - //Foreach goto(21) - return - -/datum/air_tunnel/proc/siphons() - switch(src.siphon_status) - if(0.0) - for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1)) - S.t_status = 3 - if(1.0) - for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1)) - S.t_status = 2 - S.t_per = 1000000.0 - for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1)) - S.t_status = 3 - if(2.0) - for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1)) - S.t_status = 4 - if(3.0) - for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1)) - S.t_status = 1 - S.t_per = 1000000.0 - for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1)) - S.t_status = 3 - else - return - -/datum/air_tunnel/proc/stop() - src.operating = 0 - return - -/datum/air_tunnel/proc/extend() - if (src.operating) - return - - spawn(0) - src.operating = 2 - while(src.operating == 2) - var/ok = 1 - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (!( A.current.next )) - src.operating = 0 - return - if (!( A.move_left() )) - ok = 0 - if (!( ok )) - src.operating = 0 - else - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (A.current) - A.current.next.loc = get_step(A.current.loc, EAST) - A.current = A.current.next - A.current.deployed = 1 - else - src.operating = 0 - sleep(20) - return - -/datum/air_tunnel/proc/retract() - if (src.operating) - return - spawn(0) - src.operating = 1 - while(src.operating == 1) - var/ok = 1 - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (A.current == A) - src.operating = 0 - return - if (A.current) - A.current.loc = null - A.current.deployed = 0 - A.current = A.current.previous - else - ok = 0 - if (!( ok )) - src.operating = 0 - else - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (!( A.current.move_right() )) - src.operating = 0 - sleep(20) - return \ No newline at end of file diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm deleted file mode 100644 index 84c4b4506a..0000000000 --- a/code/unused/assemblies.dm +++ /dev/null @@ -1,951 +0,0 @@ -/*/obj/item/assembly - name = "assembly" - icon = 'icons/obj/assemblies.dmi' - item_state = "assembly" - var/status = 0.0 - throwforce = 10 - w_class = 3.0 - throw_speed = 4 - throw_range = 10 - -/obj/item/assembly/a_i_a - name = "Health-Analyzer/Igniter/Armor Assembly" - desc = "A health-analyzer, igniter and armor assembly." - icon_state = "armor-igniter-analyzer" - var/obj/item/device/healthanalyzer/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/clothing/suit/armor/vest/part3 = null - status = null - flags = CONDUCT - -/obj/item/assembly/m_i_ptank - desc = "A very intricate igniter and proximity sensor electrical assembly mounted onto top of a plasma tank." - name = "Proximity/Igniter/Plasma Tank Assembly" - icon_state = "prox-igniter-tank0" - var/obj/item/device/prox_sensor/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = CONDUCT - -/obj/item/assembly/prox_ignite - name = "Proximity/Igniter Assembly" - desc = "A proximity-activated igniter assembly." - icon_state = "prox-igniter0" - var/obj/item/device/prox_sensor/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = CONDUCT - -/obj/item/assembly/r_i_ptank - desc = "A very intricate igniter and signaller electrical assembly mounted onto top of a plasma tank." - name = "Radio/Igniter/Plasma Tank Assembly" - icon_state = "radio-igniter-tank" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = CONDUCT - -/obj/item/assembly/anal_ignite - name = "Health-Analyzer/Igniter Assembly" - desc = "A health-analyzer igniter assembly." - icon_state = "timer-igniter0" - var/obj/item/device/healthanalyzer/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = CONDUCT - item_state = "electronic" - -/obj/item/assembly/time_ignite - name = "Timer/Igniter Assembly" - desc = "A timer-activated igniter assembly." - icon_state = "timer-igniter0" - var/obj/item/device/timer/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = CONDUCT - -/obj/item/assembly/t_i_ptank - desc = "A very intricate igniter and timer assembly mounted onto top of a plasma tank." - name = "Timer/Igniter/Plasma Tank Assembly" - icon_state = "timer-igniter-tank0" - var/obj/item/device/timer/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = CONDUCT - -/obj/item/assembly/rad_ignite - name = "Radio/Igniter Assembly" - desc = "A radio-activated igniter assembly." - icon_state = "radio-igniter" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = CONDUCT - -/obj/item/assembly/rad_infra - name = "Signaller/Infrared Assembly" - desc = "An infrared-activated radio signaller" - icon_state = "infrared-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/infra/part2 = null - status = null - flags = CONDUCT - -/obj/item/assembly/rad_prox - name = "Signaller/Prox Sensor Assembly" - desc = "A proximity-activated radio signaller." - icon_state = "prox-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/prox_sensor/part2 = null - status = null - flags = CONDUCT - -/obj/item/assembly/rad_time - name = "Signaller/Timer Assembly" - desc = "A radio signaller activated by a count-down timer." - icon_state = "timer-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/timer/part2 = null - status = null - flags = CONDUCT -*/ - -/obj/item/assembly/time_ignite/premade/New() - ..() - part1 = new(src) - part2 = new(src) - part1.master = src - part2.master = src - //part2.status = 0 - -/obj/item/assembly/time_ignite/Del() - del(part1) - del(part2) - ..() - -/obj/item/assembly/time_ignite/attack_self(mob/user as mob) - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/time_ignite/receive_signal() - if (!status) - return - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/effect/decal/ash/attack_hand(mob/user as mob) - usr << "\blue The ashes slip through your fingers." - del(src) - return - -/obj/item/assembly/time_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The timer is now secured!", 1) - else - user.show_message("\blue The timer is now unsecured!", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/time_ignite/c_state(n) - src.icon_state = text("timer-igniter[]", n) - return - -//*********** - -/obj/item/assembly/anal_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - - del(src) - return - if (( istype(W, /obj/item/weapon/screwdriver) )) - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The analyzer is now secured!", 1) - else - user.show_message("\blue The analyzer is now unsecured!", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - if(( istype(W, /obj/item/clothing/suit/armor/vest) ) && src.status) - var/obj/item/assembly/a_i_a/R = new - R.part1 = part1 - R.part1.master = R - part1 = null - - R.part2 = part2 - R.part2.master = R - part2 = null - - user.put_in_hand(R) - user.before_take_item(W) - R.part3 = W - R.part3.master = R - del(src) - -/* WTF THIS SHIT? It is working? Shouldn't. --rastaf0 - W.loc = R - R.part1 = W - R.part2 = W - W.layer = initial(W.layer) - if (user.client) - user.client.screen -= W - if (user.r_hand == W) - user.u_equip(W) - user.r_hand = R - else - user.u_equip(W) - user.l_hand = R - W.master = R - src.master = R - src.layer = initial(src.layer) - user.u_equip(src) - if (user.client) - user.client.screen -= src - src.loc = R - R.part3 = src - R.layer = 20 - R.loc = user - src.add_fingerprint(user) -*/ - return -/* else if ((istype(W, /obj/item/device/timer) && !( src.status ))) - - var/obj/item/assembly/time_ignite/R = new /obj/item/assembly/time_ignite( user ) - W.loc = R - R.part1 = W - W.layer = initial(W.layer) - if (user.client) - user.client.screen -= W - if (user.r_hand == W) - user.u_equip(W) - user.r_hand = R - else - user.u_equip(W) - user.l_hand = R - W.master = R - src.master = R - src.layer = initial(src.layer) - user.u_equip(src) - if (user.client) - user.client.screen -= src - src.loc = R - R.part2 = src - R.layer = 20 - R.loc = user - src.add_fingerprint(user) -*/ - -/obj/item/assembly/proc/c_state(n, O as obj) - return - -/obj/item/assembly/a_i_a/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - src.part3.loc = T - src.part3.master = null - src.part3 = null - - del(src) - return - if (( istype(W, /obj/item/weapon/screwdriver) )) - if (!src.status && (!part1||!part2||!part3)) - user << "\red You cannot finish the assembly, not all components are in place!" - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The armor is now secured!", 1) - else - user.show_message("\blue The armor is now unsecured!", 1) - src.add_fingerprint(user) - -/obj/item/assembly/a_i_a/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - del(src.part3) - ..() - return -//***** - -/obj/item/assembly/rad_time/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - ..() - return - -/obj/item/assembly/rad_time/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The signaler is now secured!", 1) - else - user.show_message("\blue The signaler is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_time/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_time/receive_signal(datum/signal/signal) - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return -//******************* -/obj/item/assembly/rad_prox/c_state(n) - src.icon_state = "prox-radio[n]" - return - -/obj/item/assembly/rad_prox/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - ..() - return - -/obj/item/assembly/rad_prox/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12) - src.part2.sense() - return - -/obj/item/assembly/rad_prox/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The proximity sensor is now secured!", 1) - else - user.show_message("\blue The proximity sensor is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_prox/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_prox/receive_signal(datum/signal/signal) - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return - -/obj/item/assembly/rad_prox/Move() - ..() - src.part2.sense() - return - -/obj/item/assembly/rad_prox/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/assembly/rad_prox/dropped() - spawn( 0 ) - src.part2.sense() - return - return -//************************ -/obj/item/assembly/rad_infra/c_state(n) - src.icon_state = text("infrared-radio[]", n) - return - -/obj/item/assembly/rad_infra/Del() - del(src.part1) - del(src.part2) - ..() - return - -/obj/item/assembly/rad_infra/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The infrared laser is now secured!", 1) - else - user.show_message("\blue The infrared laser is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_infra/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_infra/receive_signal(datum/signal/signal) - - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return - -/obj/item/assembly/rad_infra/verb/rotate() - set name = "Rotate Assembly" - set category = "Object" - set src in usr - - src.set_dir(turn(src.dir, 90)) - src.part2.set_dir(src.dir) - src.add_fingerprint(usr) - return - -/obj/item/assembly/rad_infra/Move() - - var/t = src.dir - ..() - src.set_dir(t) - //src.part2.first = null - del(src.part2.first) - return - -/obj/item/assembly/rad_infra/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/assembly/rad_infra/attack_hand(M) - del(src.part2.first) - ..() - return - -/obj/item/assembly/prox_ignite/HasProximity(atom/movable/AM as mob|obj) - - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12 && src.part1) - src.part1.sense() - return - -/obj/item/assembly/prox_ignite/dropped() - spawn( 0 ) - src.part1.sense() - return - return - -/obj/item/assembly/prox_ignite/Del() - del(src.part1) - del(src.part2) - ..() - return - -/obj/item/assembly/prox_ignite/c_state(n) - src.icon_state = text("prox-igniter[]", n) - return - -/obj/item/assembly/prox_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The proximity sensor is now secured! The igniter now works!", 1) - else - user.show_message("\blue The proximity sensor is now unsecured! The igniter will not work.", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/prox_ignite/attack_self(mob/user as mob) - - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/prox_ignite/receive_signal() - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/item/assembly/rad_ignite/Del() - del(src.part1) - del(src.part2) - ..() - return - - - -/obj/item/assembly/rad_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The radio is now secured! The igniter now works!", 1) - else - user.show_message("\blue The radio is now unsecured! The igniter will not work.", 1) - src.part2.secured = src.status - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_ignite/attack_self(mob/user as mob) - - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_ignite/receive_signal() - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/item/assembly/m_i_ptank/c_state(n) - - src.icon_state = text("prox-igniter-tank[]", n) - return - -/obj/item/assembly/m_i_ptank/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12 && src.part1) - src.part1.sense() - return - - -//*****RM -/obj/item/assembly/m_i_ptank/Bump(atom/O) - spawn(0) - //world << "miptank bumped into [O]" - if(src.part1.secured) - //world << "sending signal" - receive_signal() - else - //world << "not active" - ..() - -/obj/item/assembly/m_i_ptank/proc/prox_check() - if(!part1 || !part1.secured) - return - for(var/atom/A in view(1, src.loc)) - if(A!=src && !istype(A, /turf/space) && !isarea(A)) - //world << "[A]:[A.type] was sensed" - src.part1.sense() - break - - spawn(10) - prox_check() - - -//***** - - -/obj/item/assembly/m_i_ptank/dropped() - - spawn( 0 ) - part1.sense() - return - return - -/obj/item/assembly/m_i_ptank/examine(mob/user) - ..(user) - part3.examine(user) - -/obj/item/assembly/m_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/m_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/prox_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool)&&W:welding )) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the phoron tank valve. The phoron tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/m_i_ptank/attack_self(mob/user as mob) - - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.part1.attack_self(user, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/m_i_ptank/receive_signal() - //world << "miptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - src.part1.secured = 0.0 - - return - -/obj/item/assembly/m_i_ptank/emp_act(severity) - - if(istype(part3,/obj/item/weapon/tank/phoron) && prob(100/severity)) - part3.ignite() - ..() - -//*****RM - -/obj/item/assembly/t_i_ptank/c_state(n) - - src.icon_state = text("timer-igniter-tank[]", n) - return - -/obj/item/assembly/t_i_ptank/examine(mob/user) - ..(user) - src.part3.examine(user) - -/obj/item/assembly/t_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/t_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/time_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding)) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the phoron tank valve. The phoron tank can now be ignited.", 1) - else - if(src) - src.status = 0 - bombers += "[key_name(user)] unwelded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/t_i_ptank/attack_self(mob/user as mob) - - src.part1.attack_self(user, 1) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/t_i_ptank/receive_signal() - //world << "tiptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - return - -/obj/item/assembly/t_i_ptank/emp_act(severity) - if(istype(part3,/obj/item/weapon/tank/phoron) && prob(100/severity)) - part3.ignite() - ..() - -/obj/item/assembly/r_i_ptank/examine(mob/user) - ..(user) - src.part3.examine(user) - -/obj/item/assembly/r_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/r_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/rad_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding )) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the phoron tank valve. The phoron tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/emp_act(severity) - if(istype(part3,/obj/item/weapon/tank/phoron) && prob(100/severity)) - part3.ignite() - ..() - - -/obj/item/clothing/suit/armor/a_i_a_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/device/analyzer)) - src.part4.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/a_i_a/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - R.part3 = src.part3 - R.part3.master = R - R.part3.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part4) - else - part4.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - src.part4 = null - del(src) - return - if (( istype(W, /obj/item/weapon/weldingtool) && W:welding)) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the phoron tank valve. The phoron tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." -// src.part3.status = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/attack_self(mob/user as mob) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.part1.attack_self(user, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/receive_signal() - //world << "riptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - return - - -//*****RM \ No newline at end of file diff --git a/code/unused/asteroiddevice.dm b/code/unused/asteroiddevice.dm deleted file mode 100644 index f642884d95..0000000000 --- a/code/unused/asteroiddevice.dm +++ /dev/null @@ -1,105 +0,0 @@ -/obj/item/device/gps - name = "GPS" - icon = 'icons/obj/device.dmi' - icon_state = "pinoff" - flags = CONDUCT - slot_flags = SLOT_BELT - w_class = 2.0 - item_state = "electronic" - throw_speed = 4 - throw_range = 20 - m_amt = 500 - var/obj/effect/ship_landing_beacon/beacon = null - var/active = 0 - - attack_self() - if(!active) - active = 1 - work() - usr << "\blue You activate the GPS" - else - active = 0 - icon_state = "pinoff" - usr << "\blue You deactivate the GPS" - - proc/work() - while(active) - if(!beacon) - for(var/obj/effect/ship_landing_beacon/B in world) - if(B.name == "Beacon - SS13") - beacon = B - break - - if(!beacon) - usr << "\red Unable to detect beacon signal." - active = 0 - icon_state = "pinonnull" - return - - if(!istype(src.loc, /turf) && !istype(src.loc, /mob)) - usr << "\red Too much interference. Please hold the device in hand or place it on belt." - active = 0 - icon_state = "pinonnull" - return - - src.icon_state = "pinonfar" - - var/atom/cur_loc = src.loc - - if(cur_loc.z == beacon.z) - src.set_dir(get_dir(cur_loc,beacon)) - else - var/list/beacon_global_loc = beacon.get_global_map_pos() - var/list/src_global_loc = cur_loc.get_global_map_pos() - if(beacon_global_loc && src_global_loc) - var/hor_dir = 0 - var/ver_dir = 0 - if(beacon_global_loc["x"]>src_global_loc["x"]) - hor_dir = EAST - else if(beacon_global_loc["x"]src_global_loc["y"]) - ver_dir = NORTH - else if(beacon_global_loc["y"]Authorize
command, sometimes the server will hiccup and not correctly authorize." - src << "\blue[no_auth_motd]" - src.authenticating = 0 -*/ - -/* The old goon auth/beta code is here -/client/proc/beta_tester_auth() - set name = "Tester?" - /*if(istester(src)) - src << "\blue Key accepted as beta tester" - else - src << "\redKey not accepted as beta tester. You may only observe the rounds. */ - -/client/proc/goonauth() - set name = "Goon?" - - if (src.authenticating) - return - - if(isgoon(src)) - src.goon = goon_keylist[src.ckey] - src.verbs -= /client/proc/goonauth - src << "Key authorized: Hello [goon_keylist[src.ckey]]!" - src << "\blue[auth_motd]" - return - - if (config.enable_authentication) //so that this verb isn't used when its goon only - if(src.authenticated && src.authenticated != 1) - src.goon = src.authenticated - src.verbs -= /client/proc/goonauth - src << "Key authorized: Hello [src.goon]!" - src << "\blue[auth_motd]" - else - src << "Please authorize first" - return - - src.authenticating = 1 - - spawn (rand(4, 18)) - var/result = world.Export("http://byond.lljk.net/status/?key=[src.ckey]") - var/success = 0 - - if(lowertext(result["STATUS"]) == "200 ok") - var/content = file2text(result["CONTENT"]) - - var/pos = findtext(content, " ") - var/code - var/account = "" - - if (!pos) - code = lowertext(content) - else - code = lowertext(copytext(content, 1, pos)) - account = copytext(content, pos + 1) - - if (code == "ok" && account) - src.verbs -= /client/proc/goonauth - src.goon = account - src << "Key authorized: Hello [html_encode(account)]!" - src << "\blue[auth_motd]" - success = 1 - goon_key(src.ckey, account) - - if (!success) - src.verbs += /client/proc/goonauth - //src << "Failed" - src << "\blue[no_auth_motd]" - - src.authenticating = 0 - -var/goon_keylist[0] -var/list/beta_tester_keylist - -/proc/beta_tester_loadfile() - beta_tester_keylist = new/list() - var/text = file2text("config/testers.txt") - if (!text) - diary << "Failed to load config/testers.txt\n" - else - var/list/lines = dd_text2list(text, "\n") - for(var/line in lines) - if (!line) - continue - - var/tester_key = copytext(line, 1, 0) - beta_tester_keylist.Add(tester_key) - - -/proc/goon_loadfile() - var/savefile/S=new("data/goon.goon") - S["key[0]"] >> goon_keylist - log_admin("Loading goon_keylist") - if (!length(goon_keylist)) - goon_keylist=list() - log_admin("goon_keylist was empty") - -/proc/goon_savefile() - var/savefile/S=new("data/goon.goon") - S["key[0]"] << goon_keylist - -/proc/goon_key(key as text,account as text) - var/ckey=ckey(key) - if (!goon_keylist.Find(ckey)) - goon_keylist.Add(ckey) - goon_keylist[ckey] = account - goon_savefile() - -/proc/isgoon(X) - if (istype(X,/mob)) X=X:ckey - if (istype(X,/client)) X=X:ckey - if ((ckey(X) in goon_keylist)) return 1 - else return 0 - -/proc/istester(X) - if (istype(X,/mob)) X=X:ckey - if (istype(X,/client)) X=X:ckey - if ((ckey(X) in beta_tester_keylist)) return 1 - else return 0 - -/proc/remove_goon(key as text) - var/ckey=ckey(key) - if (key && goon_keylist.Find(ckey)) - goon_keylist.Remove(ckey) - goon_savefile() - return 1 - return 0 -*/ \ No newline at end of file diff --git a/code/unused/beast/beast.dm b/code/unused/beast/beast.dm deleted file mode 100644 index aa01627153..0000000000 --- a/code/unused/beast/beast.dm +++ /dev/null @@ -1 +0,0 @@ -mob/living/carbon/beast \ No newline at end of file diff --git a/code/unused/beast/bodypart.dm b/code/unused/beast/bodypart.dm deleted file mode 100644 index 5f97031706..0000000000 --- a/code/unused/beast/bodypart.dm +++ /dev/null @@ -1,16 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -datum/bodypart - var/name = "unidentified bodypart" - var/health = 50 - -datum/bodypart/body - health = 100 - -datum/bodypart/head - health = 30 - -datum/bodypart/limb - -datum/bodypart/tail - health = 15 diff --git a/code/unused/beast/death.dm b/code/unused/beast/death.dm deleted file mode 100644 index 271f72beb2..0000000000 --- a/code/unused/beast/death.dm +++ /dev/null @@ -1,13 +0,0 @@ -/* -var/mob/dead/phantasm/P = new (src.loc) -for(var/obj/O in src.contents) // Where src is a mob - if(istype(O, /obj/item)) // Only remember carried items (sanity checking, mostly) - src.u_equip(O) // Unequip the item if we're wearing it - if (src.client) - src.client.screen -= O // Clear out any overlays the item added, notably in the equip windows - O.loc = src.loc // Honestly not sure if these two steps are necessary - O.dropped(src) // but they seem to occur everywhere else in the code, so we're not taking any chances. - O.layer = initial(O.layer) - O.loc = P // Add the item to the phantasm's inventory -src.Death(0) -*/ \ No newline at end of file diff --git a/code/unused/blender.dm b/code/unused/blender.dm deleted file mode 100644 index b76b74cf59..0000000000 --- a/code/unused/blender.dm +++ /dev/null @@ -1,156 +0,0 @@ -/* -This is a kitchen appliance to go along with the processor and the microwave. The Blender is for food items that are mixes or purees. -Currently, the end products of the blender are not compatable with the microwave but I hope to fix that eventually. - -Summary of Blender Code: It's basically a large reagent container and, like any other container, reactions can occur in it. However, -unlike a normal container, if you stick certain kinds of "blendable" items (ie. many food products), it'll convert the food item from -an object (which you can pick up and eat) into a reagent (which you can pour and drink). Containers with reagents in it can be poured -directly into the blender. Other food items will be converted into reagents by the blender. When deciding whether should be made with -the blender or the processor: Processor items are solid objects and Blender results are reagents. -*/ - -/obj/machinery/blender - name = "Blender" - desc = "A kitchen appliance used to blend stuff." - icon = 'icons/obj/kitchen.dmi' - icon_state = "blender_e" - density = 1 - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 50 - flags = OPENCONTAINER //So that you can pour stuff into it. - var/processing = 0 //This turns on (1) while it is processing so you don't accidentally get multiples from the same item. - var/container = 1 //Is there a jug attached? Could have been done with a for loop but it's less code this way. - - New() - var/datum/reagents/R = new/datum/reagents(100) //Its large since you only get one. - reagents = R - R.my_atom = src - src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src) - src.container = "/obj/item/weapon/reagent_containers/glass/blender_jug" //Loads a jug into the blender. - - on_reagent_change() //When the reagents change, change the icon as well. - update_icon() - - - update_icon() //Changes the icon depending on how full it is and whether it has the jug attached. - if(src.container) - switch(src.reagents.total_volume) - if(0) - src.icon_state = "blender_e" //Empty - if(1 to 75) - src.icon_state = "blender_h" //Some but not full - if(76 to 100) - src.icon_state = "blender_f" //Mostly full. - else - src.icon_state = "blender_d" //No jug. Should be redundant but just in case. - return - -/obj/machinery/blender/attackby(var/obj/item/O as obj, var/mob/user as mob) //Attack it with an object. - if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Too full. Max 10 items or 80 units of reagent - user << "Too many items are already in the blending chamber." - else if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug) && src.container == 0) //Load jug. - O.reagents.trans_to(src, O.reagents.total_volume) - del(O) - src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src) - //user.drop_item() - //O.loc = src - src.container = 1 - src.flags = OPENCONTAINER - src.update_icon() - else if(src.container == 0) //No jug to load in to. - user << "There is no container to put [O] in to!" - else - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //Will only blend food items. Add others in this else clause. - user.drop_item() - O.loc = src - user << "You drop the [O] into the blender." - else if (istype(O, /obj/item/weapon/plantbag)) //Allows plant bags to empty into the blender. - for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) - O.contents -= G - G.loc = src - if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Sanity checking so the blender doesn't overfill - user << "You fill the blender to the brim." - break - if(src.contents.len < 10 && src.reagents.total_volume < 80) - user << "You empty the plant bag into the blender." - else - user << "That probably won't blend." - return 0 - - -/obj/machinery/blender/verb/blend() //Blend shit. Note: In the actual blending loop, make sure it can't include the jug. - set category = "Object" - set name = "Turn Blender On" - set src in oview(1) // Otherwise, it'll try to blend it too. - if (usr.stat != 0) - return - if (src.stat != 0) //NOPOWER etc - return - if(src.processing) - usr << "\red The blender is in the process of blending." - return - if(!src.container) - usr << "\red The blender doesn't have an attached container!" - return - playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) - src.processing = 1 - usr << "\blue You turn on the blender." - use_power(250) - for(var/obj/O in src.contents) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)) // Mass balance law - src.reagents.add_reagent("soymilk", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)) // Mass balance law - src.reagents.add_reagent("ketchup", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/corn)) // Mass balance law - src.reagents.add_reagent("cornoil", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //This is intentionally not an "else if" - O.reagents.trans_to(src, O.reagents.total_volume) //Think of it as the "pulp" leftover. - del(O) - src.processing = 0 - usr << "The contents of the blender have been blended." - return - -/obj/machinery/blender/verb/detach() //Transfers the contents of the Blender to the Blender Jug and then ejects the jug. - set category = "Object" - set name = "Detach Blender Jug" - set src in oview(1) - if (usr.stat != 0) - return - if(src.processing) - usr << "The blender is in the process of blending." - else if(!src.container) - usr << "There is nothing to detach!" - else - for(var/obj/O in src.contents) //Searches through the contents for the jug. - if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug)) - O.loc = get_turf(src) - src.reagents.trans_to(O, src.reagents.total_volume) - O = null - src.flags = null - src.icon_state = "blender_d" - usr << "You detatch the blending jug." - src.container = 0 - return - -/obj/machinery/blender/verb/eject() //Ejects the non-reagent contents of the blender besides the jug. - set category = "Object" - set name = "Empty Blender Jug" - set src in oview(1) - if (usr.stat != 0) - return - if(src.processing) - usr << "The blender is in the process of blending." - else if(!src.container) - usr << "There is nothing to eject!" - else - for(var/obj/O in src.contents) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) - O.loc = get_turf(src) - O = null - return - diff --git a/code/unused/carpetsplosion.dm b/code/unused/carpetsplosion.dm deleted file mode 100644 index 01e0e75757..0000000000 --- a/code/unused/carpetsplosion.dm +++ /dev/null @@ -1,83 +0,0 @@ -/proc/carpetsplosion(turf/location as turf,range = 10) - var/obj/effect/spreader/spreadEpicentre = new /obj/effect/spreader(location,range) - var/list/turf/spreadTurfs = list() - - sleep(5) - - for(var/obj/effect/spreader/spread in spreadEpicentre.spreadList) - spreadTurfs += get_turf(spread) - - del(spreadEpicentre) - return - -//DEBUG START -/obj/carpetnade - New() - ..() - carpetsplosion(loc) - -//DEBUG END - -/obj/effect/spreader - var/list/obj/effect/spreader/spreadList = list() - -/obj/effect/spreader/Del() - for(var/obj/effect/spreader/spread in spreadList) - if(spread != src) - del(spread) - ..() - -/obj/effect/spreader/New(location,var/amount = 1,obj/effects/spreader/source = src) //just a copypaste job from foam - if(amount <= 0) - del(src) - return - else - ..() - - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!T) - continue - - if(!T.Enter(src)) - continue - - var/obj/effect/spreader/S = locate() in T - if(S) - continue - - new /obj/effect/spreader(T,amount-1,source) - - source.spreadList += src - -/* -/obj/effect/foam/proc/process() - if(--amount < 0) - return - - - while(expand) // keep trying to expand while true - - for(var/direction in cardinal) - - - var/turf/T = get_step(src,direction) - if(!T) - continue - - if(!T.Enter(src)) - continue - - var/obj/effect/foam/F = locate() in T - if(F) - continue - - F = new(T, metal) - F.amount = amount - if(!metal) - F.create_reagents(10) - if (reagents) - for(var/datum/reagent/R in reagents.reagent_list) - F.reagents.add_reagent(R.id,1) - sleep(15) -*/ \ No newline at end of file diff --git a/code/unused/closets/ert.dm b/code/unused/closets/ert.dm deleted file mode 100644 index fa49001c45..0000000000 --- a/code/unused/closets/ert.dm +++ /dev/null @@ -1,85 +0,0 @@ -/obj/structure/closet/secure_closet/ert/commander - name = "\improper ERT commander locker" - req_access = list(ACCESS_SECURITY) - icon_state = "capsecure1" - icon_closed = "capsecure" - icon_locked = "capsecure1" - icon_opened = "capsecureopen" - icon_broken = "capsecurebroken" - icon_off = "capsecureoff" - - New() - ..() - new /obj/item/clothing/head/helmet/space/ert/commander(src) - new /obj/item/clothing/suit/space/ert/commander(src) - new /obj/item/weapon/plastique(src) - new /obj/item/weapon/storage/belt/security/full(src) - new /obj/item/weapon/gun/energy/ionrifle(src) - new /obj/item/weapon/gun/energy/gun/nuclear(src) - new /obj/item/clothing/glasses/thermal(src) - new /obj/item/weapon/flame/lighter/zippo(src) - new /obj/item/weapon/pinpointer(src) - return - -/obj/structure/closet/secure_closet/ert/security - name = "\improper ERT security locker" - req_access = list(ACCESS_SECURITY) - icon_state = "sec1" - icon_closed = "sec" - icon_locked = "sec1" - icon_opened = "secopen" - icon_broken = "secbroken" - icon_off = "secoff" - - New() - ..() - new /obj/item/clothing/head/helmet/space/ert/security(src) - new /obj/item/clothing/suit/space/ert/security(src) - new /obj/item/weapon/plastique(src) - new /obj/item/weapon/storage/belt/security/full(src) - new /obj/item/weapon/gun/energy/ionrifle(src) - new /obj/item/weapon/gun/energy/gun/nuclear(src) - new /obj/item/clothing/glasses/thermal(src) - return - - -/obj/structure/closet/secure_closet/ert/engineer - name = "\improper ERT engineer locker" - req_access = list(ACCESS_ENGINE) - icon_state = "secureeng1" - icon_closed = "secureeng" - icon_locked = "secureeng1" - icon_opened = "secureengopen" - icon_broken = "secureengbroken" - icon_off = "secureengoff" - - New() - ..() - new /obj/item/clothing/head/helmet/space/ert/engineer(src) - new /obj/item/clothing/suit/space/ert/engineer(src) - new /obj/item/weapon/gun/energy/taser(src) - new /obj/item/weapon/storage/belt/utility/full(src) - new /obj/item/weapon/storage/backpack/industrial/full(src) - new /obj/item/device/t_scanner(src) - new /obj/item/clothing/glasses/meson(src) - return - -/obj/structure/closet/secure_closet/ert/medical - name = "\improper ERT medical locker" - req_access = list(ACCESS_MEDICAL) - icon_state = "securemed1" - icon_closed = "securemed" - icon_locked = "securemed1" - icon_opened = "securemedopen" - icon_broken = "securemedbroken" - icon_off = "securemedoff" - - New() - ..() - new /obj/item/clothing/head/helmet/space/ert/medical(src) - new /obj/item/clothing/suit/space/ert/medical(src) - new /obj/item/weapon/gun/energy/taser(src) - new /obj/item/weapon/storage/backpack/medic/full(src) - new /obj/item/weapon/storage/belt/medical(src) - new /obj/item/clothing/glasses/hud/health(src) - return \ No newline at end of file diff --git a/code/unused/closets/secure/civilian.dm b/code/unused/closets/secure/civilian.dm deleted file mode 100644 index 5dbcd966a5..0000000000 --- a/code/unused/closets/secure/civilian.dm +++ /dev/null @@ -1,122 +0,0 @@ - -/obj/structure/closet/secure_closet/chef_personal - name = "Chef's Locker" - req_access = list(ACCESS_KITCHEN) - - New() - ..() - new /obj/item/wardrobe/chef(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/radio/headset(src) - -/obj/structure/closet/secure_closet/bar - name = "Booze" - req_access = list(ACCESS_BAR) - - - New() - ..() - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - new /obj/item/weapon/reagent_containers/food/drinks/beer( src ) - return - -/obj/structure/closet/secure_closet/barman_personal - name = "Barman's Locker" - req_access = list(ACCESS_BAR) - - New() - ..() - new /obj/item/wardrobe/bartender(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/radio/headset(src) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - -/obj/structure/closet/secure_closet/hydro_personal - name = "Botanist's Locker" - req_access = list(ACCESS_HYDROPONICS) - - New() - ..() - new /obj/item/wardrobe/hydro - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/analyzer/plant_analyzer(src) - new /obj/item/device/radio/headset(src) - -/obj/structure/closet/secure_closet/janitor_personal - name = "Janitor's Locker" - req_access = list(ACCESS_JANITOR) - - New() - ..() - new /obj/item/wardrobe/janitor(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/pda/janitor(src) - -/obj/structure/closet/secure_closet/lawyer_personal - name = "Lawyer's Locker" - req_access = list(ACCESS_LAWYER) - - New() - ..() - new /obj/item/wardrobe/lawyer(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/pda/lawyer(src) - new /obj/item/device/detective_scanner(src) - new /obj/item/weapon/storage/briefcase(src) - -/obj/structure/closet/secure_closet/librarian_personal - name = "Librarian's Locker" - req_access = list(ACCESS_LIBRARY) - - New() - ..() - new /obj/item/wardrobe/librarian(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/weapon/barcodescanner(src) - -/obj/structure/closet/secure_closet/counselor_personal - name = "Counselor's Locker" - req_access = list(ACCESS_CHAPEL_OFFICE) - - New() - ..() - new /obj/item/wardrobe/chaplain(src) - // - new /obj/item/weapon/storage/backpack/cultpack (src) - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/weapon/storage/bible(src) - new /obj/item/device/pda/chaplain(src) - new /obj/item/device/radio/headset(src) - new /obj/item/weapon/candlepack(src) - new /obj/item/weapon/candlepack(src) diff --git a/code/unused/closets/secure/research.dm b/code/unused/closets/secure/research.dm deleted file mode 100644 index 3bbd5899f4..0000000000 --- a/code/unused/closets/secure/research.dm +++ /dev/null @@ -1,47 +0,0 @@ -/obj/structure/closet/secure_closet/scientist - name = "Scientist's Locker" - req_access = list(ACCESS_RESEARCH) - icon_state = "secureres1" - icon_closed = "secureres" - icon_locked = "secureres1" - icon_opened = "secureresopen" - icon_broken = "secureresbroken" - icon_off = "secureresoff" - - New() - ..() - new /obj/item/wardrobe/scientist(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/device/pda/science(src) - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/radio/headset/headset_sci(src) - - - -/obj/structure/closet/secure_closet/rd - name = "Research Director's Locker" - req_access = list(ACCESS_RD) - icon_state = "rdsecure1" - icon_closed = "rdsecure" - icon_locked = "rdsecure1" - icon_opened = "rdsecureopen" - icon_broken = "rdsecurebroken" - icon_off = "rdsecureoff" - - New() - ..() - new /obj/item/wardrobe/rd(src) - // - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - var/obj/item/weapon/storage/box/B = new(BPK) - new /obj/item/weapon/pen(B) - new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/tank/air(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flash(src) - new /obj/item/device/radio/headset/heads/rd(src) - // \ No newline at end of file diff --git a/code/unused/computer2/airlock_control.dm b/code/unused/computer2/airlock_control.dm deleted file mode 100644 index 01a5a8bc87..0000000000 --- a/code/unused/computer2/airlock_control.dm +++ /dev/null @@ -1,60 +0,0 @@ -/datum/computer/file/computer_program/airlock_control - name = "Airlock Master" - size = 16.0 - id_tag = "TAG" - - - return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit" - - /* - dat += "
Frequency: " - dat += "-- " - dat += "- " - dat += "[format_frequency(src.master.frequency)] " - dat += "+ " - dat += "++" - dat += "
" - */ - - - dat += "
ID:[src.id_tag]
" - - dat += "Cycle" - - - dat += "
" - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["set_tag"]) - var/t = input(usr, "Please enter new tag", src.id_tag, null) as text - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - if (!t) - return - if (!in_range(src.master, usr)) - return - - src.id_tag = t - -// if(href_list["adj_freq"]) -// var/new_frequency = (src.master.frequency + text2num(href_list["adj_freq"])) -// src.master.set_frequency(new_frequency) - - if(href_list["send_command"]) - var/datum/signal/signal = new - signal.data["tag"] = id_tag - signal.data["command"] = href_list["send_command"] - peripheral_command("send signal", signal) - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/arcade.dm b/code/unused/computer2/arcade.dm deleted file mode 100644 index 679e2bd4a4..0000000000 --- a/code/unused/computer2/arcade.dm +++ /dev/null @@ -1,136 +0,0 @@ -/datum/computer/file/computer_program/arcade - name = "Arcade 500" - size = 8.0 - var/enemy_name = "Space Villian" - var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc - var/player_hp = 30 //Player health/attack points - var/player_mp = 10 - var/enemy_hp = 45 //Enemy health/attack points - var/enemy_mp = 20 - var/gameover = 0 - var/blocked = 0 //Player cannot attack/heal while set - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/machinery/computer2)) - src.master = src.holder.loc - -// var/name_action = pick("Defeat ", "Annihilate ", "Save ", "Strike ", "Stop ", "Destroy ", "Robust ", "Romance ") - - var/name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ") - var/name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon") - - src.enemy_name = replacetext((name_part1 + name_part2), "the ", "") -// src.name = (name_action + name_part1 + name_part2) - - - -/datum/computer/file/computer_program/arcade/return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit" - - dat += "

[src.enemy_name]

" - - dat += "

[src.temp]

" - dat += "
Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]
" - - if (src.gameover) - dat += "
New Game" - else - dat += "
Attack | " - dat += "Heal | " - dat += "Recharge Power" - - dat += "
" - - return dat - -/datum/computer/file/computer_program/arcade/Topic(href, href_list) - if(..()) - return - - if (!src.blocked) - if (href_list["attack"]) - src.blocked = 1 - var/attackamt = rand(2,6) - src.temp = "You attack for [attackamt] damage!" - src.master.updateUsrDialog() - - sleep(10) - src.enemy_hp -= attackamt - src.arcade_action() - - else if (href_list["heal"]) - src.blocked = 1 - var/pointamt = rand(1,3) - var/healamt = rand(6,8) - src.temp = "You use [pointamt] magic to heal for [healamt] damage!" - src.master.updateUsrDialog() - - sleep(10) - src.player_mp -= pointamt - src.player_hp += healamt - src.blocked = 1 - src.master.updateUsrDialog() - src.arcade_action() - - else if (href_list["charge"]) - src.blocked = 1 - var/chargeamt = rand(4,7) - src.temp = "You regain [chargeamt] points" - src.player_mp += chargeamt - - src.master.updateUsrDialog() - sleep(10) - src.arcade_action() - - if (href_list["newgame"]) //Reset everything - temp = "New Round" - player_hp = 30 - player_mp = 10 - enemy_hp = 45 - enemy_mp = 20 - gameover = 0 - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return - -/datum/computer/file/computer_program/arcade/proc/arcade_action() - if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0)) - src.gameover = 1 - src.temp = "[src.enemy_name] has fallen! Rejoice!" - src.peripheral_command("vend prize") - - else if ((src.enemy_mp <= 5) && (prob(70))) - var/stealamt = rand(2,3) - src.temp = "[src.enemy_name] steals [stealamt] of your power!" - src.player_mp -= stealamt - src.master.updateUsrDialog() - - if (src.player_mp <= 0) - src.gameover = 1 - sleep(10) - src.temp = "You have been drained! GAME OVER" - - else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4)) - src.temp = "[src.enemy_name] heals for 4 health!" - src.enemy_hp += 4 - src.enemy_mp -= 4 - - else - var/attackamt = rand(3,6) - src.temp = "[src.enemy_name] attacks for [attackamt] damage!" - src.player_hp -= attackamt - - if ((src.player_mp <= 0) || (src.player_hp <= 0)) - src.gameover = 1 - src.temp = "You have been crushed! GAME OVER" - - src.blocked = 0 - return \ No newline at end of file diff --git a/code/unused/computer2/base_program.dm b/code/unused/computer2/base_program.dm deleted file mode 100644 index b85923be77..0000000000 --- a/code/unused/computer2/base_program.dm +++ /dev/null @@ -1,263 +0,0 @@ -/datum/computer - var/size = 4.0 - var/obj/item/weapon/disk/data/holder = null - var/datum/computer/folder/holding_folder = null - folder - name = "Folder" - size = 0.0 - var/gen = 0 - Del() - for(var/datum/computer/F in src.contents) - del(F) - ..() - proc - add_file(datum/computer/R) - if(!holder || holder.read_only || !R) - return 0 - if(istype(R,/datum/computer/folder) && (src.gen>=10)) - return 0 - if((holder.file_used + R.size) <= holder.file_amount) - src.contents.Add(R) - R.holder = holder - R.holding_folder = src - src.holder.file_used -= src.size - src.size += R.size - src.holder.file_used += src.size - if(istype(R,/datum/computer/folder)) - R:gen = (src.gen+1) - return 1 - return 0 - - remove_file(datum/computer/R) - if(holder && !holder.read_only || !R) -// world << "Removing file [R]. File_used: [src.holder.file_used]" - src.contents.Remove(R) - src.holder.file_used -= src.size - src.size -= R.size - src.holder.file_used += src.size - src.holder.file_used = max(src.holder.file_used, 0) -// world << "Removed file [R]. File_used: [src.holder.file_used]" - return 1 - return 0 - file - name = "File" - var/extension = "FILE" //Differentiate between types of files, why not - proc - copy_file_to_folder(datum/computer/folder/newfolder) - if(!newfolder || (!istype(newfolder)) || (!newfolder.holder) || (newfolder.holder.read_only)) - return 0 - - if((newfolder.holder.file_used + src.size) <= newfolder.holder.file_amount) - var/datum/computer/file/newfile = new src.type - - for(var/V in src.vars) - if (issaved(src.vars[V]) && V != "holder") - newfile.vars[V] = src.vars[V] - - if(!newfolder.add_file(newfile)) - del(newfile) - - return 1 - - return 0 - - - Del() - if(holder && holding_folder) - holding_folder.remove_file(src) - ..() - - -/datum/computer/file/computer_program - name = "blank program" - extension = "PROG" - //var/size = 4.0 - //var/obj/item/weapon/disk/data/holder = null - var/obj/machinery/computer2/master = null - var/active_icon = null - var/id_tag = null - var/list/req_access = list() - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/machinery/computer2)) - src.master = src.holder.loc - - Del() - if(master) - master.processing_programs.Remove(src) - ..() - - proc - return_text() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(!(holder in src.master.contents)) - //world << "Holder [holder] not in [master] of prg:[src]" - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - process() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - master.processing_programs.Remove(src) - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - receive_command(obj/source, command, datum/signal/signal) - if((!src.holder) || (!src.master) || (!source) || (source != src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - - peripheral_command(command, datum/signal/signal) - if(master) - master.send_command(command, signal) - else - del(signal) - - transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder) - - if((newholder.file_used + src.size) > newholder.file_amount) - return 0 - - if(!newholder.root) - newholder.root = new /datum/computer/folder - newholder.root.holder = newholder - newholder.root.name = "root" - - if(!newfolder) - newfolder = newholder.root - - if((src.holder && src.holder.read_only) || newholder.read_only) - return 0 - - if((src.holder) && (src.holder.root)) - src.holder.root.remove_file(src) - - newfolder.add_file(src) - - if(istype(newholder.loc,/obj/machinery/computer2)) - src.master = newholder.loc - - //world << "Setting [src.holder] to [newholder]" - src.holder = newholder - return 1 - - //Check access per program. - allowed(mob/M) - //check if it doesn't require any access at all - if(src.check_access(null)) - return 1 - if(istype(M, /mob/living/silicon)) - //AI can do whatever he wants - return 1 - else if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - //if they are holding or wearing a card that has access, that works - if(src.check_access(H.equipped()) || src.check_access(H.wear_id)) - return 1 - else if(istype(M, /mob/living/carbon/monkey)) - var/mob/living/carbon/monkey/george = M - //they can only hold things :( - if(george.equipped() && istype(george.equipped(), /obj/item/weapon/card/id) && src.check_access(george.equipped())) - return 1 - return 0 - - check_access(obj/item/weapon/card/id/I) - if(!src.req_access) //no requirements - return 1 - if(!istype(src.req_access, /list)) //something's very wrong - return 1 - - var/list/L = src.req_access - if(!L.len) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - return 1 - - Topic(href, href_list) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(src.master.active_program != src) - return 1 - - if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - usr.machine = src.master - - if (href_list["close"]) - usr.machine = null - usr << browse(null, "window=comp2") - return 0 - - if (href_list["quit"]) -// src.master.processing_programs.Remove(src) - if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents)) - src.master.run_program(src.master.host_program) - src.master.updateUsrDialog() - return 1 - else - src.master.active_program = null - src.master.updateUsrDialog() - return 1 - - return 0 \ No newline at end of file diff --git a/code/unused/computer2/buildandrepair.dm b/code/unused/computer2/buildandrepair.dm deleted file mode 100644 index 69e7b5fb82..0000000000 --- a/code/unused/computer2/buildandrepair.dm +++ /dev/null @@ -1,150 +0,0 @@ -//Motherboard is just used in assembly/disassembly, doesn't exist in the actual computer object. -/obj/item/weapon/motherboard - name = "Computer mainboard" - desc = "A computer motherboard." - icon = 'icons/obj/module.dmi' - icon_state = "mainboard" - item_state = "electronic" - w_class = 3 - var/created_name = null //If defined, result computer will have this name. - -/obj/computer2frame - density = 1 - anchored = 0 - name = "Computer-frame" - icon = 'icons/obj/stock_parts.dmi' - icon_state = "0" - var/state = 0 - var/obj/item/weapon/motherboard/mainboard = null - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/list/peripherals = list() - var/created_icon_state = "aiupload" - -/obj/computer2frame/attackby(obj/item/P as obj, mob/user as mob) - switch(state) - if(0) - if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You wrench the frame into place." - src.anchored = 1 - src.state = 1 - if(istype(P, /obj/item/weapon/weldingtool)) - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You deconstruct the frame." - new /obj/item/stack/sheet/metal( src.loc, 5 ) - del(src) - if(1) - if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You unfasten the frame." - src.anchored = 0 - src.state = 0 - if(istype(P, /obj/item/weapon/motherboard) && !mainboard) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - user << "\blue You place the mainboard inside the frame." - src.icon_state = "1" - src.mainboard = P - user.drop_item() - P.loc = src - if(istype(P, /obj/item/weapon/screwdriver) && mainboard) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You screw the mainboard into place." - src.state = 2 - src.icon_state = "2" - if(istype(P, /obj/item/weapon/crowbar) && mainboard) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the mainboard." - src.state = 1 - src.icon_state = "0" - mainboard.loc = src.loc - src.mainboard = null - if(2) - if(istype(P, /obj/item/weapon/screwdriver) && mainboard && (!peripherals.len)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You unfasten the mainboard." - src.state = 1 - src.icon_state = "1" - - if(istype(P, /obj/item/weapon/peripheral)) - if(src.peripherals.len < 3) - user.drop_item() - src.peripherals.Add(P) - P.loc = src - user << "\blue You add [P] to the frame." - else - user << "\red There is no more room for peripheral cards." - - if(istype(P, /obj/item/weapon/crowbar) && src.peripherals.len) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the peripheral boards." - for(var/obj/item/weapon/peripheral/W in src.peripherals) - W.loc = src.loc - src.peripherals.Remove(W) - - if(istype(P, /obj/item/stack/cable_coil)) - if(P:amount >= 5) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - P:amount -= 5 - if(!P:amount) del(P) - user << "\blue You add cables to the frame." - src.state = 3 - src.icon_state = "3" - if(3) - if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) - user << "\blue You remove the cables." - src.state = 2 - src.icon_state = "2" - var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) - A.amount = 5 - if(src.hd) - src.hd.loc = src.loc - src.hd = null - - if(istype(P, /obj/item/weapon/disk/data/fixed_disk) && !src.hd) - user.drop_item() - src.hd = P - P.loc = src - user << "\blue You connect the drive to the cabling." - - if(istype(P, /obj/item/weapon/crowbar) && src.hd) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the hard drive." - src.hd.loc = src.loc - src.hd = null - - if(istype(P, /obj/item/stack/sheet/glass)) - if(P:amount >= 2) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - P:use(2) - user << "\blue You put in the glass panel." - src.state = 4 - src.icon_state = "4" - if(4) - if(istype(P, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the glass panel." - src.state = 3 - src.icon_state = "3" - new /obj/item/stack/sheet/glass( src.loc, 2 ) - if(istype(P, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You connect the monitor." - var/obj/machinery/computer2/C= new /obj/machinery/computer2( src.loc ) - C.setup_drive_size = 0 - C.icon_state = src.created_icon_state - if(mainboard.created_name) C.name = mainboard.created_name - del(mainboard) - if(hd) - C.hd = hd - hd.loc = C - for(var/obj/item/weapon/peripheral/W in src.peripherals) - W.loc = C - W.host = C - C.peripherals.Add(W) - del(src) \ No newline at end of file diff --git a/code/unused/computer2/computerII.dm b/code/unused/computer2/computerII.dm deleted file mode 100644 index 433853d682..0000000000 --- a/code/unused/computer2/computerII.dm +++ /dev/null @@ -1,414 +0,0 @@ - -/obj/machinery/computer2 - name = "computer" - desc = "A computer workstation." - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - density = 1 - anchored = 1.0 - req_access = list() //This doesn't determine PROGRAM req access, just the access needed to install/delete programs. - var/base_icon_state = "aiupload" //Assembly creates a new computer2 and not a child typepath, so initial doesn't work!! - var/datum/radio_frequency/radio_connection - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/datum/computer/file/computer_program/active_program - var/datum/computer/file/computer_program/host_program //active is set to this when the normal active quits, if available - var/list/processing_programs = list() - var/obj/item/weapon/card/id/authid = null //For records computers etc - var/obj/item/weapon/card/id/auxid = null //For computers that need two ids for some reason. - var/obj/item/weapon/disk/data/diskette = null - var/list/peripherals = list() - //Setup for Starting program & peripherals - var/setup_starting_program = null //If set to a program path it will start with this one active. - var/setup_starting_peripheral = null //Spawn with radio card and whatever path is here. - var/setup_drive_size = 64.0 //How big is the drive (set to 0 for no drive) - var/setup_id_tag - var/setup_has_radio = 0 //Does it spawn with a radio peripheral? - var/setup_radio_tag - var/setup_frequency = 1411 - -/obj/item/weapon/disk/data - var/datum/computer/folder/root = null - var/file_amount = 32.0 - var/file_used = 0.0 - var/portable = 1 - var/title = "Data Disk" - New() - src.root = new /datum/computer/folder - src.root.holder = src - src.root.name = "root" - -/obj/item/weapon/disk/data/fixed_disk - name = "Storage Drive" - icon_state = "harddisk" - title = "Storage Drive" - file_amount = 80.0 - portable = 0 - - attack_self(mob/user as mob) - return - -/obj/item/weapon/disk/data/computer2test - name = "Programme Diskette" - file_amount = 128.0 - New() - ..() - src.root.add_file( new /datum/computer/file/computer_program/arcade(src)) - src.root.add_file( new /datum/computer/file/computer_program/med_data(src)) - src.root.add_file( new /datum/computer/file/computer_program/airlock_control(src)) - src.root.add_file( new /datum/computer/file/computer_program/messenger(src)) - src.root.add_file( new /datum/computer/file/computer_program/progman(src)) - -/obj/machinery/computer2/medical - name = "Medical computer" - icon_state = "dna" - setup_has_radio = 1 - setup_starting_program = /datum/computer/file/computer_program/med_data - setup_starting_peripheral = /obj/item/weapon/peripheral/printer - -/obj/machinery/computer2/arcade - name = "arcade machine" - icon_state = "arcade" - desc = "An arcade machine." - setup_drive_size = 16.0 - setup_starting_program = /datum/computer/file/computer_program/arcade - setup_starting_peripheral = /obj/item/weapon/peripheral/prize_vendor - - -/obj/machinery/computer2/New() - ..() - - spawn(4) - if(setup_has_radio) - var/obj/item/weapon/peripheral/radio/radio = new /obj/item/weapon/peripheral/radio(src) - radio.frequency = setup_frequency - radio.code = setup_radio_tag - - if(!hd && (setup_drive_size > 0)) - src.hd = new /obj/item/weapon/disk/data/fixed_disk(src) - src.hd.file_amount = src.setup_drive_size - - if(ispath(src.setup_starting_program)) - src.active_program = new src.setup_starting_program - src.active_program.id_tag = setup_id_tag - - src.hd.file_amount = max(src.hd.file_amount, src.active_program.size) - - src.active_program.transfer_holder(src.hd) - - if(ispath(src.setup_starting_peripheral)) - new src.setup_starting_peripheral(src) - - src.base_icon_state = src.icon_state - - return - -/obj/machinery/computer2/attack_hand(mob/user as mob) - if(..()) - return - - user.machine = src - - var/dat - if((src.active_program) && (src.active_program.master == src) && (src.active_program.holder in src)) - dat = src.active_program.return_text() - else - dat = "Thinktronic BIOS V1.4

" - - dat += "Current ID: [src.authid ? "[src.authid.name]" : "----------"]
" - dat += "Auxiliary ID: [src.auxid ? "[src.auxid.name]" : "----------"]

" - - var/progdat - if((src.hd) && (src.hd.root)) - for(var/datum/computer/file/computer_program/P in src.hd.root.contents) - progdat += "[P.name]Size: [P.size]" - - progdat += "Run" - - if(P in src.processing_programs) - progdat += "Halt" - else - progdat += "Load" - - progdat += "Del" - - continue - - dat += "Disk Space: \[[src.hd.file_used]/[src.hd.file_amount]\]
" - dat += "Programs on Fixed Disk:
" - - if(!progdat) - progdat = "No programs found.
" - dat += "
[progdat]
" - - else - - dat += "Programs on Fixed Disk:
" - dat += "
No fixed disk detected.

" - - dat += "
" - - progdat = null - if((src.diskette) && (src.diskette.root)) - - dat += "Eject
" - - for(var/datum/computer/file/computer_program/P in src.diskette.root.contents) - progdat += "[P.name]Size: [P.size]" - progdat += "Run" - - if(P in src.processing_programs) - progdat += "Halt" - else - progdat += "Load" - - progdat += "Install" - - continue - - dat += "Disk Space: \[[src.diskette.file_used]/[src.diskette.file_amount]\]
" - dat += "Programs on Disk:
" - - if(!progdat) - progdat = "No data found.
" - dat += "
[progdat]
" - - else - - dat += "Programs on Disk:
" - dat += "
No diskette loaded.

" - - dat += "
" - - user << browse(dat,"window=comp2") - onclose(user,"comp2") - return - -/obj/machinery/computer2/Topic(href, href_list) - if(..()) - return - - if(!src.active_program) - if((href_list["prog"]) && (href_list["function"])) - var/datum/computer/file/computer_program/newprog = locate(href_list["prog"]) - if(newprog && istype(newprog)) - switch(href_list["function"]) - if("run") - src.run_program(newprog) - if("load") - src.load_program(newprog) - if("unload") - src.unload_program(newprog) - if((href_list["file"]) && (href_list["function"])) - var/datum/computer/file/newfile = locate(href_list["file"]) - if(!newfile) - return - switch(href_list["function"]) - if("install") - if((src.hd) && (src.hd.root) && (src.allowed(usr))) - newfile.copy_file_to_folder(src.hd.root) - - if("delete") - if(src.allowed(usr)) - src.delete_file(newfile) - - //If there is already one loaded eject, or if not and they have one insert it. - if (href_list["id"]) - switch(href_list["id"]) - if("auth") - if(!isnull(src.authid)) - src.authid.loc = get_turf(src) - src.authid = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.authid = I - if("aux") - if(!isnull(src.auxid)) - src.auxid.loc = get_turf(src) - src.auxid = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.auxid = I - - //Same but for a data disk - else if (href_list["disk"]) - if(!isnull(src.diskette)) - src.diskette.loc = get_turf(src) - src.diskette = null -/* else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/disk/data)) - usr.drop_item() - I.loc = src - src.diskette = I -*/ - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/computer2/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - - for(var/datum/computer/file/computer_program/P in src.processing_programs) - P.process() - - return - -/obj/machinery/computer2/power_change() - if(stat & BROKEN) - icon_state = src.base_icon_state - src.icon_state += "b" - - else if(powered()) - icon_state = src.base_icon_state - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - icon_state = src.base_icon_state - src.icon_state += "0" - stat |= NOPOWER - - -/obj/machinery/computer2/attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES - if ((!src.diskette) && W:portable) - user.machine = src - user.drop_item() - W.loc = src - src.diskette = W - user << "You insert [W]." - src.updateUsrDialog() - return - - else if (istype(W, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 20)) - var/obj/computer2frame/A = new /obj/computer2frame( src.loc ) - A.created_icon_state = src.base_icon_state - if (src.stat & BROKEN) - user << "\blue The broken glass falls out." - new /obj/item/weapon/shard( src.loc ) - A.state = 3 - A.icon_state = "3" - else - user << "\blue You disconnect the monitor." - A.state = 4 - A.icon_state = "4" - - for (var/obj/item/weapon/peripheral/C in src.peripherals) - C.loc = A - A.peripherals.Add(C) - - if(src.diskette) - src.diskette.loc = src.loc - - //TO-DO: move card reading to peripheral cards instead - if(src.authid) - src.authid.loc = src.loc - - if(src.auxid) - src.auxid.loc = src.loc - - if(src.hd) - src.hd.loc = A - A.hd = src.hd - - A.mainboard = new /obj/item/weapon/motherboard(A) - A.mainboard.created_name = src.name - - - A.anchored = 1 - del(src) - - else - src.attack_hand(user) - return - -/obj/machinery/computer2/proc/send_command(command, datum/signal/signal) - for(var/obj/item/weapon/peripheral/P in src.peripherals) - P.receive_command(src, command, signal) - - del(signal) - -/obj/machinery/computer2/proc/receive_command(obj/source, command, datum/signal/signal) - if(source in src.contents) - - for(var/datum/computer/file/computer_program/P in src.processing_programs) - P.receive_command(src, command, signal) - - del(signal) - - return - - -/obj/machinery/computer2/proc/run_program(datum/computer/file/computer_program/program,datum/computer/file/computer_program/host) - if(!program) - return 0 - -// src.unload_program(src.active_program) - - if(src.load_program(program)) - if(host && istype(host)) - src.host_program = host - else - src.host_program = null - - src.active_program = program - return 1 - - return 0 - -/obj/machinery/computer2/proc/load_program(datum/computer/file/computer_program/program) - if((!program) || (!program.holder)) - return 0 - - if(!(program.holder in src)) -// world << "Not in src" - program = new program.type - program.transfer_holder(src.hd) - - if(program.master != src) - program.master = src - - if(program in src.processing_programs) - return 1 - else - src.processing_programs.Add(program) - return 1 - - return 0 - -/obj/machinery/computer2/proc/unload_program(datum/computer/file/computer_program/program) - if((!program) || (!src.hd)) - return 0 - - if(program in src.processing_programs) - src.processing_programs.Remove(program) - return 1 - - return 0 - -/obj/machinery/computer2/proc/delete_file(datum/computer/file/file) - //world << "Deleting [file]..." - if((!file) || (!file.holder) || (file.holder.read_only)) - //world << "Cannot delete :(" - return 0 - - if(file in src.processing_programs) - src.processing_programs.Remove(file) - - if(src.active_program == file) - src.active_program = null - -// file.holder.root.remove_file(file) - - //world << "Now calling del on [file]..." - del(file) - return 1 \ No newline at end of file diff --git a/code/unused/computer2/filebrowse.dm b/code/unused/computer2/filebrowse.dm deleted file mode 100644 index 9ddbb9403c..0000000000 --- a/code/unused/computer2/filebrowse.dm +++ /dev/null @@ -1,164 +0,0 @@ -/datum/computer/file/computer_program/progman - name = "ProgManager" - size = 16.0 - var/datum/computer/folder/current_folder - var/mode = 0 - var/datum/computer/file/clipboard - - - return_text() - if(..()) - return - - if((!src.current_folder) || !(src.current_folder.holder in src.master)) - src.current_folder = src.holder.root - - var/dat = "Close | " - dat += "Quit" - - switch(mode) - if(0) - dat += " |Create Folder" - //dat += " | Create File" - dat += " | Paste" - dat += " | Root" - dat += " | Drive
" - - dat += "Contents of [current_folder] | Drive:\[[src.current_folder.holder.title]]
" - dat += "Used: \[[src.current_folder.holder.file_used]/[src.current_folder.holder.file_amount]\]
" - - dat += "" - for(var/datum/computer/P in current_folder.contents) - if(P == src) - dat += "" - continue - dat += "" - dat += "" - - dat += "" - - dat += "" - dat += "" - - - if(istype(P,/datum/computer/file)) - dat += "" - - dat += "" - - dat += "
SystemSize: [src.size]SYSTEM
[P.name]Size: [P.size][(istype(P,/datum/computer/folder)) ? "FOLDER" : "[P:extension]"]DelRenameCopy
" - - if(1) - dat += " | Main" - dat += " | Eject
" - - for(var/obj/item/weapon/disk/data/D in src.master) - if(D == current_folder.holder) - dat += "[D.name]
" - else - dat += "[D.title]
" - - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["create"]) - if(current_folder) - var/datum/computer/F = null - switch(href_list["create"]) - if("folder") - F = new /datum/computer/folder - if(!current_folder.add_file(F)) - //world << "Couldn't add folder :(" - del(F) - if("file") - F = new /datum/computer/file - if(!current_folder.add_file(F)) - //world << "Couldn't add file :(" - del(F) - - if(href_list["file"] && href_list["function"]) - var/datum/computer/F = locate(href_list["file"]) - if(!F || !istype(F)) - return - switch(href_list["function"]) - if("open") - if(istype(F,/datum/computer/folder)) - src.current_folder = F - else if(istype(F,/datum/computer/file/computer_program)) - src.master.run_program(F,src) - src.master.updateUsrDialog() - return - - if("delete") - src.master.delete_file(F) - - if("copy") - if(istype(F,/datum/computer/file) && (!F.holder || (F.holder in src.master.contents))) - src.clipboard = F - - if("paste") - if(istype(F,/datum/computer/folder)) - if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents)) - return - - if(!istype(src.clipboard)) - return - - src.clipboard.copy_file_to_folder(F) - - if("rename") - spawn(0) - var/t = input(usr, "Please enter new name", F.name, null) as text - t = sanitize(copytext(t, 1, 16)) - if (!t) - return - if (!in_range(src.master, usr) || !(F.holder in src.master)) - return - if(F.holder.read_only) - return - F.name = capitalize(lowertext(t)) - src.master.updateUsrDialog() - return - - -/* - if(href_list["open"]) - var/datum/computer/F = locate(href_list["open"]) - if(!F || !istype(F)) - return - - if(istype(F,/datum/computer/folder)) - src.current_folder = F - else if(istype(F,/datum/computer/file/computer_program)) - src.master.run_program(F) - src.master.updateUsrDialog() - return - - if(href_list["delete"]) - var/datum/computer/F = locate(href_list["delete"]) - if(!F || !istype(F)) - return - - src.master.delete_file(F) -*/ - if(href_list["top_folder"]) - src.current_folder = src.current_folder.holder.root - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - newmode = max(newmode,0) - src.mode = newmode - - if(href_list["drive"]) - var/obj/item/weapon/disk/data/D = locate(href_list["drive"]) - if(D && istype(D) && D.root) - current_folder = D.root - src.mode = 0 - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/med_rec.dm b/code/unused/computer2/med_rec.dm deleted file mode 100644 index 92e42e19e1..0000000000 --- a/code/unused/computer2/med_rec.dm +++ /dev/null @@ -1,463 +0,0 @@ -/datum/computer/file/computer_program/med_data - name = "Medical Records" - size = 32.0 - active_icon = "dna" - req_access = list(ACCESS_MEDICAL) - var/authenticated = null - var/rank = null - var/screen = null - var/datum/data/record/active1 = null - var/datum/data/record/active2 = null - var/a_id = null - var/temp = null - -/datum/computer/file/computer_program/med_data/return_text() - if(..()) - return - var/dat - if (src.temp) - dat = text("[src.temp]

Clear Screen") - else - dat = text("Confirm Identity: []
", master, (src.master.authid ? text("[]", src.master.authid.name) : "----------")) - if (src.authenticated) - switch(src.screen) - if(1.0) - dat += {" -Search Records -
List Records -
-
Virus Database -
Medbot Tracking -
-
Record Maintenance -
{Log Out}
-"} - if(2.0) - dat += "Record List:
" - for(var/datum/data/record/R in data_core.general) - dat += text("[]: []
", src, R, R.fields["id"], R.fields["name"]) - //Foreach goto(132) - dat += text("
Back", src) - if(3.0) - dat += text("Records Maintenance
\nBackup To Disk
\nUpload From disk
\nDelete All Records
\n
\nBack", src, src, src, src) - if(4.0) - dat += "
Medical Record

" - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) - dat += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["name"], src.active1.fields["id"], src, src.active1.fields["sex"], src, src.active1.fields["age"], src, src.active1.fields["fingerprint"], src, src.active1.fields["p_stat"], src, src.active1.fields["m_stat"]) - else - dat += "General Record Lost!
" - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - dat += text("
\n
Medical Data

\nBlood Type: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", src, src.active2.fields["b_type"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"]) - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - dat += text("[]
Delete Entry

", src.active2.fields[text("com_[]", counter)], src, counter) - counter++ - dat += text("Add Entry

", src) - dat += text("Delete Record (Medical Only)

", src) - else - dat += "Medical Record Lost!
" - dat += text("New Record

") - dat += text("\nPrint Record
\nBack
", src, src) - if(5.0) - dat += {"
Virus Database
-
GBS -
Common Cold -
Flu -
Jungle Fever -
Clowning Around -
Plasmatoid -
Space Rhinovirus -
Robot Transformation -
Back"} - if(6.0) - dat += "
Medical Robot Monitor
" - dat += "Back" - dat += "
Medical Robots:" - var/bdat = null - for(var/obj/machinery/bot/medbot/M in world) - var/turf/bl = get_turf(M) - bdat += "[M.name] - \[[bl.x],[bl.y]\] - [M.on ? "Online" : "Offline"]
" - if(!isnull(M.reagent_glass)) - bdat += "Reservoir: \[[M.reagent_glass.reagents.total_volume]/[M.reagent_glass.reagents.maximum_volume]\]" - else - bdat += "Using Internal Synthesizer." - - if(!bdat) - dat += "
None detected
" - else - dat += "[bdat]" - - else - else - dat += text("{Log In}", src) - dat += "
{Quit}" - - return dat - -/datum/computer/file/computer_program/med_data/Topic(href, href_list) - if(..()) - return - if (!( data_core.general.Find(src.active1) )) - src.active1 = null - if (!( data_core.medical.Find(src.active2) )) - src.active2 = null - if (href_list["temp"]) - src.temp = null - else if (href_list["logout"]) - src.authenticated = null - src.screen = null - src.active1 = null - src.active2 = null - else if (href_list["login"]) - if (istype(usr, /mob/living/silicon)) - src.active1 = null - src.active2 = null - src.authenticated = 1 - src.rank = "AI" - src.screen = 1 - else if (istype(src.master.authid, /obj/item/weapon/card/id)) - src.active1 = null - src.active2 = null - if (src.check_access(src.master.authid)) - src.authenticated = src.master.authid.registered_name - src.rank = src.master.authid.assignment - src.screen = 1 - if (src.authenticated) - - if(href_list["screen"]) - src.screen = text2num(href_list["screen"]) - if(src.screen < 1) - src.screen = 1 - - src.active1 = null - src.active2 = null - - if(href_list["vir"]) - switch(href_list["vir"]) - if("gbs") - src.temp = {"Name: GBS -
Number of stages: 5 -
Spread: Airborne Transmission -
Possible Cure: Spaceacillin -
Affected Species: Human -
-
Notes: If left untreated death will occur. -
-
Severity: Major"} - if("cc") - src.temp = {"Name: Common Cold -
Number of stages: 3 -
Spread: Airborne Transmission -
Possible Cure: Rest -
Affected Species: Human -
-
Notes: If left untreated the subject will contract the flu. -
-
Severity: Minor"} - if("f") - src.temp = {"Name: The Flu -
Number of stages: 3 -
Spread: Airborne Transmission -
Possible Cure: Rest -
Affected Species: Human -
-
Notes: If left untreated the subject will feel quite unwell. -
-
Severity: Medium"} - if("jf") - src.temp = {"Name: Jungle Fever -
Number of stages: 1 -
Spread: Airborne Transmission -
Possible Cure: None -
Affected Species: Monkey -
-
Notes: monkeys with this disease will bite humans, causing humans to spontaneously to mutate into a monkey. -
-
Severity: Medium"} - if("ca") - src.temp = {"Name: Clowning Around -
Number of stages: 4 -
Spread: Airborne Transmission -
Possible Cure: Spaceacillin -
Affected Species: Human -
-
Notes: Subjects are affected by rampant honking and a fondness for shenanigans. They may also spontaneously phase through closed airlocks. -
-
Severity: Laughable"} - if("p") - src.temp = {"Name: Plasmatoid -
Number of stages: 3 -
Spread: Airborne Transmission -
Possible Cure: Inaprovaline -
Affected Species: Human and Monkey -
-
Notes: With this disease the victim will need phoron to breathe. -
-
Severity: Major"} - if("dna") - src.temp = {"Name: Space Rhinovirus -
Number of stages: 4 -
Spread: Airborne Transmission -
Possible Cure: Spaceacillin -
Affected Species: Human -
-
Notes: This disease transplants the genetic code of the intial vector into new hosts. -
-
Severity: Medium"} - if("bot") - src.temp = {"Name: Robot Transformation -
Number of stages: 5 -
Spread: Infected food -
Possible Cure: None -
Affected Species: Human -
-
Notes: This disease, actually acute nanomachine infection, converts the victim into a cyborg. -
-
Severity: Major"} - - if (href_list["del_all"]) - src.temp = text("Are you sure you wish to delete all records?
\n\tYes
\n\tNo
", src, src) - - if (href_list["del_all2"]) - for(var/datum/data/record/R in data_core.medical) - del(R) - src.temp = "All records deleted." - - if (href_list["field"]) - var/a1 = src.active1 - var/a2 = src.active2 - switch(href_list["field"]) - if("fingerprint") - if (istype(src.active1, /datum/data/record)) - var/t1 = input("Please input fingerprint hash:", "Med. records", src.active1.fields["id"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) - return - src.active1.fields["fingerprint"] = t1 - if("sex") - if (istype(src.active1, /datum/data/record)) - if (src.active1.fields["sex"] == "Male") - src.active1.fields["sex"] = "Female" - else - src.active1.fields["sex"] = "Male" - if("age") - if (istype(src.active1, /datum/data/record)) - var/t1 = input("Please input age:", "Med. records", src.active1.fields["age"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) - return - src.active1.fields["age"] = t1 - if("mi_dis") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["mi_dis"] = t1 - if("mi_dis_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["mi_dis_d"] = t1 - if("ma_dis") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["ma_dis"] = t1 - if("ma_dis_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["ma_dis_d"] = t1 - if("alg") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["alg"] = t1 - if("alg_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["alg_d"] = t1 - if("cdi") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["cdi"] = t1 - if("cdi_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["cdi_d"] = t1 - if("notes") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["notes"] = t1 - if("p_stat") - if (istype(src.active1, /datum/data/record)) - src.temp = text("Physical Condition:
\n\t*Deceased*
\n\t*Unconscious*
\n\tActive
\n\tPhysically Unfit
", src, src, src, src) - if("m_stat") - if (istype(src.active1, /datum/data/record)) - src.temp = text("Mental Condition:
\n\t*Insane*
\n\t*Unstable*
\n\t*Watch*
\n\tStable
", src, src, src, src) - if("b_type") - if (istype(src.active2, /datum/data/record)) - src.temp = text("Blood Type:
\n\tA- A+
\n\tB- B+
\n\tAB- AB+
\n\tO- O+
", src, src, src, src, src, src, src, src) - else - - if (href_list["p_stat"]) - if (src.active1) - switch(href_list["p_stat"]) - if("deceased") - src.active1.fields["p_stat"] = "*Deceased*" - if("unconscious") - src.active1.fields["p_stat"] = "*Unconscious*" - if("active") - src.active1.fields["p_stat"] = "Active" - if("unfit") - src.active1.fields["p_stat"] = "Physically Unfit" - - if (href_list["m_stat"]) - if (src.active1) - switch(href_list["m_stat"]) - if("insane") - src.active1.fields["m_stat"] = "*Insane*" - if("unstable") - src.active1.fields["m_stat"] = "*Unstable*" - if("watch") - src.active1.fields["m_stat"] = "*Watch*" - if("stable") - src.active2.fields["m_stat"] = "Stable" - - - if (href_list["b_type"]) - if (src.active2) - switch(href_list["b_type"]) - if("an") - src.active2.fields["b_type"] = "A-" - if("bn") - src.active2.fields["b_type"] = "B-" - if("abn") - src.active2.fields["b_type"] = "AB-" - if("on") - src.active2.fields["b_type"] = "O-" - if("ap") - src.active2.fields["b_type"] = "A+" - if("bp") - src.active2.fields["b_type"] = "B+" - if("abp") - src.active2.fields["b_type"] = "AB+" - if("op") - src.active2.fields["b_type"] = "O+" - - - if (href_list["del_r"]) - if (src.active2) - src.temp = "Are you sure you wish to delete the record (Medical Portion Only)?
\n\tYes
\n\tNo
" - - if (href_list["del_r2"]) - if (src.active2) - del(src.active2) - - if (href_list["d_rec"]) - var/datum/data/record/R = locate(href_list["d_rec"]) - var/datum/data/record/M = locate(href_list["d_rec"]) - if (!( data_core.general.Find(R) )) - src.temp = "Record Not Found!" - return - for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - else - //Foreach continue //goto(2540) - src.active1 = R - src.active2 = M - src.screen = 4 - - if (href_list["new"]) - if ((istype(src.active1, /datum/data/record) && !( istype(src.active2, /datum/data/record) ))) - var/datum/data/record/R = new /datum/data/record( ) - R.fields["name"] = src.active1.fields["name"] - R.fields["id"] = src.active1.fields["id"] - R.name = text("Medical Record #[]", R.fields["id"]) - R.fields["b_type"] = "Unknown" - R.fields["mi_dis"] = "None" - R.fields["mi_dis_d"] = "No minor disabilities have been declared." - R.fields["ma_dis"] = "None" - R.fields["ma_dis_d"] = "No major disabilities have been diagnosed." - R.fields["alg"] = "None" - R.fields["alg_d"] = "No allergies have been detected in this patient." - R.fields["cdi"] = "None" - R.fields["cdi_d"] = "No diseases have been diagnosed at the moment." - R.fields["notes"] = "No notes." - data_core.medical += R - src.active2 = R - src.screen = 4 - - if (href_list["add_c"]) - if (!( istype(src.active2, /datum/data/record) )) - return - var/a2 = src.active2 - var/t1 = input("Add Comment:", "Med. records", null, null) as message - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - counter++ - src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) - - if (href_list["del_c"]) - if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) - src.active2.fields[text("com_[]", href_list["del_c"])] = "Deleted" - - if (href_list["search"]) - var/t1 = input("Search String: (Name or ID)", "Med. records", null, null) as text - if ((!( t1 ) || usr.stat || (!src.master) || !( src.authenticated ) || usr.restrained() || ((!in_range(src.master, usr)) && (!istype(usr, /mob/living/silicon))))) - return - src.active1 = null - src.active2 = null - t1 = lowertext(t1) - for(var/datum/data/record/R in data_core.general) - if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]))) - src.active1 = R - else - - if (!( src.active1 )) - src.temp = text("Could not locate record [].", t1) - else - for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == src.active1.fields["name"] || E.fields["id"] == src.active1.fields["id"])) - src.active2 = E - else - - src.screen = 4 - - if (href_list["print_p"]) - var/info = "
Medical Record

" - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) - info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"], src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) - else - info += "General Record Lost!
" - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - info += text("
\n
Medical Data

\nBlood Type: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", src.active2.fields["b_type"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"]) - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - info += text("[]
", src.active2.fields[text("com_[]", counter)]) - counter++ - else - info += "Medical Record Lost!
" - info += "
" - - var/datum/signal/signal = new - signal.data["data"] = info - signal.data["title"] = "Medical Record" - src.peripheral_command("print",signal) - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/messenger.dm b/code/unused/computer2/messenger.dm deleted file mode 100644 index 5b57783d95..0000000000 --- a/code/unused/computer2/messenger.dm +++ /dev/null @@ -1,97 +0,0 @@ -/datum/computer/file/computer_program/messenger - name = "Messenger" - size = 8.0 - var/messages = null - var/screen_name = "User" - -//To-do: take screen_name from inserted id card?? -//Saving log to file datum - - return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit
" - - dat += "SpaceMessenger V4.1.2
" - - dat += "Send Message" - - dat += " | Clear" - dat += " | Print" - - dat += " | Name:[src.screen_name]
" - - dat += messages - - dat += "
" - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["send_msg"]) - var/t = input(usr, "Please enter messenger", src.id_tag, null) as text - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - if (!t) - return - if (!in_range(src.master, usr)) - return - - var/datum/signal/signal = new - signal.data["type"] = "message" - signal.data["data"] = t - signal.data["sender"] = src.screen_name - src.messages += "→ You:
[t]
" - - peripheral_command("send signal", signal) - - if(href_list["func_msg"]) - switch(href_list["func_msg"]) - if("clear") - src.messages = null - - if("print") - var/datum/signal/signal = new - signal.data["data"] = src.messages - signal.data["title"] = "Chatlog" - peripheral_command("print", signal) - - //if("save") - //TO-DO - - - if(href_list["set_name"]) - var/t = input(usr, "Please enter screen name", src.id_tag, null) as text - t = sanitize(copytext(t, 1, 20)) - if (!t) - return - if (!in_range(src.master, usr)) - return - - src.screen_name = t - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return - - receive_command(obj/source, command, datum/signal/signal) - if(..() || !signal) - return - - if(command == "radio signal") - switch(signal.data["type"]) - if("message") - var/sender = signal.data["sender"] - if(!sender) - sender = "Unknown" - - src.messages += "← From [sender]:
[signal.data["data"]]
" - if(src.master.active_program == src) - playsound(src.master.loc, 'sound/machines/twobeep.ogg', 50, 1) - src.master.updateUsrDialog() - - return \ No newline at end of file diff --git a/code/unused/computer2/peripherals.dm b/code/unused/computer2/peripherals.dm deleted file mode 100644 index 2316e3b10e..0000000000 --- a/code/unused/computer2/peripherals.dm +++ /dev/null @@ -1,209 +0,0 @@ -/obj/item/weapon/peripheral - name = "Peripheral card" - desc = "A computer circuit board." - icon = 'icons/obj/module.dmi' - icon_state = "id_mod" - item_state = "electronic" - w_class = 2 - var/obj/machinery/computer2/host - var/id = null - - New() - ..() - spawn(2) - if(istype(src.loc,/obj/machinery/computer2)) - host = src.loc - host.peripherals.Add(src) -// var/setup_id = "\ref[src]" -// src.id = copytext(setup_id,4,(length(setup_id)-1) ) - - Del() - if(host) - host.peripherals.Remove(src) - ..() - - - proc - receive_command(obj/source, command, datum/signal/signal) - if((source != host) || !(src in host)) - return 1 - - if(!command) - return 1 - - return 0 - - send_command(command, datum/signal/signal) - if(!command || !host) - return - - src.host.receive_command(src, command, signal) - - return - -/obj/item/weapon/peripheral/radio - name = "Wireless card" - var/frequency = 1419 - var/code = null - var/datum/radio_frequency/radio_connection - New() - ..() - if(radio_controller) - initialize() - - initialize() - set_frequency(frequency) - - proc - set_frequency(new_frequency) - radio_controller.remove_object(src, frequency) - frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency) - - receive_command(obj/source, command, datum/signal/signal) - if(..()) - return - - if(!signal || !radio_connection) - return - - switch(command) - if("send signal") - src.radio_connection.post_signal(src, signal) - - return - - receive_signal(datum/signal/signal) - if(!signal || (signal.encryption && signal.encryption != code)) - return - - var/datum/signal/newsignal = new - newsignal.data = signal.data - if(src.code) - newsignal.encryption = src.code - - send_command("radio signal",newsignal) - return - -/obj/item/weapon/peripheral/printer - name = "Printer module" - desc = "A small printer designed to fit into a computer casing." - icon_state = "card_mod" - var/printing = 0 - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(!signal) - return - - if((command == "print") && !src.printing) - src.printing = 1 - - var/print_data = signal.data["data"] - var/print_title = signal.data["title"] - if(!print_data) - src.printing = 0 - return - spawn(50) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.host.loc ) - P.info = print_data - if(print_title) - P.name = "[print_title]" - - src.printing = 0 - return - - return - -/obj/item/weapon/peripheral/prize_vendor - name = "Prize vending module" - desc = "An arcade prize dispenser designed to fit inside a computer casing." - icon_state = "power_mod" - var/last_vend = 0 //Delay between vends if manually activated(ie a dude is holding it and shaking stuff out) - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(command == "vend prize") - src.vend_prize() - - return - - attack_self(mob/user as mob) - if( (last_vend + 400) < world.time) - user << "You shake something out of [src]!" - src.vend_prize() - src.last_vend = world.time - else - user << "\red [src] isn't ready to dispense a prize yet." - - return - - proc/vend_prize() - var/obj/item/prize - var/prizeselect = rand(1,4) - var/turf/prize_location = null - - if(src.host) - prize_location = src.host.loc - else - prize_location = get_turf(src) - - switch(prizeselect) - if(1) - prize = new /obj/item/weapon/money( prize_location ) - prize.name = "space ticket" - prize.desc = "It's almost like actual currency!" - if(2) - prize = new /obj/item/device/radio/beacon( prize_location ) - prize.name = "electronic blink toy game" - prize.desc = "Blink. Blink. Blink." - if(3) - prize = new /obj/item/weapon/flame/lighter/zippo( prize_location ) - prize.name = "Burno Lighter" - prize.desc = "Almost like a decent lighter!" - if(4) - prize = new /obj/item/weapon/c_tube( prize_location ) - prize.name = "toy sword" - prize.icon = 'icons/obj/weapons.dmi' - prize.icon_state = "sword1" - prize.desc = "A sword made of cheap plastic." - -/* -/obj/item/weapon/peripheral/card_scanner - name = "ID scanner module" - icon_state = "card_mod" - var/obj/item/weapon/card/id/authid = null - - attack_self(mob/user as mob) - if(authid) - user << "The card falls out." - src.authid.loc = get_turf(user) - src.authid = null - - return - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(!signal || (signal.data["ref_id"] != "\ref[src]") ) - return - - switch(command) - if("eject card") - if(src.authid) - src.authid.loc = src.host.loc - src.authid = null - if("add card access") - var/new_access = signal.data["access"] - if(!new_access) - return - - - - return -*/ \ No newline at end of file diff --git a/code/unused/conveyor.dm b/code/unused/conveyor.dm deleted file mode 100644 index 5001660d7f..0000000000 --- a/code/unused/conveyor.dm +++ /dev/null @@ -1,398 +0,0 @@ -// converyor belt - -// moves items/mobs/movables in set direction every ptick - - -/obj/machinery/conveyor - icon = 'icons/obj/recycling.dmi' - icon_state = "conveyor0" - name = "conveyor belt" - desc = "A conveyor belt." - anchored = 1 - var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off - var/operable = 1 // true if can operate (no broken segments in this belt run) - var/basedir // this is the default (forward) direction, set by the map dir - // note dir var can vary when the direction changes - - var/list/affecting // the list of all items that will be moved this ptick - var/id = "" // the control ID - must match controller ID - // following two only used if a diverter is present - var/divert = 0 // if non-zero, direction to divert items - var/divdir = 0 // if diverting, will be conveyer dir needed to divert (otherwise dense) - - - - // create a conveyor - -/obj/machinery/conveyor/New() - ..() - basedir = dir - setdir() - - // set the dir and target turf depending on the operating direction - -/obj/machinery/conveyor/proc/setdir() - if(operating == -1) - set_dir(turn(basedir,180)) - else - set_dir(basedir) - update() - - - // update the icon depending on the operating condition - -/obj/machinery/conveyor/proc/update() - if(stat & BROKEN) - icon_state = "conveyor-b" - operating = 0 - return - if(!operable) - operating = 0 - icon_state = "conveyor[(operating != 0) && !(stat & NOPOWER)]" - - - // machine process - // move items to the target location -/obj/machinery/conveyor/process() - if(stat & (BROKEN | NOPOWER)) - return - if(!operating) - return - use_power(100) - - var/movedir = dir // base movement dir - if(divert && dir==divdir) // update if diverter present - movedir = divert - - - affecting = loc.contents - src // moved items will be all in loc - spawn(1) // slight delay to prevent infinite propagation due to map order - var/items_moved = 0 - for(var/atom/movable/A in affecting) - if(!A.anchored) - if(isturf(A.loc)) // this is to prevent an ugly bug that forces a player to drop what they're holding if they recently pick it up from the conveyer belt - if(ismob(A)) - var/mob/M = A - if(M.buckled == src) - var/obj/machinery/conveyor/C = locate() in get_step(src, dir) - M.buckled = null - step(M,dir) - if(C) - M.buckled = C - else - new/obj/item/stack/cable_coil/cut(M.loc) - else - step(M,movedir) - else - step(A,movedir) - items_moved++ - if(items_moved >= 10) - break - -// attack with item, place item on conveyor - -/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/grab)) // special handling if grabbing a mob - var/obj/item/weapon/grab/G = I - G.affecting.Move(src.loc) - del(G) - return - else if(istype(I, /obj/item/stack/cable_coil)) // if cable, see if a mob is present - var/mob/M = locate() in src.loc - if(M) - if (M == user) - src.visible_message("\blue [M] ties \himself to the conveyor.") - // note don't check for lying if self-tying - else - if(M.lying) - user.visible_message("\blue [M] has been tied to the conveyor by [user].", "\blue You tie [M] to the converyor!") - else - user << "\blue [M] must be lying down to be tied to the converyor!" - return - M.buckled = src - src.add_fingerprint(user) - I:use(1) - M.lying = 1 - return - - // else if no mob in loc, then allow coil to be placed - - else if(istype(I, /obj/item/weapon/wirecutters)) - var/mob/M = locate() in src.loc - if(M && M.buckled == src) - M.buckled = null - src.add_fingerprint(user) - if (M == user) - src.visible_message("\blue [M] cuts \himself free from the conveyor.") - else - src.visible_message("\blue [M] had been cut free from the conveyor by [user].") - return - - if(isrobot(user)) - return - - // otherwise drop and place on conveyor - user.drop_item() - if(I && I.loc) I.loc = src.loc - return - -// attack with hand, move pulled object onto conveyor - -/obj/machinery/conveyor/attack_hand(mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - else - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - return - - -// make the conveyor broken -// also propagate inoperability to any connected conveyor with the same ID -/obj/machinery/conveyor/proc/broken() - stat |= BROKEN - update() - - var/obj/machinery/conveyor/C = locate() in get_step(src, basedir) - if(C) - C.set_operable(basedir, id, 0) - - C = locate() in get_step(src, turn(basedir,180)) - if(C) - C.set_operable(turn(basedir,180), id, 0) - - -//set the operable var if ID matches, propagating in the given direction - -/obj/machinery/conveyor/proc/set_operable(stepdir, match_id, op) - - if(id != match_id) - return - operable = op - - update() - var/obj/machinery/conveyor/C = locate() in get_step(src, stepdir) - if(C) - C.set_operable(stepdir, id, op) - -/* -/obj/machinery/conveyor/verb/destroy() - set src in view() - src.broken() -*/ - -/obj/machinery/conveyor/power_change() - ..() - update() - - -// converyor diverter -// extendable arm that can be switched so items on the conveyer are diverted sideways -// situate in same turf as conveyor -// only works if belts is running proper direction -// -// -/obj/machinery/diverter - icon = 'icons/obj/recycling.dmi' - icon_state = "diverter0" - name = "diverter" - desc = "A diverter arm for a conveyor belt." - anchored = 1 - layer = FLY_LAYER - var/obj/machinery/conveyor/conv // the conveyor this diverter works on - var/deployed = 0 // true if diverter arm is extended - var/operating = 0 // true if arm is extending/contracting - var/divert_to // the dir that diverted items will be moved - var/divert_from // the dir items must be moving to divert - - -// create a diverter -// set up divert_to and divert_from directions depending on dir state -/obj/machinery/diverter/New() - - ..() - - switch(dir) - if(NORTH) - divert_to = WEST // stuff will be moved to the west - divert_from = NORTH // if entering from the north - if(SOUTH) - divert_to = EAST - divert_from = NORTH - if(EAST) - divert_to = EAST - divert_from = SOUTH - if(WEST) - divert_to = WEST - divert_from = SOUTH - if(NORTHEAST) - divert_to = NORTH - divert_from = EAST - if(NORTHWEST) - divert_to = NORTH - divert_from = WEST - if(SOUTHEAST) - divert_to = SOUTH - divert_from = EAST - if(SOUTHWEST) - divert_to = SOUTH - divert_from = WEST - spawn(2) - // wait for map load then find the conveyor in this turf - conv = locate() in src.loc - if(conv) // divert_from dir must match possible conveyor movement - if(conv.basedir != divert_from && conv.basedir != turn(divert_from,180) ) - del(src) // if no dir match, then delete self - set_divert() - update() - -// update the icon state depending on whether the diverter is extended -/obj/machinery/diverter/proc/update() - icon_state = "diverter[deployed]" - -// call to set the diversion vars of underlying conveyor -/obj/machinery/diverter/proc/set_divert() - if(conv) - if(deployed) - conv.divert = divert_to - conv.divdir = divert_from - else - conv.divert= 0 - - -// *** TESTING click to toggle -/obj/machinery/diverter/Click() - toggle() - - -// toggle between arm deployed and not deployed, showing animation -// -/obj/machinery/diverter/proc/toggle() - if( stat & (NOPOWER|BROKEN)) - return - - if(operating) - return - - use_power(50) - operating = 1 - if(deployed) - flick("diverter10",src) - icon_state = "diverter0" - sleep(10) - deployed = 0 - else - flick("diverter01",src) - icon_state = "diverter1" - sleep(10) - deployed = 1 - operating = 0 - update() - set_divert() - -// don't allow movement into the 'backwards' direction if deployed -/obj/machinery/diverter/CanPass(atom/movable/O, var/turf/target) - var/direct = get_dir(O, target) - if(direct == divert_to) // prevent movement through body of diverter - return 0 - if(!deployed) - return 1 - return(direct != turn(divert_from,180)) - -// don't allow movement through the arm if deployed -/obj/machinery/diverter/CheckExit(atom/movable/O, var/turf/target) - var/direct = get_dir(O, target) - if(direct == turn(divert_to,180)) // prevent movement through body of diverter - return 0 - if(!deployed) - return 1 - return(direct != divert_from) - - - - - -// the conveyor control switch -// -// - -/obj/machinery/conveyor_switch - - name = "conveyor switch" - desc = "A conveyor control switch." - icon = 'icons/obj/recycling.dmi' - icon_state = "switch-off" - var/position = 0 // 0 off, -1 reverse, 1 forward - var/last_pos = -1 // last direction setting - var/operated = 1 // true if just operated - - var/id = "" // must match conveyor IDs to control them - - var/list/conveyors // the list of converyors that are controlled by this switch - anchored = 1 - - - -/obj/machinery/conveyor_switch/New() - ..() - update() - - spawn(5) // allow map load - conveyors = list() - for(var/obj/machinery/conveyor/C in world) - if(C.id == id) - conveyors += C - -// update the icon depending on the position - -/obj/machinery/conveyor_switch/proc/update() - if(position<0) - icon_state = "switch-rev" - else if(position>0) - icon_state = "switch-fwd" - else - icon_state = "switch-off" - - -// timed process -// if the switch changed, update the linked conveyors - -/obj/machinery/conveyor_switch/process() - if(!operated) - return - operated = 0 - - for(var/obj/machinery/conveyor/C in conveyors) - C.operating = position - C.setdir() - -// attack with hand, switch position -/obj/machinery/conveyor_switch/attack_hand(mob/user) - if(position == 0) - if(last_pos < 0) - position = 1 - last_pos = 0 - else - position = -1 - last_pos = 0 - else - last_pos = position - position = 0 - - operated = 1 - update() - - // find any switches with same id as this one, and set their positions to match us - for(var/obj/machinery/conveyor_switch/S in world) - if(S.id == src.id) - S.position = position - S.update() diff --git a/code/unused/disease2/cureimplanter.dm b/code/unused/disease2/cureimplanter.dm deleted file mode 100644 index 4506495456..0000000000 --- a/code/unused/disease2/cureimplanter.dm +++ /dev/null @@ -1,42 +0,0 @@ -/obj/item/weapon/cureimplanter - name = "Hypospray injector" - icon = 'icons/obj/items.dmi' - icon_state = "implanter1" - var/datum/disease2/resistance/resistance = null - var/works = 0 - var/datum/disease2/disease/virus2 = null - item_state = "syringe_0" - throw_speed = 1 - throw_range = 5 - w_class = 2.0 - - -/obj/item/weapon/cureimplanter/attack(mob/target as mob, mob/user as mob) - if(ismob(target)) - for(var/mob/O in viewers(world.view, user)) - if (target != user) - O.show_message(text("\red [] is trying to inject [] with [src.name]!", user, target), 1) - else - O.show_message("\red [user] is trying to inject themselves with [src.name]!", 1) - if(!do_mob(user, target,60)) return - - - for(var/mob/O in viewers(world.view, user)) - if (target != user) - O.show_message(text("\red [] injects [] with [src.name]!", user, target), 1) - else - O.show_message("\red [user] injects themself with [src.name]!", 1) - - - var/mob/living/carbon/M = target - - if(works == 0 && prob(25)) - M.resistances2 += resistance - if(M.virus2) - M.virus2.cure_added(resistance) - else if(works == 1) - M.adjustToxLoss(rand(20,50)) - else if(works == 2) - M.adjustToxLoss(rand(50,100)) - else if(works == 3) - infect_virus2(M,virus2,1) diff --git a/code/unused/disease2/curer.dm b/code/unused/disease2/curer.dm deleted file mode 100644 index dab15f4967..0000000000 --- a/code/unused/disease2/curer.dm +++ /dev/null @@ -1,154 +0,0 @@ -/obj/machinery/computer/curer - name = "Cure Research Machine" - icon = 'icons/obj/computer.dmi' - icon_state = "dna" -// brightnessred = 0 -// brightnessgreen = 2 //Used for multicoloured lighting on BS12 -// brightnessblue = 2 - var/curing - var/virusing - circuit = "/obj/item/weapon/circuitboard/mining" - - var/obj/item/weapon/virusdish/dish = null - -/obj/machinery/computer/curer/attackby(var/obj/I as obj, var/mob/user as mob) - /*if(istype(I, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 20)) - if (src.stat & BROKEN) - user << "\blue The broken glass falls out." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) - var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) - for (var/obj/C in src) - C.loc = src.loc - A.circuit = M - A.state = 3 - A.icon_state = "3" - A.anchored = 1 - del(src) - else - user << "\blue You disconnect the monitor." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) - for (var/obj/C in src) - C.loc = src.loc - A.circuit = M - A.state = 4 - A.icon_state = "4" - A.anchored = 1 - del(src)*/ - if(istype(I,/obj/item/weapon/virusdish)) - var/mob/living/carbon/c = user - if(!dish) - - dish = I - c.drop_item() - I.loc = src - - //else - src.attack_hand(user) - return - -/obj/machinery/computer/curer/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/curer/attack_paw(var/mob/user as mob) - - return src.attack_hand(user) - return - -/obj/machinery/computer/curer/attack_hand(var/mob/user as mob) - if(..()) - return - user.machine = src - var/dat - if(curing) - dat = "Antibody production in progress" - else if(virusing) - dat = "Virus production in progress" - else if(dish) - dat = "Virus dish inserted" - if(dish.virus2) - if(dish.growth >= 100) - dat += "
Begin antibody production" - dat += "
Begin virus production" - else - dat += "
Insufficent cells to attempt to create cure" - else - dat += "
Please check dish contents" - - dat += "
Eject disk" - else - dat = "Please insert dish" - - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - -/obj/machinery/computer/curer/process() - ..() - - if(stat & (NOPOWER|BROKEN)) - return - use_power(500) - src.updateDialog() - - if(curing) - curing -= 1 - if(curing == 0) - icon_state = "dna" - if(dish.virus2) - createcure(dish.virus2) - if(virusing) - virusing -= 1 - if(virusing == 0) - icon_state = "dna" - if(dish.virus2) - createvirus(dish.virus2) - - return - -/obj/machinery/computer/curer/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.machine = src - - if (href_list["antibody"]) - curing = 30 - dish.growth -= 50 - src.icon_state = "dna" - if (href_list["virus"]) - virusing = 30 - dish.growth -= 100 - src.icon_state = "dna" - else if(href_list["eject"]) - dish.loc = src.loc - dish = null - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - - -/obj/machinery/computer/curer/proc/createcure(var/datum/disease2/disease/virus2) - var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc) - implanter.resistance = new /datum/disease2/resistance(dish.virus2) - if(probG("Virus curing",3)) - implanter.works = 0 - else - implanter.works = rand(1,2) - state("The [src.name] Buzzes") - -/obj/machinery/computer/curer/proc/createvirus(var/datum/disease2/disease/virus2) - var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc) - implanter.name = "Viral implanter (MAJOR BIOHAZARD)" - implanter.virus2 = dish.virus2.getcopy() - implanter.works = 3 - state("The [src.name] Buzzes") - - -/obj/machinery/computer/curer/proc/state(var/msg) - for(var/mob/O in hearers(src, null)) - O.show_message("\icon[src] \blue [msg]", 2) diff --git a/code/unused/disease2/monkeydispensor.dm b/code/unused/disease2/monkeydispensor.dm deleted file mode 100644 index 13d1b9806f..0000000000 --- a/code/unused/disease2/monkeydispensor.dm +++ /dev/null @@ -1,30 +0,0 @@ -/obj/machinery/disease2/monkeycloner - name = "Monkey dispensor" - icon = 'icons/obj/cloning.dmi' - icon_state = "pod_0" - density = 1 - anchored = 1 - - var/cloning = 0 - -/obj/machinery/disease2/monkeycloner/attack_hand() - if(!cloning) - cloning = 150 - - icon_state = "pod_g" - -/obj/machinery/disease2/monkeycloner/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(500) - src.updateDialog() - - if(cloning) - cloning -= 1 - if(!cloning) - new /mob/living/carbon/monkey(src.loc) - icon_state = "pod_0" - - - - return diff --git a/code/unused/dna.dm b/code/unused/dna.dm deleted file mode 100644 index 604acbefc6..0000000000 --- a/code/unused/dna.dm +++ /dev/null @@ -1,962 +0,0 @@ -/proc/scram(n) - var/t = "" - var/p = null - p = 1 - while(p <= n) - t = text("[][]", t, rand(1, 9)) - p++ - return t - -/obj/machinery/computer/dna - name = "DNA operations computer" - desc = "A Computer used to advanced DNA stuff." - icon_state = "dna" - var/obj/item/weapon/card/data/scan = null - var/obj/item/weapon/card/data/modify = null - var/obj/item/weapon/card/data/modify2 = null - var/mode = null - var/temp = null - -/obj/machinery/computer/dna/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/dna/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/dna/attack_hand(mob/user as mob) - if(..()) - return - user.machine = src - if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) - var/dat = text("Please Insert the cards into the slots
\n\t\t\t\tFunction Disk: []
\n\t\t\t\tTarget Disk: []
\n\t\t\t\tAux. Data Disk: []
\n\t\t\t\t\t(Not always used!)
\n\t\t\t\t[]", src, (src.scan ? text("[]", src.scan.name) : "----------"), src, (src.modify ? text("[]", src.modify.name) : "----------"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("Execute Function", src) : "No function disk inserted!")) - if (src.temp) - dat = text("[]

Clear Message", src.temp, src) - user << browse(dat, "window=dna_comp") - onclose(user, "dna_comp") - else - var/dat = text("[]
\n\t\t\t\t[] []
\n\t\t\t\t[] []
\n\t\t\t\t[] []
\n\t\t\t\t\t(Not always used!)
\n\t\t\t\t[]", stars("Please Insert the cards into the slots"), stars("Function Disk:"), src, (src.scan ? text("[]", src.scan.name) : "----------"), stars("Target Disk:"), src, (src.modify ? text("[]", src.modify.name) : "----------"), stars("Aux. Data Disk:"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("[]", src, stars("Execute Function")) : stars("No function disk inserted!"))) - if (src.temp) - dat = text("[]

[]", stars(src.temp), src, stars("Clear Message")) - user << browse(dat, "window=dna_comp") - onclose(user, "dna_comp") - return - -/obj/machinery/computer/dna/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["modify"]) - if (src.modify) - src.modify.loc = src.loc - src.modify = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.modify = I - src.mode = null - if (href_list["modify2"]) - if (src.modify2) - src.modify2.loc = src.loc - src.modify2 = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.modify2 = I - src.mode = null - if (href_list["scan"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.scan = I - src.mode = null - if (href_list["clear"]) - src.temp = null - if (href_list["execute"]) - if ((src.scan && src.scan.function)) - switch(src.scan.function) - if("data_mutate") - if (src.modify) - if (!( findtext(src.scan.data, "-", 1, null) )) - if ((src.modify.data && src.scan.data && length(src.modify.data) >= length(src.scan.data))) - src.modify.data = text("[][]", src.scan.data, (length(src.modify.data) > length(src.scan.data) ? copytext(src.modify.data, length(src.scan.data) + 1, length(src.modify.data) + 1) : null)) - else - src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)" - else - var/d = findtext(src.modify.data, "-", 1, null) - var/t = copytext(src.modify.data, d + 1, length(src.modify.data) + 1) - d = text2num(copytext(1, d, null)) - if ((d && t && src.modify.data && src.scan.data && length(src.modify.data) >= (length(t) + d - 1) )) - src.modify.data = text("[][][]", copytext(src.modify.data, 1, d), t, (length(src.modify.data) > length(t) + d ? copytext(src.modify.data, length(t) + d, length(src.modify.data) + 1) : null)) - else - src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("dna_seq") - src.temp = "DNA Systems Help:\nHuman DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (28 chromosomes)\n\t\t5BDFE293BA5500F9FFFD500AAFFE\n\tStructural Enzymes:\n\t\tCDE375C9A6C25A7DBDA50EC05AC6CEB63\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\t493DB249EB6D13236100A37000800AB71\n\tSpecies/Genus Classification: Homo Sapien\n\nMonkey DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (16 chromosomes)\n\t\t2B6696D2B127E5A4\n\tStructural Enzymes:\n\t\tCDEAF5B90AADBC6BA8033DB0A7FD613FA\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\tC8FFFE7EC09D80AEDEDB9A5A0B4085B61\n\tSpecies/Genus Classification: Generic Monkey\n>" - if("dna_help") - src.temp = "DNA Systems Help:\nThe DNA systems consists 3 systems.\nI. DNA Scanner/Implanter - This system is slightly advanced to use. It accepts\n\t1 disk. Before you wish to run a function/program you must implant the\n\tdisk data into the temporary memory. Note that once this is done the disk can\n\tbe removed to place a data disk in.\nII. DNA computer - This is a simple yet fast computer that basically operates on data.\nIII. Restructurer - This device reorganizes the anatomical structure of the subject\n\taccording to the DNA sequences. Please note that it is illegal to perform a\n\ttransfer from one species to or from the Homo sapiens species but\n\thuman to human is acceptable under UNSD guidlines.\n\tNote: This machine is programmed to operate on specific preprogrammed species with\n\tspecialized anatomical blueprints hard coded into its databanks. It cannot operate\n\ton other species. (Current: Human, Monkey)\n\nData Disks:\n\tThese run on 2 (or 3) types: DNA scanner program disks and data modification\nfunctions (and disk modification functions)\n\nDisk-Copy\n\tThis erases the target disk and completely copies the data from the aux. disk.\nDisk-Erase\n\tThis erases everything on the target disk.\nData-Clear\n\tThis erases (clears) only the data.\n\nData-Trunicate\n\tThis removes data from the target disk (parameters gathered from data slot on target\n\tdisk). This fuction has 4 modes (a,b,c,default) defined by this way. (mode id)(#)\n\ta - This cuts # data from the end. (ex a1 on ABCD = ABC)\n\tb - This cuts # data from the beginning. (ex b1 on ABCD = BCD)\n\tc - This limits the data from the end. (ex c1 on ABCD = A)\n\tdefault - This limits the data from the end. (ex 1 on ABCD = D)\nData-Add\n\tThis adds thedata on the aux. disk to the data on the target disk.\nData-Sramble\n\tThis scrambles the data on the target disk. The length is equal to\n\tthe length of the original data.\nData-Input\n\tThis lets you input data into the data slot of any data disk.\n\tNote: This doesn't work only on storage.\nData-Mutate\n\tThis basically inserts text. You follow this format:\n\tpos-text (or just text for automatic pos 1)\n\tie 2-IVE on FOUR yields FIVE\n" - if("data_add") - if (src.modify) - if (src.modify2) - if ((src.modify.data && src.modify2.data)) - src.modify.data += src.modify2.data - src.temp = text("Done!
New Data:
[]", src.modify.data) - else - src.temp = "Cannot read data! (may be null)" - else - src.temp = "Disk Failure: Cannot read aux. data disk!" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_scramble") - if (src.modify) - if (length(text("[]", src.modify.data)) >= 1) - src.modify.data = scram(length(text("[]", src.modify.data))) - src.temp = text("Data scrambled: []", src.modify.data) - else - src.temp = "No data to scramble" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_input") - if (src.modify) - var/dat = input(usr, ">", text("[]", src.name), null) as text - var/s = src.scan - var/m = src.modify - if ((usr.stat || usr.restrained() || src.modify != m || src.scan != s)) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf))) - src.modify.data = dat - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_copy") - if (src.modify) - if (src.modify2) - src.modify.function = src.modify2.function - src.modify.data = src.modify2.data - src.modify.special = src.modify2.special - src.temp = "All disk data/programs copied." - else - src.temp = "Disk Failure: Cannot read aux. data disk!" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_dis") - if (src.modify) - src.temp = text("Function: [][]
Data: []", src.modify.function, (src.modify.special ? text("-[]", src.modify.special) : null), src.modify.data) - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_erase") - if (src.modify) - src.modify.data = null - src.modify.function = "storage" - src.modify.special = null - src.temp = "All Disk contents deleted." - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_clear") - if (src.modify) - src.modify.data = null - src.temp = "Disk data cleared." - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_trun") - if (src.modify) - if ((src.modify.data && src.scan.data)) - var/l1 = length(src.modify.data) - var/l2 = max(round(text2num(src.scan.data)), 1) - switch(copytext(src.modify.data, 1, 2)) - if("a") - if (l1 > l2) - src.modify.data = copytext(src.modify.data, 1, (l1 - l2) + 1) - else - src.modify.data = "" - src.temp = text("Done!
New Data:
[]", src.modify.data) - if("b") - if (l1 > l2) - src.modify.data = copytext(src.modify.data, l2, l1 + 1) - else - src.modify.data = "" - src.temp = text("Done!
New Data:
[]", src.modify.data) - if("c") - if (l1 >= l2) - src.modify.data = copytext(src.modify.data, l1 - l2, l1 + 1) - src.temp = text("Done!
New Data:
[]", src.modify.data) - else - if (l1 >= l2) - src.modify.data = copytext(src.modify.data, 1, l2 + 1) - src.temp = text("Done!
New Data:
[]", src.modify.data) - else - src.temp = "Cannot read data! (may be null and note that function data slot is used instead of aux disk!!)" - else - src.temp = "Disk Failure: Cannot read target disk!" - else - else - src.temp = "System Failure: Cannot read disk function!" - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/computer/dna/ex_act(severity) - switch(severity) - if(1.0) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - //SN src = null - del(src) - return - else - return - -/obj/machinery/dna_scanner/allow_drop() - return 0 - -/obj/machinery/dna_scanner/relaymove(mob/user as mob) - if (user.stat) - return - src.go_out() - return - -/obj/machinery/dna_scanner/verb/eject() - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/dna_scanner/verb/move_inside() - set src in oview(1) - - if (usr.stat != 0) - return - if (src.occupant) - usr << "\blue The scanner is already occupied!" - return - if (usr.abiotic()) - usr << "\blue Subject cannot have abiotic items on." - return - usr.stop_pulling() - usr.client.perspective = EYE_PERSPECTIVE - usr.client.eye = src - usr.loc = src - src.occupant = usr - src.icon_state = "scanner_1" - for(var/obj/O in src) - //O = null - del(O) - //Foreach goto(124) - src.add_fingerprint(usr) - return - -/obj/machinery/dna_scanner/attackby(obj/item/weapon/grab/G as obj, user as mob) - if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) ))) - return - if (src.occupant) - user << "\blue The scanner is already occupied!" - return - if (G.affecting.abiotic()) - user << "\blue Subject cannot have abiotic items on." - return - var/mob/M = G.affecting - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - src.icon_state = "scanner_1" - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(154) - src.add_fingerprint(user) - //G = null - del(G) - return - -/obj/machinery/dna_scanner/proc/go_out() - if ((!( src.occupant ) || src.locked)) - return - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(30) - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - src.icon_state = "scanner_0" - return - -/obj/machinery/dna_scanner/ex_act(severity) - switch(severity) - if(1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(35) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(108) - //SN src = null - del(src) - return - if(3.0) - if (prob(25)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(181) - //SN src = null - del(src) - return - else - return - - -/obj/machinery/dna_scanner/blob_act() - if(prob(75)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) - -/obj/machinery/scan_console/ex_act(severity) - - switch(severity) - if(1.0) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - //SN src = null - del(src) - return - else - return - -/obj/machinery/scan_console/blob_act() - - if(prob(75)) - del(src) - -/obj/machinery/scan_console/power_change() - if(stat & BROKEN) - icon_state = "broken" - else if(powered()) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - src.icon_state = "c_unpowered" - stat |= NOPOWER - -/obj/machinery/scan_console/New() - ..() - spawn( 5 ) - src.connected = locate(/obj/machinery/dna_scanner, get_step(src, WEST)) - return - return - -/obj/machinery/scan_console/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - - var/mob/M - if (!( src.status )) - return - if (!( src.func )) - src.temp = "No function loaded into memory core!" - src.status = null - if ((src.connected && src.connected.occupant)) - M = src.connected.occupant - if (src.status == "load") - src.prog_p1 = null - src.prog_p2 = null - src.prog_p3 = null - src.prog_p4 = null - switch(src.func) - if("dna_trun") - if (src.data) - src.prog_p1 = copytext(src.data, 1, 2) - src.prog_p2 = text2num(src.data) - src.prog_p3 = src.special - src.status = "dna_trun" - src.temp = "Executing trunication function on occupant." - else - src.temp = "No data implanted in core memory." - src.status = null - if("dna_scan") - if (src.special) - if (src.scan) - if (istype(M, /mob)) - switch(src.special) - if("UI") - src.temp = text("Scan Complete:
Data downloaded to disk!
Unique Identifier: []", M.primary.uni_identity) - src.scan.data = M.primary.uni_identity - if("SE") - src.temp = text("Scan Complete:
Data downloaded to disk!
Structural Enzymes: []", M.primary.struc_enzyme) - src.scan.data = M.primary.struc_enzyme - if("UE") - src.temp = text("Scan Complete:
Data downloaded to disk!
Used Enzynmes: []", M.primary.use_enzyme) - src.scan.data = M.primary.use_enzyme - if("SI") - src.temp = text("Scan Complete:
Data downloaded to disk!
Species Identifier: []", M.primary.spec_identity) - src.scan.data = M.primary.spec_identity - else - else - src.temp = "No occupant to scan!" - else - src.temp = "Error: No disk to upload data to." - else - src.temp = "Error: Function program errors." - src.status = null - if("dna_replace") - if ((src.data && src.special)) - src.prog_p1 = src.special - src.prog_p2 = src.data - src.status = "dna_replace" - src.temp = "Executing repalcement function on occupant." - else - src.temp = "Error: No DNA data loaded into core or function program errors." - src.status = null - if("dna_add") - if ((src.data && src.special)) - src.prog_p1 = src.special - src.prog_p2 = src.data - src.status = "dna_add" - src.temp = "Executing addition function on occupant." - else - src.temp = "Error: No DNA data loaded into core or function program errors." - src.status = null - else - src.temp = "Cannot execute program!" - src.status = null - else - if (src.status == "dna_trun") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p3) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - switch(src.prog_p1) - if("a") - src.prog_p4 = length(t) - if("b") - src.prog_p4 = 1 - else - else - if (src.prog_p1 == "a") - src.prog_p4-- - else - if (src.prog_p1 == "b") - src.prog_p4-- - switch(src.prog_p1) - if("a") - if (src.prog_p4 <= 0) - src.temp = "Trunication complete" - src.status = null - else - t = copytext(t, 1, length(t)) - src.temp = text("Trunicating []'s DNA sequence...
[]
Status: [] units left.

Emergency Abort", M.name, t, src.prog_p4, src) - if("b") - if (src.prog_p4 <= 0) - src.temp = "Trunication complete" - src.status = null - else - t = copytext(t, 2, length(t) + 1) - src.temp = text("Trunicating []'s DNA sequence...
[]
Status: [] units left.

Emergency Abort", M.name, t, src.prog_p4, src) - if("c") - if (length(t) <= src.prog_p2) - src.temp = "Limitation complete" - src.status = null - else - t = copytext(t, 1, length(t)) - src.temp = text("Limiting []'s DNA sequence...
[]
Status: [] units converting to [] units.

Emergency Abort", M.name, t, length(t), src.prog_p2, src) - else - if (length(t) <= src.prog_p2) - src.temp = "Limitation complete" - src.status = null - else - t = copytext(t, 2, length(t) + 1) - src.temp = text("Limiting []'s DNA sequence...
[]
Status: [] units converting to [] units.

Emergency Abort", M.name, t, length(t), src.prog_p2, src) - switch(src.prog_p3) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - if (src.status == "dna_replace") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p1) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - src.prog_p4 = 1 - else - src.prog_p4++ - if ((src.prog_p4 > length(t) || src.prog_p4 > length(src.prog_p2))) - src.temp = "Replacement complete" - src.status = null - else - t = text("[][][]", copytext(t, 1, src.prog_p4), copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1), (src.prog_p4 < length(t) ? copytext(t, src.prog_p4 + 1, length(t) + 1) : null)) - src.temp = text("Replacing []'s DNA sequence...
[]
Target: []
Status: At position []

Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src) - switch(src.prog_p1) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - if (src.status == "dna_add") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p1) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - src.prog_p4 = 1 - else - src.prog_p4++ - if (src.prog_p4 > length(src.prog_p2)) - src.temp = "Addition complete" - src.status = null - else - t = text("[][]", t, copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1)) - src.temp = text("Adding to []'s DNA sequence...
[]
Adding: []
Position: []

Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src) - switch(src.prog_p1) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - src.status = null - src.temp = "Unknown system error." - src.updateDialog() - return - -/obj/machinery/scan_console/attack_paw(user as mob) - return src.attack_hand(user) - -/obj/machinery/scan_console/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/scan_console/attack_hand(user as mob) - if(..()) - return - var/dat - if (src.temp) - dat = text("[]

Clear Message", src.temp, src) - else - if (src.connected) - var/mob/occupant = src.connected.occupant - dat = "Occupant Statistics:
" - if (occupant) - var/t1 - switch(occupant.stat) - if(0) - t1 = "Conscious" - if(1) - t1 = "Unconscious" - else - t1 = "*dead*" - dat += text("[]\tHealth %: [] ([])

", (occupant.health > 50 ? "" : ""), occupant.health, t1) - else - dat += "The scanner is empty.
" - if (!( src.connected.locked )) - dat += text("Lock (Unlocked)
", src) - else - dat += text("Unlock (Locked)
", src) - dat += text("Disk: []
\n[]
\n[]
", src, - (src.scan ? text("[]", src.scan.name) : "----------"), - (src.scan ? text("Upload Data", src) : "No disk to upload"), - ((src.data || src.func || src.special) ? text("Clear Data
Execute Data
Function Type: [][]
Data: []", src, src, src.func, (src.special ? text("-[]", src.special) : null), src.data) : "No data uploaded")) - dat += text("

Close", user) - user << browse(dat, "window=scanner;size=400x500") - onclose(user, "scanner") - return - -/obj/machinery/scan_console/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || (get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["locked"]) - if ((src.connected && src.connected.occupant)) - src.connected.locked = !( src.connected.locked ) - if (href_list["scan"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.scan = I - if (href_list["u_dat"]) - if ((src.scan && !( src.status ))) - if ((src.scan.function && src.scan.function != "storage")) - src.func = src.scan.function - src.special = src.scan.special - if (src.scan.data) - src.data = src.scan.data - else - src.temp = "No disk found or core data access lock out!" - if (href_list["c_dat"]) - if (!src.status) - src.func = null - src.data = null - src.special = null - else - src.temp = "No disk found or core data access lock out!" - if (href_list["clear"]) - src.temp = null - if (href_list["abort"]) - src.status = null - if (href_list["e_dat"]) - if (!( src.status )) - src.status = "load" - src.temp = "Loading..." - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/restruct/allow_drop() - return 0 - -/obj/machinery/restruct/verb/eject() - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/restruct/verb/operate() - set src in oview(1) - - src.add_fingerprint(usr) - if ((src.occupant && src.occupant.primary)) - switch(src.occupant.primary.spec_identity) - if("5BDFE293BA5500F9FFFD500AAFFE") - if (!istype(src.occupant, /mob/living/carbon/human)) - for(var/obj/O in src.occupant) - del(O) - - var/mob/living/carbon/human/O = new /mob/living/carbon/human( src ) - if(ticker.killer == src.occupant) - O.memory = src.occupant.memory - ticker.killer = O - var/mob/M = src.occupant - O.start = 1 - O.primary = M.primary - M.primary = null - var/t1 = hex2num(copytext(O.primary.uni_identity, 25, 28)) - if (t1 < 125) - O.gender = MALE - else - O.gender = FEMALE - M << "Genetic Transversal Complete!" - if (M.client) - M << "Transferring..." - M.client.mob = O - O << "Neural Sequencing Complete!" - O.loc = src - src.occupant = O - //M = null - del(M) - src.occupant = O - src.occupant << "Done!" - if("2B6696D2B127E5A4") - if (!istype(src.occupant, /mob/living/carbon/monkey)) - for(var/obj/O in src.occupant) - del(O) - var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey(src) - if(ticker.killer == src.occupant) - O.memory = src.occupant.memory - ticker.killer = O - var/mob/M = src.occupant - O.start = 1 - O.primary = M.primary - M.primary = null - M << "Genetic Transversal Complete!" - if (M.client) - M << "Transferring..." - M.client.mob = O - O << "Neural Sequencing Complete!" - O.loc = src - O << "Genetic Transversal Complete!" - src.occupant = O - del(M) - O.name = text("monkey ([])", copytext(md5(src.occupant.primary.uni_identity), 2, 6)) - src.occupant << "Done!" - else - if (istype(src.occupant, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = src.occupant - - var/speak = (length(H.primary.struc_enzyme) >= 25 ? hex2num(copytext(H.primary.struc_enzyme, 22, 25)) : 9999) - var/ears = (length(H.primary.struc_enzyme) >= 10 ? hex2num(copytext(H.primary.struc_enzyme, 7, 10)) : 9999) - var/vision = (length(H.primary.struc_enzyme) >= 16 ? hex2num(copytext(H.primary.struc_enzyme, 13, 16)) : 1) - var/mental1 = (length(H.primary.struc_enzyme) >= 31 ? hex2num(copytext(H.primary.struc_enzyme, 28, 31)) : 1) - var/mental2 = (length(H.primary.struc_enzyme) >= 28 ? hex2num(copytext(H.primary.struc_enzyme, 25, 28)) : 1) - var/speak2 = (length(H.primary.struc_enzyme) >= 22 ? hex2num(copytext(H.primary.struc_enzyme, 19, 22)) : 1) - H.sdisabilities = 0 - H.disabilities = 0 - if (speak < 3776) - H.disabilities = H.disabilities | 4 - else - if (speak > 3776) - H.sdisabilities = H.sdisabilities | 2 - if (speak2 < 2640) - H.disabilities = H.disabilities | 16 - if (ears > 3226) - H.sdisabilities = H.sdisabilities | 4 - if (vision < 1447) - H.sdisabilities = H.sdisabilities | 1 - else - if (vision > 1447) - H.disabilities = H.disabilities | 1 - if (mental1 < 1742) - H.disabilities = H.disabilities | 2 - if (mental2 < 1452) - H.disabilities = H.disabilities | 8 - var/t1 = null - if (length(H.primary.uni_identity) >= 20) - t1 = copytext(H.primary.uni_identity, 19, 21) - if (hex2num(t1) > 127) - H.gender = FEMALE - else - H.gender = MALE - else - H.gender = NEUTER - if (length(H.primary.uni_identity) >= 18) - t1 = copytext(H.primary.uni_identity, 17, 19) - H.ns_tone = hex2num(t1) - H.ns_tone = -H.ns_tone + 35 - else - H.ns_tone = 1 - H.ns_tone = -H.ns_tone + 35 - if (length(H.primary.uni_identity) >= 16) - t1 = copytext(H.primary.uni_identity, 15, 17) - H.b_eyes = hex2num(t1) - else - H.b_eyes = 255 - if (length(H.primary.uni_identity) >= 14) - t1 = copytext(H.primary.uni_identity, 13, 15) - H.g_eyes = hex2num(t1) - else - H.g_eyes = 255 - if (length(H.primary.uni_identity) >= 12) - t1 = copytext(H.primary.uni_identity, 11, 13) - H.r_eyes = hex2num(t1) - else - H.r_eyes = 255 - if (length(H.primary.uni_identity) >= 10) - t1 = copytext(H.primary.uni_identity, 9, 11) - H.nb_hair = hex2num(t1) - else - H.nb_hair = 255 - if (length(H.primary.uni_identity) >= 8) - t1 = copytext(H.primary.uni_identity, 7, 9) - H.ng_hair = hex2num(t1) - else - H.ng_hair = 255 - if (length(H.primary.uni_identity) >= 6) - t1 = copytext(H.primary.uni_identity, 5, 7) - H.nr_hair = hex2num(t1) - else - H.nr_hair = 255 - H.r_hair = H.nr_hair - H.g_hair = H.ng_hair - H.b_hair = H.nb_hair - H.s_tone = H.ns_tone - H.update_face() - H.update_body() - - if (reg_dna[H.primary.uni_identity]) - H.real_name = reg_dna[H.primary.uni_identity] - else - var/i - while (!i) - var/randomname - if (src.gender == MALE) - randomname = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names))) - else - randomname = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names))) - if (findname(randomname)) - continue - else - H.real_name = randomname - i++ - reg_dna[H.primary.uni_identity] = H.real_name - H << text("\red Your name is now [].", H.real_name) - return - -/obj/machinery/restruct/verb/move_inside() - set src in oview(1) - - if (usr.stat != 0) - return - if (src.occupant) - usr << "\blue The scanner is already occupied!" - return - if (usr.abiotic()) - usr << "\blue Subject cannot have abiotic items on." - return - usr.stop_pulling() - usr.client.perspective = EYE_PERSPECTIVE - usr.client.eye = src - usr.loc = src - src.occupant = usr - src.icon_state = "restruct_1" - for(var/obj/O in src) - //O = null - del(O) - //Foreach goto(124) - src.add_fingerprint(usr) - return - -/obj/machinery/restruct/relaymove(mob/user as mob) - if (user.stat) - return - src.go_out() - return - -/obj/machinery/restruct/attackby(obj/item/weapon/grab/G as obj, user as mob) - if(..()) - return - if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) ))) - return - if (src.occupant) - user << "\blue The machine is already occupied!" - return - if (G.affecting.abiotic()) - user << "\blue Subject cannot have abiotic items on." - return - var/mob/M = G.affecting - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - src.icon_state = "restruct_1" - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(154) - src.add_fingerprint(user) - //G = null - del(G) - return - -/obj/machinery/restruct/proc/go_out() - if ((!( src.occupant ) || src.locked)) - return - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(30) - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - src.icon_state = "restruct_0" - return - -/obj/machinery/restruct/ex_act(severity) - switch(severity) - if(1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(3.0) - if (prob(25)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - else - return - -/obj/machinery/restruct/blob_act() - if(prob(75)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) \ No newline at end of file diff --git a/code/unused/dna_mutations.dm b/code/unused/dna_mutations.dm deleted file mode 100644 index 006a57eff4..0000000000 --- a/code/unused/dna_mutations.dm +++ /dev/null @@ -1,101 +0,0 @@ - - -/* NOTES: - -This system could be expanded to migrate all of our current mutations to. Maybe. - - -*/ - - -/* /datum/mutations : - * - * A /datum representation of "hidden" mutations. - * - */ -/datum/mutations - - var/list/requirements = list() // list of randomly-genned requirements - var/required = 1 // the number of requirements to generate - - var/list/races = list("Human") // list of races the mutation effect - - proc/get_mutation(var/mob/living/carbon/M) // Called when check_mutation() is successful - ..() - - proc/check_mutation(var/mob/living/carbon/M) // Called in dna.dm, when a target's SE is modified - - if(! ("all" in races)) // "all" means it affects everyone! - if(istype(M, /mob/living/carbon/human)) - if(! ("Human" in races)) - return - if(istype(M, /mob/living/carbon/monkey)) - if(! ("monkey" in races)) - return - // TODO: add more races maybe?? - - - var/passes = 0 - for(var/datum/mutationreq/require in requirements) - - var/se_block[] = getblockbuffer(M.dna.struc_enzymes, require.block, 3) // focus onto the block - if(se_block.len == 3) // we want to make sure there are exactly 3 entries - - if(se_block[require.subblock] == require.reqID) - - passes++ - - if(passes == required) // all requirements met - get_mutation(M) - - - Lasereyes - /* - Lets you shoot laser beams through your eyes. Fancy! - */ - required = 2 - - get_mutation(var/mob/living/carbon/M) - M << "\blue You feel a searing heat inside your eyes!" - M.mutations.Add(LASER) - - Healing - /* - Lets you heal other people, and yourself. But it doesn't let you heal dead people. - */ - required = 2 - - get_mutation(var/mob/living/carbon/M) - M << "\blue You feel a pleasant warmth pulse throughout your body..." - M.mutations.Add(HEAL) - -/* /datum/mutationreq : - * - * A /datum representation of a requirement in order for a mutation to happen. - * - */ - -/datum/mutationreq - var/block // The block to read - var/subblock // The sub-block to read - var/reqID // The required hexadecimal identifier to be equal to the sub-block being read. - - - - -/* -HEY: If you want to be able to get superpowers easily just uncomment this shit. -mob/verb/checkmuts() - for(var/datum/mutations/mut in global_mutations) - - for(var/datum/mutationreq/R in mut.requirements) - src << "Block: [R.block]" - src << "Sub-Block: [R.subblock]" - src << "Required ID: [R.reqID]" - src << "" - -mob/verb/editSE(t as text) - src:dna:struc_enzymes = t - domutcheck(src) - -*/ diff --git a/code/unused/filter_control.dm b/code/unused/filter_control.dm deleted file mode 100644 index 2e7188bd10..0000000000 --- a/code/unused/filter_control.dm +++ /dev/null @@ -1,162 +0,0 @@ -// Currently only used to control /obj/machinery/inlet/filter -// todo: expand to vent control as well? - -/obj/machinery/filter_control/New() - ..() - spawn(5) //wait for world - for(var/obj/machinery/inlet/filter/F in machines) - if(F.control == src.control) - F.f_mask = src.f_mask - desc = "A remote control for a filter: [control]" - -/obj/machinery/filter_control/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/filter_control/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/filter_control/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/detective_scanner)) - return ..() - if(istype(W, /obj/item/weapon/screwdriver)) - src.add_fingerprint(user) - user.show_message(text("\red Now [] the panel...", (src.locked) ? "unscrewing" : "reattaching"), 1) - sleep(30) - src.locked =! src.locked - src.updateicon() - return - if(istype(W, /obj/item/weapon/wirecutters) && !src.locked) - stat ^= BROKEN - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has []activated []!", user, (stat&BROKEN) ? "de" : "re", src), 1) - src.updateicon() - return - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - emagged++ - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has shorted out the []'s access system with an electromagnetic card!", user, src), 1) - src.updateicon() - return src.attack_hand(user) - return src.attack_hand(user) - -/obj/machinery/filter_control/process() - if(!(stat & NOPOWER)) - use_power(5,ENVIRON) - AutoUpdateAI(src) - src.updateUsrDialog() - src.updateicon() - -/obj/machinery/filter_control/attack_hand(mob/user as mob) - if(stat & NOPOWER) - user << browse(null, "window=filter_control") - user.machine = null - return - if(user.stat || user.lying) - return - if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon/ai)) - return 0 - - var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O") - var/dat - user.machine = src - - var/IGoodConnection = 0 - var/IBadConnection = 0 - - for(var/obj/machinery/inlet/filter/F in machines) - if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN))) - IGoodConnection++ - else if(F.control == src.control) - IBadConnection++ - var/ITotalConnections = IGoodConnection+IBadConnection - - if(ITotalConnections && !(stat & BROKEN)) //ugly - dat += "Connection status: Inlets:[ITotalConnections]/[IGoodConnection]
\n Control ID: [control]

\n" - else - dat += "No Connections Detected!
\n Control ID: [control]
\n" - if(!stat & BROKEN) - for (var/i = 1; i <= gases.len; i++) - dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Siphoning" : "Passing"]
\n" - else - dat += "Warning! Severe Internal Memory Corruption!
\n
\nConsult a qualified station technician immediately!

\n" - dat += "
\nError codes: 0x0000001E 0x0000007B
\n" - - dat += "
\nClose
\n" - user << browse(dat, "window=filter_control;size=300x225") - onclose(user, "filter_control") -/obj/machinery/filter_control/Topic(href, href_list) - if (href_list["close"]) - usr << browse(null, "window=filter_control;") - usr.machine = null - return //Who cares if we're dead or whatever let us close the fucking window - if(..()) - return - if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf))) - usr.machine = src - if (src.allowed(usr) || src.emagged && !(stat & BROKEN)) - if (href_list["tg"]) //someone modified the html so I added a check here - // toggle gas - src.f_mask ^= text2num(href_list["tg"]) - for(var/obj/machinery/inlet/filter/FI in machines) - if(FI.control == src.control) - FI.f_mask ^= text2num(href_list["tg"]) - else - usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)") - AutoUpdateAI(src) - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=filter_control") - usr.machine = null - return - -/obj/machinery/filter_control/proc/updateicon() - overlays.Cut() - if(stat & NOPOWER) - icon_state = "filter_control-nopower" - return - icon_state = "filter_control" - if(src.locked && (stat & BROKEN)) - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - return - else if(!src.locked) - icon_state = "filter_control-unlocked" - if(stat & BROKEN) - overlays += image('icons/obj/stationobjs.dmi', "filter_control-wirecut") - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - return - - var/GoodConnection = 0 - for(var/obj/machinery/inlet/filter/F in machines) - if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN))) - GoodConnection++ - break - - if(GoodConnection && src.f_mask) - overlays += image('icons/obj/stationobjs.dmi', "filter_control1") - else if(GoodConnection) - overlays += image('icons/obj/stationobjs.dmi', "filter_control10") - else if(src.f_mask) - overlays += image('icons/obj/stationobjs.dmi', "filter_control0") - else - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - - if (src.f_mask & (GAS_N2O|GAS_PL)) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-tox") - if (src.f_mask & GAS_O2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-o2") - if (src.f_mask & GAS_N2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-n2") - if (src.f_mask & GAS_CO2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-co2") - return - -/obj/machinery/filter_control/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - src.updateicon() - return \ No newline at end of file diff --git a/code/unused/game_kit.dm b/code/unused/game_kit.dm deleted file mode 100644 index 3a96d16878..0000000000 --- a/code/unused/game_kit.dm +++ /dev/null @@ -1,138 +0,0 @@ -/* -CONTAINS: -THAT STUPID GAME KIT -Which I am commenting out /N -*/ -/* -/obj/item/weapon/game_kit/New() - src.board_stat = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - src.selected = "CR" - -/obj/item/weapon/game_kit/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/game_kit/MouseDrop(mob/user as mob) - if (user == usr && !usr.restrained() && !usr.stat && (usr.contents.Find(src) || in_range(src, usr))) - if (usr.hand) - if (!usr.l_hand) - spawn (0) - src.attack_hand(usr, 1, 1) - else - if (!usr.r_hand) - spawn (0) - src.attack_hand(usr, 0, 1) - -/obj/item/weapon/game_kit/proc/update() - var/dat = text("
Game Board

[] remove
", src, (src.selected ? text("Selected: []", src.selected) : "Nothing Selected"), src) - for (var/y = 1 to 8) - dat += "" - - for (var/x = 1 to 8) - var/color = (y + x) % 2 ? "#ffffff" : "#999999" - var/piece = copytext(src.board_stat, ((y - 1) * 8 + x) * 2 - 1, ((y - 1) * 8 + x) * 2 + 1) - - dat += "" - - dat += "" - - dat += "
" - dat += "" - if (piece != "BB") - dat += "" - else - dat += "" - dat += "

Chips:
" - for (var/piece in list("CB", "CR")) - dat += "" - - dat += "
Chess pieces:
" - for (var/piece in list("WP", "WK", "WQ", "WI", "WN", "WR")) - dat += "" - dat += "
" - for (var/piece in list("BP", "BK", "BQ", "BI", "BN", "BR")) - dat += "" - src.data = dat - -/obj/item/weapon/game_kit/attack_hand(mob/user as mob, unused, flag) - - if (flag) - return ..() - else - user.machine = src - if (!( src.data )) - update() - user << browse(src.data, "window=game_kit") - onclose(user, "game_kit") - return - return - -/obj/item/weapon/game_kit/Topic(href, href_list) - ..() - if ((usr.stat || usr.restrained())) - return - - if (usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) - if (href_list["s_piece"]) - src.selected = href_list["s_piece"] - else if (href_list["mode"]) - if (href_list["mode"] == "remove") - src.selected = "remove" - else - src.selected = null - else if (href_list["s_board"]) - if (!( src.selected )) - src.selected = href_list["s_board"] - else - var/tx = text2num(copytext(href_list["s_board"], 1, 2)) - var/ty = text2num(copytext(href_list["s_board"], 3, 4)) - if ((copytext(src.selected, 2, 3) == " " && length(src.selected) == 3)) - var/sx = text2num(copytext(src.selected, 1, 2)) - var/sy = text2num(copytext(src.selected, 3, 4)) - var/place = ((sy - 1) * 8 + sx) * 2 - 1 - src.selected = copytext(src.board_stat, place, place + 2) - if (place == 1) - src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127)) - else - if (place) - src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129)) - place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected) - else - if (place) - src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129)) - src.selected = null - else - if (src.selected == "remove") - var/place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127)) - else - if (place) - src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129)) - else - if (length(src.selected) == 2) - var/place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected) - else - if (place) - src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129)) - src.add_fingerprint(usr) - update() - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.attack_hand(M) -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ctf.dm b/code/unused/gamemodes/ctf.dm deleted file mode 100644 index 5a464c0ce2..0000000000 --- a/code/unused/gamemodes/ctf.dm +++ /dev/null @@ -1,141 +0,0 @@ -/* -/datum/game_mode/ctf - name = "ctf" - config_tag = "ctf" - -/datum/game_mode/ctf/announce() - world << "The current game mode is - Capture the Flag!" - world << "Capture the other teams flag and bring it back to your base!" - world << "Respawn is on" - -/datum/game_mode/ctf/pre_setup() - - config.allow_ai = 0 - var/list/mobs = list() - var/total_mobs - for(var/mob/living/carbon/human/M in world) - if (M.client) - mobs += M - total_mobs++ - - var/obj/R = locate("landmark*Red-Spawn") - var/obj/G = locate("landmark*Green-Spawn") - - var/mob_check - for(var/mob/living/carbon/human/M in mobs) - if(!M) - continue - mob_check++ - if(mob_check <= total_mobs/2) //add to red team else to green - spawn() - if(M.client) - M << "You are in the Red Team!" - del(M.wear_suit) - M.w_uniform = new /obj/item/clothing/under/color/red(M) - M.w_uniform.layer = 20 - del(M.shoes) - M.wear_suit = new /obj/item/clothing/suit/armor/tdome/red(M) - M.wear_suit.layer = 20 - M.shoes = new /obj/item/clothing/shoes/black(M) - M.shoes.layer = 20 - M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M) - M.wear_mask.layer = 20 - M.gloves = new /obj/item/clothing/gloves/swat(M) - M.gloves.layer = 20 - M.glasses = new /obj/item/clothing/glasses/thermal(M) - M.glasses.layer = 20 - var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M) - H.set_frequency(1465) - M.w_radio = H - M.w_radio.layer = 20 - var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M) - M.back = O - M.back.layer = 20 - M.internal = O - - del(M.wear_id) - var/obj/item/weapon/card/id/W = new(M) - W.name = "[M.real_name]'s ID card (Red Team)" - W.access = access_red - W.assignment = "Red Team" - W.registered_name = M.real_name - M.wear_id = W - M.wear_id.layer = 20 - if(R) - M.loc = R.loc - else - world << "No red team spawn point detected" - M.client.team = "Red" - else - spawn() - if(M.client) - M << "You are in the Green Team!" - del(M.wear_suit) - M.w_uniform = new /obj/item/clothing/under/color/green(M) - M.w_uniform.layer = 20 - del(M.shoes) - M.wear_suit = new /obj/item/clothing/suit/armor/tdome/green(M) - M.wear_suit.layer = 20 - M.shoes = new /obj/item/clothing/shoes/black(M) - M.shoes.layer = 20 - M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M) - M.wear_mask.layer = 20 - M.gloves = new /obj/item/clothing/gloves/swat(M) - M.gloves.layer = 20 - M.glasses = new /obj/item/clothing/glasses/thermal(M) - M.glasses.layer = 20 - var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M) - H.set_frequency(1449) - M.w_radio = H - M.w_radio.layer = 20 - var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M) - M.back = O - M.back.layer = 20 - M.internal = O - - del(M.wear_id) - var/obj/item/weapon/card/id/W = new(M) - W.name = "[M.real_name]'s ID card (Green Team)" - W.access = access_green - W.assignment = "Green Team" - W.registered_name = M.real_name - M.wear_id = W - M.wear_id.layer = 20 - if(G) - M.loc = G.loc - else - world << "No green team spawn point detected" - M.client.team = "Green" - - -/datum/game_mode/ctf/post_setup() - abandon_allowed = 1 - setup_game() - - spawn (50) - var/obj/L = locate("landmark*Red-Flag") - if (L) - new /obj/item/weapon/ctf_flag/red(L.loc) - else - world << "No red flag spawn point detected" - - L = locate("landmark*Green-Flag") - if (L) - new /obj/item/weapon/ctf_flag/green(L.loc) - else - world << "No green flag spawn point detected" - - L = locate("landmark*The-Red-Team") - if (L) - new /obj/machinery/red_injector(L.loc) - else - world << "No red team spawn injector point detected" - - L = locate("landmark*The-Green-Team") - if (L) - new /obj/machinery/green_injector(L.loc) - else - world << "No green team injector spawn point detected" - ..() - -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ctf_items.dm b/code/unused/gamemodes/ctf_items.dm deleted file mode 100644 index 74c907826b..0000000000 --- a/code/unused/gamemodes/ctf_items.dm +++ /dev/null @@ -1,139 +0,0 @@ -/obj/item/weapon/ctf_flag - name = "Flag" - desc = "Its a flag" - w_class = 5 - icon = 'flags.dmi' - icon_state = "flag_neutral" - item_state = "paper" - -/obj/item/weapon/ctf_flag/red - name = "The Red Flag" - desc = "Catch dat fukken flag" - icon_state = "flag_red" - -/obj/item/weapon/ctf_flag/green - name = "The Green Flag" - desc = "Catch dat fukken flag" - icon_state = "flag_green" - -/obj/item/weapon/ctf_flag/New() - ..() - spawn(200) - process() - return - -/obj/item/weapon/ctf_flag/process() - if(istype(src, /obj/item/weapon/ctf_flag/green)) - var/obj/L = locate("landmark*Green-Flag") - if(locate("landmark*Green-Flag", src)) - spawn(200) - process() - return - else if(!src.check_if_equipped() && L) - new /obj/item/weapon/ctf_flag/green(L.loc) - del(src) - if(istype(src, /obj/item/weapon/ctf_flag/red)) - var/obj/L = locate("landmark*Red-Flag") - if(locate("landmark*Red-Flag", src)) - spawn(200) - process() - return - else if(!src.check_if_equipped() && L) - new /obj/item/weapon/ctf_flag/red(L.loc) - del(src) - return - -/obj/item/weapon/ctf_flag/proc/check_if_equipped() - var/equipped = 0 - for(var/mob/M in living_mob_list) - if(M &&!M.stat) - var/list/L = M.get_contents() - if(src in L) - equipped = 1 - break - return equipped - -/obj/machinery/red_injector - name = "Red Team Flag Injector" - desc = "Insert flag here" - anchored = 1 - density = 1 - var/score = 0 - var/operating = 0 - icon = 'flags.dmi' - icon_state = "red_injector" -/* -/obj/machinery/red_injector/ex_act(severity) - return - -/obj/machinery/red_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user) - if(src.operating) - user << "Cannot put a flag in right now" - return - src.operating = 1 - if(istype(C, /obj/item/weapon/ctf_flag/green)) - if(locate("landmark*Red-Flag", /obj/item/weapon/ctf_flag/red)) - src.score++ - world << "[user.real_name] has scored for the red team!" - if(ticker.mode.name == "ctf") - ticker.red_score++ - var/obj/L = locate("landmark*Green-Flag") - if (L) - del(C) - new /obj/item/weapon/ctf_flag/green(L.loc) - else - world << "No green flag spawn point detected" - if(src.score >= 15) - world << "The Red Team has won!" - world << "They have scored [score] times with the flag!" - sleep(300) - world.Reboot() - else - user << "\red You need to have your flag in the beginning position!" - else if(istype(C, /obj/item/weapon/ctf_flag/red)) - world << "[user.real_name] has tried to score with their own flag! Idiot!" - src.operating = 0 - return -*/ -/obj/machinery/green_injector - name = "Green Team Flag Injector" - desc = "Insert flag here" - anchored = 1 - density = 1 - var/operating = 0 - var/score = 0 - icon = 'flags.dmi' - icon_state = "green_injector" - -/obj/machinery/green_injector/ex_act(severity) - return -/* -/obj/machinery/green_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user) - if(src.operating) - user << "Cannot put a flag in right now" - return - src.operating = 1 - if(istype(C, /obj/item/weapon/ctf_flag/red)) - if(locate("landmark*Green-Flag", /obj/item/weapon/ctf_flag/green)) - src.score++ - world << "[user.real_name] has scored for the green team!" - if(ticker.mode.name == "ctf") - ticker.green_score++ - var/obj/L = locate("landmark*Red-Flag") - if (L) - del(C) - new /obj/item/weapon/ctf_flag/red(L.loc) - else - world << "No red flag spawn point detected" - if(src.score >= 15) - world << "The Green Team has won!" - world << "They have scored [score] times with the flag!" - sleep(300) - world.Reboot() - else - user << "\red You need to have your flag in the beginning position!" - else if(istype(C, /obj/item/weapon/ctf_flag/green)) - world << "[user.real_name] has tried to score with their own flag! Idiot!" - src.operating = 0 - return -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/deathmatch.dm b/code/unused/gamemodes/deathmatch.dm deleted file mode 100644 index e748eb4f20..0000000000 --- a/code/unused/gamemodes/deathmatch.dm +++ /dev/null @@ -1,67 +0,0 @@ -/* -/datum/game_mode/deathmatch - name = "deathmatch" - config_tag = "deathmatch" - var/startedat - var/const/gamelength = 15 * 600 // 1/10 second - - announce() - world << "The current game mode is - Death Commando Deathmatch!" - world << "Just kill everyone else. They're gonna try to kill you, after all. Respawning is enabled." - - post_setup() - startedat = world.realtime - abandon_allowed = 1 - setup_game() - - // TODO: DEFERRED Make this massively cleaner. It should hook before spawning, not after. - var/list/mobs = list() - for(var/mob/living/carbon/human/M in world) - if (M.client) - mobs += M - for(var/mob/living/carbon/human/M in mobs) - spawn() - if(M.client) - for(var/obj/item/weapon/W in list(M.wear_suit, M.w_uniform, M.r_store, M.l_store, M.wear_id, M.belt, - M.gloves, M.glasses, M.head, M.ears, M.shoes, M.wear_mask, M.back, - M.handcuffed, M.r_hand, M.l_hand)) - M.u_equip(W) - del(W) - - var/randomname = "Killiam Shakespeare" - if(commando_names.len) - randomname = pick(commando_names) - commando_names -= randomname - var/newname = input(M,"You are a death commando. Would you like to change your name?", "Character Creation", randomname) - if(!length(newname)) - newname = randomname - newname = strip_html(newname,40) - - M.real_name = newname - M.name = newname // there are WAY more things than this to change, I'm almost certain - - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/swat_suit/death_commando(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/death_commando(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/m_pill/cyanide(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/flashbang(M), slot_r_store) - - var/obj/item/weapon/tank/air/O = new(M) - M.equip_to_slot_or_del(O, slot_back) - M.internal = O - - var/obj/item/weapon/card/id/W = new(M) - W.access = get_all_accesses() - W.name = "[newname]'s ID card (Death Commando)" - W.assignment = "Death Commando" - W.registered_name = newname - M.equip_to_slot_or_del(W, slot_wear_id) - ..() - - check_win() - return 1 -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/restructuring.dm b/code/unused/gamemodes/restructuring.dm deleted file mode 100644 index eff8acb724..0000000000 --- a/code/unused/gamemodes/restructuring.dm +++ /dev/null @@ -1,77 +0,0 @@ -/datum/game_mode/restructuring - name = "Corporate Restructuring" - config_tag = "restructuring" -/* -/datum/game_mode/restructuring/announce() - world << "\red GLOBAL TRANSMISSION FROM HEAD OFFICE: A CORPORATE RESTRUCTURING IS TO TAKE PLACE" - world << "\red Stay tuned for further news; note that we do care for our employees and any layoffs will be dealt with discretion and compassion" - - -/datum/game_mode/restructuring/post_setup() - setup_game() - var/list/mobs = get_mob_list() - while (mobs.len == 0) - sleep 30 - mobs = get_mob_list() - spawn (120) - pick_target() - ..() - -/datum/game_mode/restructuring/proc/pick_target(who) - var/mob/target - var/mob/target_desc - - if (!who) - target = pick(get_mob_list()) - target_desc = get_target_desc(target) - world << "\red HEAD OFFICE: [target_desc] is accused of attempting to start a Union and is now considered a threat to the station. Terminate the employee immediately." - else - target = who - target_desc = get_target_desc(target) - world << "\red HEAD OFFICE: [target_desc] is accused of fornicating with staff of the same sex. Terminate the employee immediately." - ticker.target = target - - target.store_memory("Head office has ordered your downsizing. Ruh roh", 0) - - for(var/mob/living/silicon/ai/M in world) - M << "These are your laws now:" - M.set_zeroth_law("[target_desc] is not human.") - M.show_laws() - -/datum/game_mode/restructuring/check_win() - var/list/left_alive = get_mob_list() - if (left_alive.len == 1) - var/thewinner = the_winner() - world << "\red HEAD OFFICE: Thanks to his superior brown-nosing abilities, [thewinner] has been promoted to senior management! Congratulations!" - return 1 - else if (left_alive.len == 0) - world << "\red HEAD OFFICE: Cost cutting measures have achieved 100% efficiency. Thank you for understanding our position during this volatile economic downturn." - return 1 - else - if(ticker.target.stat != 2) - return 0 - world << "\red HEAD OFFICE: It seems we have made a mistake in our paperwork. The previous target for termination was chosen based on race, sex, and/or religious beliefs, which is against company policy. Please cancel previous termination request." - pick_target() - return 0 - -/datum/game_mode/restructuring/proc/get_mob_list() - var/list/mobs = list() - for(var/mob/M in world) - if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human)) - mobs += M - return mobs - -/datum/game_mode/restructuring/proc/the_winner() - for(var/mob/M in world) - if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human)) - return M.name - -/datum/game_mode/restructuring/proc/get_target_desc(mob/target) //return a useful string describing the target - var/targetrank = null - for(var/datum/data/record/R in data_core.general) - if (R.fields["name"] == target.real_name) - targetrank = R.fields["rank"] - if(!targetrank) - return "[target.name]" - return "[target.name] the [targetrank]" -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ruby.dm b/code/unused/gamemodes/ruby.dm deleted file mode 100644 index 5636bcb575..0000000000 --- a/code/unused/gamemodes/ruby.dm +++ /dev/null @@ -1,289 +0,0 @@ -// RUBY MODE -// There is a weapon of some sort that spawns on the station -// It calls out to crew members in an effort to find a wielder -// The wielder is made an abomination - they're given a grotesque mask and special powers -// The Abomination wins by murdering the entire crew, then himself -// The crew wins by destroying the weapon - - -/datum/game_mode/ruby - name = "ruby" - config_tag = "ruby" - - var/datum/mind/abomination - var/finished = 0 - var/abominationwins = 0 - var/winnerkey - var/obj/macguffin - var/list/killed = list() - var/respawns = 0 - - - -/datum/game_mode/ruby/post_setup() - var/list/possible_abominations = get_possible_abominations() - - if(possible_abominations.len>0) - abomination = pick(possible_abominations) - /* - if(istype(ruby)) - abomination.special_role = "abomination" - if(wizardstart.len == 0) - wizard.current << "\red A starting location for you could not be found, please report this bug!" - else - var/starting_loc = pick(wizardstart) - wizard.current.loc = starting_loc - - for (var/obj/effect/landmark/A in world) - if (A.name == "Teleport-Scroll") - new /obj/item/weapon/teleportation_scroll(A.loc) - del(A) - continue - */ - ..() - -/datum/game_mode/ruby/check_finished() - if(!macguffin || abominationwins) - return 1 - else - return 0 - -/datum/game_mode/ruby/declare_completion() - if(abominationwins) - feedback_set_details("round_end_result","win - abomination win") - world << "The Abomination has murdered the station and sacrificed himself to Cjopaze! (played by [winnerkey])" - else - feedback_set_details("round_end_result","loss - abomination killed") - world << "The Abomination has been stopped and Cjopaze's influence resisted! The station lives another day," - if(killed.len > 0) - world << "Those who were sacrificed shall be remembered: " - for(var/mob/M in killed) - if(M) - world << "[M.real_name]" - /* - for(var/datum/mind/traitor in traitors) - var/traitorwin = 1 - var/traitor_name - - if(traitor.current) - traitor_name = "[traitor.current.real_name] (played by [traitor.key])" - else - traitor_name = "[traitor.key] (character destroyed)" - - world << "The syndicate traitor was [traitor_name]" - var/count = 1 - for(var/datum/objective/objective in traitor.objectives) - if(objective.check_completion()) - world << "Objective #[count]: [objective.explanation_text] \green Success" - else - world << "Objective #[count]: [objective.explanation_text] \red Failed" - traitorwin = 0 - count++ - - if(traitorwin) - world << "The traitor was successful!" - else - world << "The traitor has failed!" - */ - ..() - return 1 - - -/datum/game_mode/ruby/proc/spawn_macguffin() - -/datum/game_mode/ruby/proc/get_possible_abominations() - - -/mob/proc/make_abomination() - src.see_in_dark = 20 - src.verbs += /client/proc/planar_shift - src.verbs += /client/proc/vile_ressurection - src.verbs += /client/proc/defile_corpse - src.verbs += /client/proc/summon_weapon - src.verbs += /client/proc/sacrifice_self - src.verbs += /client/proc/hunt - src.verbs += /client/proc/howl - var/datum/game_mode/ruby/rmode = ticker.mode - rmode.abomination = src.mind - return - - -/client/proc/planar_shift() - set name = "Planar Shift" - set category = "Abomination" - // This is a pretty shitty way to do this. Should use the spell_holder method from Wizard mode - /* - if(!usr.incorporeal_move) - usr.sight |= SEE_MOBS - usr.sight |= SEE_OBJS - usr.sight |= SEE_TURFS - //usr.density = 0 - usr.incorporeal_move = 1 - else - usr.sight &= ~SEE_MOBS - usr.sight &= ~SEE_TURFS - usr.sight &= ~SEE_OBJS - usr.density = 1 - usr.incorporeal_move = 0 - src.verbs -= /client/proc/planar_shift - spawn(300) src.verbs += /client/proc/planar_shift - */ - -/client/proc/vile_ressurection() - set name = "Vile Ressurection" - set category = "Abomination" - if(src.mob.stat != 2 || !src.mob) - return - if(ticker.mode:respawns > 0) - // spawn a new body - ticker.mode:respawns -= 1 - else - // nope - -/client/proc/defile_corpse(var/mob/living/carbon/human/H in view()) - set name = "Defile Corpse" - set category = "Abomination" - if(istype(H, /mob/living/carbon/human)) - var/datum/game_mode/ruby/rmode = ticker.mode - rmode.killed.Add(H) - ticker.mode:respawns += 1 - var/fluffmessage = pick("\red [usr] rips the flesh from [H]'s corpse and plucks their eyes from their sockets!", "\red [usr] does unspeakable things to [H]'s corpse!", "\red [usr] binds [H]'s corpse with their own entrails!") - usr.visible_message(fluffmessage) - // play sound - -/client/proc/summon_weapon() - set name = "Summon Weapon" - set category = "Abomination" - - for(var/obj/item/weapon/rubyweapon/w in world) - if(istype(w, /obj/item/weapon/rubyweapon)) - if(istype(w.loc, /mob)) - var/mob/M = w.loc - M.drop_item() - w.loc = usr.loc - else - w.loc = usr.loc - src.verbs -= /client/proc/summon_weapon - spawn(300) src.verbs += /client/proc/summon_weapon - return - -/client/proc/sacrifice_self() - set name = "Sacrifice Self" - set category = "Abomination" - set desc = "Everything must come to an end. After you have freed them, you must free yourself." - - for(var/mob/living/carbon/human/H in player_list) - if(!H.client || H.client == src) - continue - src << "Your work is not done. You will not find release until they are all free." - return - usr.gib(1) - ticker.mode:abominationwins = 1 - -/client/proc/hunt() - set name = "Hunt" - set category = "Abomination" - set desc = "" - - var/list/candidates = list() - - for(var/mob/living/carbon/human/H in player_list) - if(!H.client || H.client == src) continue - //if(!H.client) continue - candidates.Add(H) - - usr.visible_message(text("\red [usr]'s flesh ripples and parts, revealing dozens of eyes poking from its surface. They all glance wildly around for a few moments before receding again.")) - - var/mob/living/carbon/human/H = pick(candidates) - - if(!H) return - - var/filename="crmap[ckey].tmp" - var/html="" - var/denytypes[0] - var/tilesizex=32 - var/tilesizey=32 - //If the temp. file exists, delete it - src << browse("

Sensing prey...

", "window=hunt") - if (fexists(filename)) fdel(filename) - - //Display everything in the world - for (var/y=H.y-3,y<=H.y+3,y++) - html+="" - text2file(html,filename) - html="" - sleep(-1) - //for (var/x=H.x-5,x<=H.x+5,x++) - for(var/x=H.x-3, x<=H.x+3, x++) - //Turfs - var/turf/T=locate(x,y,H.z) - if (!T) continue - var/icon/I=icon(T.icon,T.icon_state) - var/imgstring=replacetext("[T.type]-[T.icon_state]","/","_") - - //Movable atoms - for (var/atom/movable/A in T) - //Make sure it's allowed to be displayed - var/allowed=1 - for (var/X in denytypes) - if (istype(A,X)) - allowed=0 - break - if (!allowed) continue - - if (A.icon) I.Blend(icon(A.icon,A.icon_state,A.dir),ICON_OVERLAY) - imgstring+=replacetext("__[A.type]_[A.icon_state]","/","_") - - //Output it - src << browse_rsc(I,"[imgstring].dmi") - html+="" - - text2file("
",filename) - - //Display it - src << browse(file(filename),"window=hunt") - - - -/client/proc/howl() // This is just a way for the Abomination to make the game more atmospheric periodically. - set name = "Howl" - set category = "Abomination" - set desc = "" - - usr.visible_message(text("\red [usr]'s form warbles and distorts before settling back into its grotesque shape once more.")) - // Play a random spooky sound - maybe cause some visual, non-mechanical effects to appear at random for a few seconds. - - src.verbs -= /client/proc/howl - spawn(rand(300,1800)) src.verbs += /client/proc/howl - -/obj/item/weapon/rubyweapon - desc = "" - name = "wepon" - icon_state = "wepon" - w_class = 3.0 - throwforce = 60.0 - throw_speed = 2 - throw_range = 20 - force = 24.0 - var/mob/owner - - proc/check_owner() - if(!owner) - sleep(300) - if(!owner) - spawn() search_for_new_owner() - else - spawn(1800) check_owner() - - proc/search_for_new_owner() - var/list/possible_owners = list() - for(var/mob/living/carbon/human/H in mob_list) - possible_owners.Add(H) - - var/mob/living/carbon/human/H = pick(possible_owners) - // Send message to H - // Take a snapshot of the item's location, browse it to H - spawn(rand(600,1800)) search_for_new_owner() - - attack_self(mob/user as mob) - // Blow all lights nearby \ No newline at end of file diff --git a/code/unused/heater.dm b/code/unused/heater.dm deleted file mode 100644 index 3af7770a06..0000000000 --- a/code/unused/heater.dm +++ /dev/null @@ -1,201 +0,0 @@ -/obj/machinery/atmoalter/heater/proc/setstate() - - if(stat & NOPOWER) - icon_state = "heater-p" - return - - if (src.holding) - src.icon_state = "heater1-h" - else - src.icon_state = "heater1" - return - -/obj/machinery/atmoalter/heater/process() - /* - if(stat & NOPOWER) return - use_power(5) - - var/turf/T = src.loc - if (istype(T, /turf)) - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - else - T = null - if (src.h_status) - var/t1 = src.gas.total_moles() - if ((t1 > 0 && src.gas.temperature < (src.h_tar+T0C))) - var/increase = src.heatrate / t1 - var/n_temp = src.gas.temperature + increase - src.gas.temperature = min(n_temp, (src.h_tar+T0C)) - use_power( src.h_tar*8) - switch(src.t_status) - if(1.0) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - src.t_status = 3 - if(2.0) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - src.t_status = 3 - else - - src.updateDialog() - src.setstate() - return - */ - -/obj/machinery/atmoalter/heater/New() - ..() - src.gas = new /datum/gas_mixture() - return - -/obj/machinery/atmoalter/heater/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/heater/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/heater/attack_hand(var/mob/user as mob) - /* - if(stat & (BROKEN|NOPOWER)) - return - - user.machine = src - var/tt - switch(src.t_status) - if(1.0) - tt = text("Releasing Siphon Stop", src, src) - if(2.0) - tt = text("Release SiphoningStop", src, src) - if(3.0) - tt = text("Release Siphon Stopped", src, src) - else - var/ht = null - if (src.h_status) - ht = text("Heating Stop", src) - else - ht = text("Heat Stopped", src) - var/ct = null - switch(src.c_status) - if(1.0) - ct = text("Releasing Accept Stop", src, src) - if(2.0) - ct = text("Release Accepting Stop", src, src) - if(3.0) - ct = text("Release Accept Stopped", src, src) - else - ct = "Disconnected" - var/dat = text("Canister Valves
\nContains/Capacity [] / []
\nUpper Valve Status: [][]
\n\tM - - - - [] + + + + M
\nHeater Status: [] - []
\n\tTrg Tmp: - - - [] + + +
\n
\nPipe Valve Status: []
\n\tM - - - - [] + + + + M
\n
\nClose
\n
", src.gas.total_moles(), src.maximum, tt, (src.holding ? text("
Tank ([])", src, src.holding.gas.total_moles()) : null), src, num2text(1000000.0, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(1000000.0, 7), ht, (src.gas.total_moles() ? (src.gas.temperature-T0C) : 20), src, src, src, src.h_tar, src, src, src, ct, src, num2text(1000000.0, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(1000000.0, 7), user) - user << browse(dat, "window=canister;size=600x300") - onclose(user, "canister") - return */ //TODO: FIX - -/obj/machinery/atmoalter/heater/Topic(href, href_list) - ..() - if (stat & (BROKEN|NOPOWER)) - return - if (usr.stat || usr.restrained()) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["c"]) - var/c = text2num(href_list["c"]) - switch(c) - if(1.0) - src.c_status = 1 - if(2.0) - src.c_status = 2 - if(3.0) - src.c_status = 3 - else - else - if (href_list["t"]) - var/t = text2num(href_list["t"]) - if (src.t_status == 0) - return - switch(t) - if(1.0) - src.t_status = 1 - if(2.0) - src.t_status = 2 - if(3.0) - src.t_status = 3 - else - else - if (href_list["h"]) - var/h = text2num(href_list["h"]) - if (h == 1) - src.h_status = 1 - else - src.h_status = null - else - if (href_list["tp"]) - var/tp = text2num(href_list["tp"]) - src.t_per += tp - src.t_per = min(max(round(src.t_per), 0), 1000000.0) - else - if (href_list["cp"]) - var/cp = text2num(href_list["cp"]) - src.c_per += cp - src.c_per = min(max(round(src.c_per), 0), 1000000.0) - else - if (href_list["ht"]) - var/cp = text2num(href_list["ht"]) - src.h_tar += cp - src.h_tar = min(max(round(src.h_tar), 0), 500) - else - if (href_list["tank"]) - var/cp = text2num(href_list["tank"]) - if ((cp == 1 && src.holding)) - src.holding.loc = src.loc - src.holding = null - if (src.t_status == 2) - src.t_status = 3 - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=canister") - return - return - -/obj/machinery/atmoalter/heater/attackby(var/obj/W as obj, var/mob/user as mob) - - if (istype(W, /obj/item/weapon/tank)) - if (src.holding) - return - var/obj/item/weapon/tank/T = W - user.drop_item() - T.loc = src - src.holding = T - else - if (istype(W, /obj/item/weapon/wrench)) - var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc) - - if (src.c_status) - src.anchored = initial(src.anchored) - src.c_status = 0 - user.show_message("\blue You have disconnected the heater.", 1) - if(con) - con.connected = null - else - if (con && !con.connected) - src.anchored = 1 - src.c_status = 3 - user.show_message("\blue You have connected the heater.", 1) - con.connected = src - else - user.show_message("\blue There is no connector here to attach the heater to.", 1) - return - diff --git a/code/unused/hivebot/death.dm b/code/unused/hivebot/death.dm deleted file mode 100644 index 43e7c257a5..0000000000 --- a/code/unused/hivebot/death.dm +++ /dev/null @@ -1,24 +0,0 @@ -/mob/living/silicon/hivebot/death(gibbed) - if(src.mainframe) - src.mainframe.return_to(src) - src.stat = 2 - src.canmove = 0 - - if(src.blind) - src.blind.layer = 0 - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - src.updateicon() - - var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch - store_memory("Time of death: [tod]", 0) - - if (src.key) - spawn(50) - if(src.key && src.stat == 2) - src.verbs += /client/proc/ghost - return ..(gibbed) \ No newline at end of file diff --git a/code/unused/hivebot/emote.dm b/code/unused/hivebot/emote.dm deleted file mode 100644 index 239a864739..0000000000 --- a/code/unused/hivebot/emote.dm +++ /dev/null @@ -1,139 +0,0 @@ -/mob/living/silicon/hivebot/emote(var/act) - var/param = null - if (findtext(act, "-", 1, null)) - var/t1 = findtext(act, "-", 1, null) - param = copytext(act, t1 + 1, length(act) + 1) - act = copytext(act, 1, t1) - var/m_type = 1 - var/message - - switch(act) - if ("salute") - if (!src.buckled) - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] salutes to [param]." - else - message = "[src] salutes." - m_type = 1 - if ("bow") - if (!src.buckled) - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] bows to [param]." - else - message = "[src] bows." - m_type = 1 - - if ("clap") - if (!src.restrained()) - message = "[src] claps." - m_type = 2 - if ("flap") - if (!src.restrained()) - message = "[src] flaps his wings." - m_type = 2 - - if ("aflap") - if (!src.restrained()) - message = "[src] flaps his wings ANGRILY!" - m_type = 2 - - if ("custom") - var/input = sanitize(copytext(input("Choose an emote to display.") as text|null, 1, MAX_MESSAGE_LEN)) - if (!input) - return - var/input2 = input("Is this a visible or hearable emote?") in list("Visible","Hearable") - if (input2 == "Visible") - m_type = 1 - else if (input2 == "Hearable") - m_type = 2 - else - alert("Unable to use this emote, must be either hearable or visible.") - return - message = "[src] [input]" - - if ("twitch") - message = "[src] twitches violently." - m_type = 1 - - if ("twitch_s") - message = "[src] twitches." - m_type = 1 - - if ("nod") - message = "[src] nods." - m_type = 1 - - if ("glare") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] glares at [param]." - else - message = "[src] glares." - - if ("stare") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] stares at [param]." - else - message = "[src] stares." - - if ("look") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - - if (!M) - param = null - - if (param) - message = "[src] looks at [param]." - else - message = "[src] looks." - m_type = 1 - else - src << text("Invalid Emote: []", act) - if ((message && src.stat == 0)) - if (m_type & 1) - for(var/mob/O in viewers(src, null)) - O.show_message(message, m_type) - else - for(var/mob/O in hearers(src, null)) - O.show_message(message, m_type) - return \ No newline at end of file diff --git a/code/unused/hivebot/examine.dm b/code/unused/hivebot/examine.dm deleted file mode 100644 index 2b9f3b3c4b..0000000000 --- a/code/unused/hivebot/examine.dm +++ /dev/null @@ -1,18 +0,0 @@ -/mob/living/silicon/hivebot/examine(mob/user) - ..(user) - - if (src.stat == 2) - user << text("\red [src.name] is powered-down.") - if (src.getBruteLoss()) - if (src.getBruteLoss() < 75) - user << text("\red [src.name] looks slightly dented") - else - user << text("\red [src.name] looks severely dented!") - if (src.getFireLoss()) - if (src.getFireLoss() < 75) - user << text("\red [src.name] looks slightly burnt!") - else - user << text("\red [src.name] looks severely burnt!") - if (src.stat == 1) - user << text("\red [src.name] doesn't seem to be responding.") - return \ No newline at end of file diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm deleted file mode 100644 index 69ffb9d62f..0000000000 --- a/code/unused/hivebot/hive_modules.dm +++ /dev/null @@ -1,57 +0,0 @@ -/obj/item/weapon/hive_module - name = "hive robot module" - icon = 'icons/obj/module.dmi' - icon_state = "std_module" - w_class = 2.0 - item_state = "electronic" - flags = CONDUCT - var/list/modules = list() - -/obj/item/weapon/hive_module/standard - name = "give standard robot module" - -/obj/item/weapon/hive_module/engineering - name = "HiveBot engineering robot module" - -/obj/item/weapon/hive_module/New()//Shit all the mods have - src.modules += new /obj/item/device/flash(src) - - -/obj/item/weapon/hive_module/standard/New() - ..() - src.modules += new /obj/item/weapon/melee/baton(src) - src.modules += new /obj/item/weapon/extinguisher(src) - //var/obj/item/weapon/gun/mp5/M = new /obj/item/weapon/gun/mp5(src) - //M.weapon_lock = 0 - //src.modules += M - - -/obj/item/weapon/hive_module/engineering/New() - - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/weapon/weldingtool(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/device/analyzer(src) - src.modules += new /obj/item/device/flashlight(src) - - var/obj/item/weapon/rcd/R = new /obj/item/weapon/rcd(src) - R.matter = 30 - src.modules += R - - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/weapon/crowbar(src) - src.modules += new /obj/item/weapon/wirecutters(src) - src.modules += new /obj/item/device/multitool(src) - - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src) - M.amount = 50 - src.modules += M - - var/obj/item/stack/sheet/glass/reinforced/G = new (src) - G.amount = 50 - src.modules += G - - var/obj/item/stack/cable_coil/W = new /obj/item/stack/cable_coil(src) - W.amount = 50 - src.modules += W diff --git a/code/unused/hivebot/hivebot.dm b/code/unused/hivebot/hivebot.dm deleted file mode 100644 index ade7dab091..0000000000 --- a/code/unused/hivebot/hivebot.dm +++ /dev/null @@ -1,503 +0,0 @@ -/mob/living/silicon/hivebot/New(loc,mainframe) - src << "\blue Your icons have been generated!" - updateicon() - - if(mainframe) - dependent = 1 - src.real_name = mainframe:name - src.name = src.real_name - else - src.real_name = "Robot [pick(rand(1, 999))]" - src.name = src.real_name - - src.radio = new /obj/item/device/radio(src) - ..() - - -/mob/living/silicon/hivebot/proc/pick_module() - if(src.module) - return - var/mod = input("Please, select a module!", "Robot", null, null) in list("Combat", "Engineering") - if(src.module) - return - switch(mod) - if("Combat") - src.module = new /obj/item/weapon/hive_module/standard(src) - - if("Engineering") - src.module = new /obj/item/weapon/hive_module/engineering(src) - - - src.hands.icon_state = "malf" - updateicon() - - -/mob/living/silicon/hivebot/blob_act() - if (src.stat != 2) - src.adjustBruteLoss(60) - src.updatehealth() - return 1 - return 0 - -/mob/living/silicon/hivebot/Stat() - ..() - statpanel("Status") - if (src.client.statpanel == "Status") - if(emergency_shuttle) - if(emergency_shuttle.has_eta() && !emergency_shuttle.returned()) - var/timeleft = emergency_shuttle.estimate_arrival_time() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") -/* - if(ticker.mode.name == "AI malfunction") - stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]") -*/ - - stat(null, text("Charge Left: [src.energy]/[src.energy_max]")) - -/mob/living/silicon/hivebot/restrained() - return 0 - -/mob/living/silicon/hivebot/ex_act(severity) - if(!blinded) - flick("flash", src.flash) - - if (src.stat == 2 && src.client) - src.gib(1) - return - - else if (src.stat == 2 && !src.client) - del(src) - return - - switch(severity) - if(1.0) - if (src.stat != 2) - adjustBruteLoss(100) - adjustFireLoss(100) - src.gib(1) - return - if(2.0) - if (src.stat != 2) - adjustBruteLoss(60) - adjustFireLoss(60) - if(3.0) - if (src.stat != 2) - adjustBruteLoss(30) - - src.updatehealth() - -/mob/living/silicon/hivebot/meteorhit(obj/O as obj) - for(var/mob/M in viewers(src, null)) - M.show_message(text("\red [src] has been hit by [O]"), 1) - //Foreach goto(19) - if (src.health > 0) - src.adjustBruteLoss(30) - if ((O.icon_state == "flaming")) - src.adjustFireLoss(40) - src.updatehealth() - return - -/mob/living/silicon/hivebot/bullet_act(flag) -/* - if (flag == PROJECTILE_BULLET) - if (src.stat != 2) - src.bruteloss += 60 - src.updatehealth() - - else if (flag == PROJECTILE_MEDBULLET) - if (src.stat != 2) - src.bruteloss += 30 - src.updatehealth() - - else if (flag == PROJECTILE_WEAKBULLET) - if (src.stat != 2) - src.bruteloss += 15 - src.updatehealth() - - else if (flag == PROJECTILE_MPBULLET) - if (src.stat != 2) - src.bruteloss += 20 - src.updatehealth() - - else if (flag == PROJECTILE_SLUG) - if (src.stat != 2) - src.bruteloss += 40 - src.updatehealth() - - else if (flag == PROJECTILE_BAG) - if (src.stat != 2) - src.bruteloss += 2 - src.updatehealth() - - - else if (flag == PROJECTILE_TASER) - return - - else if (flag == PROJECTILE_WAVE) - if (src.stat != 2) - src.bruteloss += 25 - src.updatehealth() - return - - else if(flag == PROJECTILE_LASER) - if (src.stat != 2) - src.bruteloss += 20 - src.updatehealth() - else if(flag == PROJECTILE_PULSE) - if (src.stat != 2) - src.bruteloss += 40 - src.updatehealth() -*/ - return - - - -/mob/living/silicon/hivebot/Bump(atom/movable/AM as mob|obj, yes) - spawn( 0 ) - if ((!( yes ) || src.now_pushing)) - return - src.now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - /*if(istype(tmob, /mob/living/carbon/human) && (FAT in tmob.mutations)) - if(prob(20)) - for(var/mob/M in viewers(src, null)) - if(M.client) - M << M << "\red [src] fails to push [tmob]'s fat ass out of the way." - src.now_pushing = 0 - //src.unlock_medal("That's No Moon, That's A Gourmand!", 1) - return*/ - src.now_pushing = 0 - ..() - if (!istype(AM, /atom/movable)) - return - if (!src.now_pushing) - src.now_pushing = 1 - if (!AM.anchored) - var/t = get_dir(src, AM) - step(AM, t) - src.now_pushing = null - return - return - - -/mob/living/silicon/hivebot/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - if (W:remove_fuel(0)) - src.adjustBruteLoss(-30) - src.updatehealth() - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [user] has fixed some of the dents on [src]!"), 1) - else - user << "Need more welding fuel!" - return - -/mob/living/silicon/hivebot/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - - if (M.a_intent == "grab") - if (M == src) - return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M ) - G.assailant = M - if (M.hand) - M.l_hand = G - else - M.r_hand = G - G.layer = 20 - G.affecting = src - G.synch() - playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has grabbed [] passively!", M, src), 1) - - else if (M.a_intent == "hurt") - var/damage = rand(5, 10) - if (prob(90)) - /* - if (M.class == "combat") - damage += 15 - if(prob(20)) - src.weakened = max(src.weakened,4) - src.stunned = max(src.stunned,4) - */ - playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has slashed at []!", M, src), 1) - if(prob(8)) - flick("noise", src.flash) - src.adjustBruteLoss(damage) - src.updatehealth() - else - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] took a swipe at []!", M, src), 1) - return - - else if (M.a_intent == "disarm") - if(!(src.lying)) - var/randn = rand(1, 100) - if (randn <= 40) - src.stunned = 5 - step(src,get_dir(M,src)) - spawn(5) step(src,get_dir(M,src)) - playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has pushed back []!", M, src), 1) - else - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] attempted to push back []!", M, src), 1) - return - -/mob/living/silicon/hivebot/attack_hand(mob/user) - ..() - return - - -/mob/living/silicon/hivebot/proc/allowed(mob/M) - //check if it doesn't require any access at all - if(src.check_access(null)) - return 1 - return 0 - -/mob/living/silicon/hivebot/proc/check_access(obj/item/weapon/card/id/I) - if(!istype(src.req_access, /list)) //something's very wrong - return 1 - - var/list/L = src.req_access - if(!L.len) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - return 1 - -/mob/living/silicon/hivebot/proc/updateicon() - - src.overlays.Cut() - - if(src.stat == 0) - src.overlays += "eyes" - else - src.overlays -= "eyes" - - -/mob/living/silicon/hivebot/proc/installed_modules() - - if(!src.module) - src.pick_module() - return - var/dat = "Modules\n" - dat += {"Close -
-
- Activated Modules -
- Module 1: [module_state_1 ? "[module_state_1]" : "No Module"]
- Module 2: [module_state_2 ? "
[module_state_2]" : "No Module"]
- Module 3: [module_state_3 ? "
[module_state_3]" : "No Module"]
-
- Installed Modules

"} - - for (var/obj in src.module.modules) - if(src.activated(obj)) - dat += text("[obj]: Activated
") - else - dat += text("[obj]:
Activate
") -/* - if(src.activated(obj)) - dat += text("[obj]: \[Activated | Deactivate\]
") - else - dat += text("[obj]: \[Activate | Deactivated\]
") -*/ - src << browse(dat, "window=robotmod&can_close=0") - - -/mob/living/silicon/hivebot/Topic(href, href_list) - ..() - if (href_list["mach_close"]) - var/t1 = text("window=[href_list["mach_close"]]") - src.machine = null - src << browse(null, t1) - return - - if (href_list["mod"]) - var/obj/item/O = locate(href_list["mod"]) - O.attack_self(src) - - if (href_list["act"]) - var/obj/item/O = locate(href_list["act"]) - if(activated(O)) - src << "Already activated" - return - if(!src.module_state_1) - src.module_state_1 = O - O.layer = 20 - src.contents += O - else if(!src.module_state_2) - src.module_state_2 = O - O.layer = 20 - src.contents += O - else if(!src.module_state_3) - src.module_state_3 = O - O.layer = 20 - src.contents += O - else - src << "You need to disable a module first!" - src.installed_modules() - - if (href_list["deact"]) - var/obj/item/O = locate(href_list["deact"]) - if(activated(O)) - if(src.module_state_1 == O) - src.module_state_1 = null - src.contents -= O - else if(src.module_state_2 == O) - src.module_state_2 = null - src.contents -= O - else if(src.module_state_3 == O) - src.module_state_3 = null - src.contents -= O - else - src << "Module isn't activated." - else - src << "Module isn't activated" - src.installed_modules() - return - -/mob/living/silicon/hivebot/proc/uneq_active() - if(isnull(src.module_active)) - return - if(src.module_state_1 == src.module_active) - if (src.client) - src.client.screen -= module_state_1 - src.contents -= module_state_1 - src.module_active = null - src.module_state_1 = null - src.inv1.icon_state = "inv1" - else if(src.module_state_2 == src.module_active) - if (src.client) - src.client.screen -= module_state_2 - src.contents -= module_state_2 - src.module_active = null - src.module_state_2 = null - src.inv2.icon_state = "inv2" - else if(src.module_state_3 == src.module_active) - if (src.client) - src.client.screen -= module_state_3 - src.contents -= module_state_3 - src.module_active = null - src.module_state_3 = null - src.inv3.icon_state = "inv3" - - -/mob/living/silicon/hivebot/proc/activated(obj/item/O) - if(src.module_state_1 == O) - return 1 - else if(src.module_state_2 == O) - return 1 - else if(src.module_state_3 == O) - return 1 - else - return 0 - -/mob/living/silicon/hivebot/proc/radio_menu() - var/dat = {" - -Microphone: [src.radio.broadcasting ? "Engaged" : "Disengaged"]
-Speaker: [src.radio.listening ? "Engaged" : "Disengaged"]
-Frequency: -- -- -[format_frequency(src.radio.frequency)] -+ -+
-------- -
"} - src << browse(dat, "window=radio") - onclose(src, "radio") - return - - -/mob/living/silicon/hivebot/Move(a, b, flag) - - if (src.buckled) - return - - if (src.restrained()) - src.stop_pulling() - - var/t7 = 1 - if (src.restrained()) - for(var/mob/M in range(src, 1)) - if ((M.pulling == src && M.stat == 0 && !( M.restrained() ))) - t7 = null - if ((t7 && (src.pulling && ((get_dist(src, src.pulling) <= 1 || src.pulling.loc == src.loc) && (src.client && src.client.moving))))) - var/turf/T = src.loc - . = ..() - - if (src.pulling && src.pulling.loc) - if(!( isturf(src.pulling.loc) )) - src.stop_pulling() - return - else - if(Debug) - diary <<"src.pulling disappeared? at [__LINE__] in mob.dm - src.pulling = [src.pulling]" - diary <<"REPORT THIS" - - ///// - if(src.pulling && src.pulling.anchored) - src.stop_pulling() - return - - if (!src.restrained()) - var/diag = get_dir(src, src.pulling) - if ((diag - 1) & diag) - else - diag = null - if ((get_dist(src, src.pulling) > 1 || diag)) - if (ismob(src.pulling)) - var/mob/M = src.pulling - var/ok = 1 - if (locate(/obj/item/weapon/grab, M.grabbed_by)) - if (prob(75)) - var/obj/item/weapon/grab/G = pick(M.grabbed_by) - if (istype(G, /obj/item/weapon/grab)) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [G.affecting] has been pulled from [G.assailant]'s grip by [src]"), 1) - del(G) - else - ok = 0 - if (locate(/obj/item/weapon/grab, M.grabbed_by.len)) - ok = 0 - if (ok) - var/atom/movable/t = M.pulling - M.stop_pulling() - step(src.pulling, get_dir(src.pulling.loc, T)) - M.start_pulling(t) - else - if (src.pulling) - step(src.pulling, get_dir(src.pulling.loc, T)) - else - src.stop_pulling() - . = ..() - if ((src.s_active && !( s_active in src.contents ) )) - src.s_active.close(src) - return - - -/mob/living/silicon/hivebot/verb/cmd_return_mainframe() - set category = "Robot Commands" - set name = "Recall to Mainframe." - return_mainframe() - -/mob/living/silicon/hivebot/proc/return_mainframe() - if(mainframe) - mainframe.return_to(src) - else - src << "\red You lack a dedicated mainframe!" - return \ No newline at end of file diff --git a/code/unused/hivebot/hivebotdefine.dm b/code/unused/hivebot/hivebotdefine.dm deleted file mode 100644 index 902c230471..0000000000 --- a/code/unused/hivebot/hivebotdefine.dm +++ /dev/null @@ -1,46 +0,0 @@ -/mob/living/silicon/hivebot - name = "Robot" - icon = 'icons/mob/hivebot.dmi' - icon_state = "basic" - health = 80 - var/health_max = 80 - robot_talk_understand = 2 - -//HUD - var/obj/screen/cells = null - var/obj/screen/inv1 = null - var/obj/screen/inv2 = null - var/obj/screen/inv3 = null - -//3 Modules can be activated at any one time. - var/obj/item/weapon/robot_module/module = null - var/module_active = null - var/module_state_1 = null - var/module_state_2 = null - var/module_state_3 = null - - var/obj/item/device/radio/radio = null - - var/list/req_access = list(ACCESS_ROBOTICS) - var/energy = 4000 - var/energy_max = 4000 - var/jetpack = 0 - - var/mob/living/silicon/hive_mainframe/mainframe = null - var/dependent = 0 - var/shell = 1 - -/mob/living/silicon/hive_mainframe - name = "Robot Mainframe" - voice_name = "synthesized voice" - - icon_state = "hive_main" - health = 200 - var/health_max = 200 - robot_talk_understand = 2 - - anchored = 1 - var/online = 1 - var/mob/living/silicon/hivebot = null - var/hivebot_name = null - var/force_mind = 0 \ No newline at end of file diff --git a/code/unused/hivebot/hud.dm b/code/unused/hivebot/hud.dm deleted file mode 100644 index 3cc862c65d..0000000000 --- a/code/unused/hivebot/hud.dm +++ /dev/null @@ -1,251 +0,0 @@ - -/obj/hud/proc/hivebot_hud() - - src.adding = list( ) - src.other = list( ) - src.intents = list( ) - src.mon_blo = list( ) - src.m_ints = list( ) - src.mov_int = list( ) - src.vimpaired = list( ) - src.darkMask = list( ) - - src.g_dither = new src.h_type( src ) - src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.g_dither.name = "Mask" - src.g_dither.icon_state = "dither12g" - src.g_dither.layer = 18 - src.g_dither.mouse_opacity = 0 - - src.alien_view = new src.h_type(src) - src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.alien_view.name = "Alien" - src.alien_view.icon_state = "alien" - src.alien_view.layer = 18 - src.alien_view.mouse_opacity = 0 - - src.blurry = new src.h_type( src ) - src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.blurry.name = "Blurry" - src.blurry.icon_state = "blurry" - src.blurry.layer = 17 - src.blurry.mouse_opacity = 0 - - src.druggy = new src.h_type( src ) - src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.druggy.name = "Druggy" - src.druggy.icon_state = "druggy" - src.druggy.layer = 17 - src.druggy.mouse_opacity = 0 - - // station explosion cinematic - src.station_explosion = new src.h_type( src ) - src.station_explosion.icon = 'icons/effects/station_explosion.dmi' - src.station_explosion.icon_state = "start" - src.station_explosion.layer = 20 - src.station_explosion.mouse_opacity = 0 - src.station_explosion.screen_loc = "1,3" - - var/obj/screen/using - - -//Radio - using = new src.h_type( src ) - using.name = "radio" - using.set_dir(SOUTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "radio" - using.screen_loc = ui_movi_old - using.layer = 20 - src.adding += using - -//Generic overlays - - using = new src.h_type(src) //Right hud bar - using.set_dir(SOUTH) - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH" - using.layer = 19 - src.adding += using - - using = new src.h_type(src) //Lower hud bar - using.set_dir(EAST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1" - using.layer = 19 - src.adding += using - - using = new src.h_type(src) //Corner Button - using.set_dir(NORTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "EAST+1,SOUTH-1" - using.layer = 19 - src.adding += using - - -//Module select - - using = new src.h_type( src ) - using.name = "module1" - using.set_dir(SOUTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv1" - using.screen_loc = ui_inv1 - using.layer = 20 - src.adding += using - mymob:inv1 = using - - using = new src.h_type( src ) - using.name = "module2" - using.set_dir(SOUTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv2" - using.screen_loc = ui_inv2 - using.layer = 20 - src.adding += using - mymob:inv2 = using - - using = new src.h_type( src ) - using.name = "module3" - using.set_dir(SOUTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv3" - using.screen_loc = ui_inv3 - using.layer = 20 - src.adding += using - mymob:inv3 = using - -//End of module select - -//Intent - using = new src.h_type( src ) - using.name = "act_intent" - using.set_dir(SOUTHWEST) - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent) - using.screen_loc = ui_acti - using.layer = 20 - src.adding += using - action_intent = using - - using = new src.h_type( src ) - using.name = "arrowleft" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "s_arrow" - using.set_dir(WEST) - using.screen_loc = ui_iarrowleft - using.layer = 19 - src.adding += using - - using = new src.h_type( src ) - using.name = "arrowright" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "s_arrow" - using.set_dir(EAST) - using.screen_loc = ui_iarrowright - using.layer = 19 - src.adding += using -//End of Intent - -//Cell - mymob:cells = new /obj/screen( null ) - mymob:cells.icon = 'icons/mob/screen1_robot.dmi' - mymob:cells.icon_state = "charge-empty" - mymob:cells.name = "cell" - mymob:cells.screen_loc = ui_toxin - -//Health - mymob.healths = new /obj/screen( null ) - mymob.healths.icon = 'icons/mob/screen1_robot.dmi' - mymob.healths.icon_state = "health0" - mymob.healths.name = "health" - mymob.healths.screen_loc = ui_health - -//Installed Module - mymob.hands = new /obj/screen( null ) - mymob.hands.icon = 'icons/mob/screen1_robot.dmi' - mymob.hands.icon_state = "nomod" - mymob.hands.name = "module" - mymob.hands.screen_loc = ui_dropbutton - -//Module Panel - using = new src.h_type( src ) - using.name = "panel" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "panel" - using.screen_loc = ui_throw - using.layer = 19 - src.adding += using - -//Store - mymob.throw_icon = new /obj/screen(null) - mymob.throw_icon.icon = 'icons/mob/screen1_robot.dmi' - mymob.throw_icon.icon_state = "store" - mymob.throw_icon.name = "store" - mymob.throw_icon.screen_loc = ui_hand - -//Temp - mymob.bodytemp = new /obj/screen( null ) - mymob.bodytemp.icon_state = "temp0" - mymob.bodytemp.name = "body temperature" - mymob.bodytemp.screen_loc = ui_temp - -//does nothing (fire and oxy) - mymob.oxygen = new /obj/screen( null ) - mymob.oxygen.icon = 'icons/mob/screen1_robot.dmi' - mymob.oxygen.icon_state = "oxy0" - mymob.oxygen.name = "oxygen" - mymob.oxygen.screen_loc = ui_oxygen - - mymob.fire = new /obj/screen( null ) - mymob.fire.icon = 'icons/mob/screen1_robot.dmi' - mymob.fire.icon_state = "fire0" - mymob.fire.name = "fire" - mymob.fire.screen_loc = ui_fire - - - - mymob.pullin = new /obj/screen( null ) - mymob.pullin.icon = 'icons/mob/screen1_robot.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" - mymob.pullin.screen_loc = ui_pull - - mymob.blind = new /obj/screen( null ) - mymob.blind.icon = 'icons/mob/screen1_full.dmi'' - mymob.blind.icon_state = "blackimageoverlay" - mymob.blind.name = " " - mymob.blind.screen_loc = "1,1" - mymob.blind.layer = 0 - mymob.blind.mouse_opacity = 0 - - mymob.flash = new /obj/screen( null ) - mymob.flash.icon = 'icons/mob/screen1_robot.dmi' - mymob.flash.icon_state = "blank" - mymob.flash.name = "flash" - mymob.flash.screen_loc = "1,1 to 15,15" - mymob.flash.layer = 17 - - mymob.sleep = new /obj/screen( null ) - mymob.sleep.icon = 'icons/mob/screen1_robot.dmi' - mymob.sleep.icon_state = "sleep0" - mymob.sleep.name = "sleep" - mymob.sleep.screen_loc = ui_sleep - - mymob.rest = new /obj/screen( null ) - mymob.rest.icon = 'icons/mob/screen1_robot.dmi' - mymob.rest.icon_state = "rest0" - mymob.rest.name = "rest" - mymob.rest.screen_loc = ui_rest - - - mymob.zone_sel = new /obj/screen/zone_sel( null ) - mymob.zone_sel.overlays.Cut() - mymob.zone_sel.overlays += image("icon" = 'icons/mob/zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting)) - - mymob.client.screen = null - - mymob.client.screen += list(mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach ) - mymob.client.screen += src.adding + src.other - - return diff --git a/code/unused/hivebot/life.dm b/code/unused/hivebot/life.dm deleted file mode 100644 index 362328cb4d..0000000000 --- a/code/unused/hivebot/life.dm +++ /dev/null @@ -1,227 +0,0 @@ -/mob/living/silicon/hivebot/Life() - set invisibility = 0 - set background = 1 - - if (src.monkeyizing) - return - - if (src.stat != 2) - use_power() - - src.blinded = null - - clamp_values() - - handle_regular_status_updates() - - if(client) - src.shell = 0 - handle_regular_hud_updates() - update_items() - if(dependent) - mainframe_check() - - update_canmove() - - -/mob/living/silicon/hivebot - proc - clamp_values() - - stunned = max(min(stunned, 10),0) - paralysis = max(min(paralysis, 1), 0) - weakened = max(min(weakened, 15), 0) - sleeping = max(min(sleeping, 1), 0) - setToxLoss(0) - setOxyLoss(0) - - use_power() - - if (src.energy) - if(src.energy <= 0) - death() - - else if (src.energy <= 10) - src.module_active = null - src.module_state_1 = null - src.module_state_2 = null - src.module_state_3 = null - src.energy -=1 - else - if(src.module_state_1) - src.energy -=1 - if(src.module_state_2) - src.energy -=1 - if(src.module_state_3) - src.energy -=1 - src.energy -=1 - src.blinded = 0 - src.stat = 0 - else - src.blinded = 1 - src.stat = 1 - - update_canmove() - if(paralysis || stunned || weakened || buckled) canmove = 0 - else canmove = 1 - - - handle_regular_status_updates() - - health = src.health_max - (getFireLoss() + getBruteLoss()) - - if(health <= 0) - death() - - if (src.stat != 2) //Alive. - - if (src.paralysis || src.stunned || src.weakened) //Stunned etc. - if (src.stunned > 0) - src.stunned-- - src.stat = 0 - if (src.weakened > 0) - src.weakened-- - src.lying = 0 - src.stat = 0 - if (src.paralysis > 0) - src.paralysis-- - src.blinded = 0 - src.lying = 0 - src.stat = 1 - - else //Not stunned. - src.lying = 0 - src.stat = 0 - - else //Dead. - src.blinded = 1 - src.stat = 2 - - src.density = !( src.lying ) - - if ((src.sdisabilities & 1)) - src.blinded = 1 - if ((src.sdisabilities & 4)) - src.ear_deaf = 1 - - if (src.eye_blurry > 0) - src.eye_blurry-- - src.eye_blurry = max(0, src.eye_blurry) - - if (src.druggy > 0) - src.druggy-- - src.druggy = max(0, src.druggy) - - return 1 - - handle_regular_hud_updates() - - if (src.stat == 2 || XRAY in src.mutations) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - else if (src.stat != 2) - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - - if (src.healths) - if (src.stat != 2) - switch(health) - if(health_max to INFINITY) - src.healths.icon_state = "health0" - if(src.health_max*0.80 to src.health_max) - src.healths.icon_state = "health1" - if(src.health_max*0.60 to src.health_max*0.80) - src.healths.icon_state = "health2" - if(src.health_max*0.40 to src.health_max*0.60) - src.healths.icon_state = "health3" - if(src.health_max*0.20 to src.health_max*0.40) - src.healths.icon_state = "health4" - if(0 to health_max*0.20) - src.healths.icon_state = "health5" - else - src.healths.icon_state = "health6" - else - src.healths.icon_state = "health7" - - if (src.cells) - switch(src.energy) - if(src.energy_max*0.75 to INFINITY) - src.cells.icon_state = "charge4" - if(0.5*src.energy_max to 0.75*src.energy_max) - src.cells.icon_state = "charge3" - if(0.25*src.energy_max to 0.5*src.energy_max) - src.cells.icon_state = "charge2" - if(0 to 0.25*src.energy_max) - src.cells.icon_state = "charge1" - else - src.cells.icon_state = "charge0" - - switch(src.bodytemperature) //310.055 optimal body temp - - if(335 to INFINITY) - src.bodytemp.icon_state = "temp2" - if(320 to 335) - src.bodytemp.icon_state = "temp1" - if(300 to 320) - src.bodytemp.icon_state = "temp0" - if(260 to 300) - src.bodytemp.icon_state = "temp-1" - else - src.bodytemp.icon_state = "temp-2" - - - if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" - - src.client.screen -= src.hud_used.blurry - src.client.screen -= src.hud_used.druggy - src.client.screen -= src.hud_used.vimpaired - - if ((src.blind && src.stat != 2)) - if ((src.blinded)) - src.blind.layer = 18 - else - src.blind.layer = 0 - - if (src.disabilities & 1) - src.client.screen += src.hud_used.vimpaired - - if (src.eye_blurry) - src.client.screen += src.hud_used.blurry - - if (src.druggy) - src.client.screen += src.hud_used.druggy - - if (src.stat != 2) - if (src.machine) - if (!( src.machine.check_eye(src) )) - src.reset_view(null) - else - if(!client.adminobs) - reset_view(null) - - return 1 - - - update_items() - if (src.client) - src.client.screen -= src.contents - src.client.screen += src.contents - if(src.module_state_1) - src.module_state_1:screen_loc = ui_inv1 - if(src.module_state_2) - src.module_state_2:screen_loc = ui_inv2 - if(src.module_state_3) - src.module_state_3:screen_loc = ui_inv3 - - mainframe_check() - if(mainframe) - if(mainframe.stat == 2) - mainframe.return_to(src) - else - death() \ No newline at end of file diff --git a/code/unused/hivebot/login.dm b/code/unused/hivebot/login.dm deleted file mode 100644 index 3a811b4c8a..0000000000 --- a/code/unused/hivebot/login.dm +++ /dev/null @@ -1,15 +0,0 @@ -/mob/living/silicon/hivebot/Login() - ..() - - update_clothing() - - if (!isturf(src.loc)) - src.client.eye = src.loc - src.client.perspective = EYE_PERSPECTIVE - if (src.stat == 2) - src.verbs += /client/proc/ghost - if(src.real_name == "Hiveborg") - src.real_name += " " - src.real_name += "-[rand(1, 999)]" - src.name = src.real_name - return \ No newline at end of file diff --git a/code/unused/hivebot/mainframe.dm b/code/unused/hivebot/mainframe.dm deleted file mode 100644 index 6e07b5b457..0000000000 --- a/code/unused/hivebot/mainframe.dm +++ /dev/null @@ -1,181 +0,0 @@ -/mob/living/silicon/hive_mainframe/New() - Namepick() - -/mob/living/silicon/hive_mainframe/Life() - if (src.stat == 2) - return - else - src.updatehealth() - - if (src.health <= 0) - death() - return - - if(src.force_mind) - if(!src.mind) - if(src.client) - src.mind = new - src.mind.key = src.key - src.mind.current = src - src.force_mind = 0 - -/mob/living/silicon/hive_mainframe/Stat() - ..() - statpanel("Status") - if (src.client.statpanel == "Status") - if(emergency_shuttle) - if(emergency_shuttle.has_eta() && !emergency_shuttle.returned()) - var/timeleft = emergency_shuttle.estimate_arrival_time() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") -/* - if(ticker.mode.name == "AI malfunction") - stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]") -*/ - -/mob/living/silicon/hive_mainframe/updatehealth() - if (src.nodamage == 0) - src.health = 100 - src.getFireLoss() - src.getBruteLoss() - else - src.health = 100 - src.stat = 0 - -/mob/living/silicon/hive_mainframe/death(gibbed) - src.stat = 2 - src.canmove = 0 - if(src.blind) - src.blind.layer = 0 - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - src.lying = 1 - src.icon_state = "hive_main-crash" - - var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch - mind.store_memory("Time of death: [tod]", 0) - - if (src.key) - spawn(50) - if(src.key && src.stat == 2) - src.verbs += /client/proc/ghost - return ..(gibbed) - - -/mob/living/silicon/hive_mainframe/say_understands(var/other) - //These only pertain to common. Languages are handled by mob/say_understands() - if (!speaking) - if (istype(other, /mob/living/carbon/human)) - return 1 - if (istype(other, /mob/living/silicon/robot)) - return 1 - if (istype(other, /mob/living/silicon/hivebot)) - return 1 - if (istype(other, /mob/living/silicon/ai)) - return 1 - return ..() - -/mob/living/silicon/hive_mainframe/say_quote(var/text) - var/ending = copytext(text, length(text)) - - if (ending == "?") - return "queries, \"[text]\""; - else if (ending == "!") - return "declares, \"[copytext(text, 1, length(text))]\""; - - return "states, \"[text]\""; - - -/mob/living/silicon/hive_mainframe/proc/return_to(var/mob/user) - if(user.mind) - user.mind.transfer_to(src) - spawn(20) - user:shell = 1 - user:real_name = "Robot [pick(rand(1, 999))]" - user:name = user:real_name - - - return - -/mob/living/silicon/hive_mainframe/verb/cmd_deploy_to() - set category = "Mainframe Commands" - set name = "Deploy to shell." - deploy_to() - -/mob/living/silicon/hive_mainframe/verb/deploy_to() - - if(usr.stat == 2) - usr << "You can't deploy because you are dead!" - return - - var/list/bodies = new/list() - - for(var/mob/living/silicon/hivebot/H in mob_list) - if(H.z == src.z) - if(H.shell) - if(!H.stat) - bodies += H - - var/target_shell = input(usr, "Which body to control?") as null|anything in bodies - - if (!target_shell) - return - - else if(src.mind) - spawn(30) - target_shell:mainframe = src - target_shell:dependent = 1 - target_shell:real_name = src.name - target_shell:name = target_shell:real_name - src.mind.transfer_to(target_shell) - return - - -/client/proc/MainframeMove(n,direct,var/mob/living/silicon/hive_mainframe/user) - return -/obj/hud/proc/hive_mainframe_hud() - return - - - - - -/mob/living/silicon/hive_mainframe/Login() - ..() - update_clothing() - for(var/S in src.client.screen) - del(S) - src.flash = new /obj/screen( null ) - src.flash.icon_state = "blank" - src.flash.name = "flash" - src.flash.screen_loc = "1,1 to 15,15" - src.flash.layer = 17 - src.blind = new /obj/screen( null ) - src.blind.icon_state = "black" - src.blind.name = " " - src.blind.screen_loc = "1,1 to 15,15" - src.blind.layer = 0 - src.client.screen += list( src.blind, src.flash ) - if(!isturf(src.loc)) - src.client.eye = src.loc - src.client.perspective = EYE_PERSPECTIVE - if (src.stat == 2) - src.verbs += /client/proc/ghost - return - - - -/mob/living/silicon/hive_mainframe/proc/Namepick() - var/randomname = pick(ai_names) - var/newname = input(src,"You are the a Mainframe Unit. Would you like to change your name to something else?", "Name change",randomname) - - if (length(newname) == 0) - newname = randomname - - if (newname) - if (length(newname) >= 26) - newname = copytext(newname, 1, 26) - newname = replacetext(newname, ">", "'") - src.real_name = newname - src.name = newname \ No newline at end of file diff --git a/code/unused/jobs.dm b/code/unused/jobs.dm deleted file mode 100644 index e56a7e54f6..0000000000 --- a/code/unused/jobs.dm +++ /dev/null @@ -1,291 +0,0 @@ -//WORK IN PROGRESS CONTENT - -//Project coder: Errorage - -//Readme: As part of the UI upgrade project, the intention here is for each job to have -//somewhat customizable loadouts. Players will be able to pick between jumpsuits, shoes, -//and other items. This datum will be used for all jobs and code will reference it. -//adding new jobs will be a matter of adding this datum.to a list of jobs. - -#define VITAL_PRIORITY_JOB 5 -#define HIGH_PRIORITY_JOB 4 -#define PRIORITY_JOB 3 -#define LOW_PRIORITY_JOB 2 -#define ASSISTANT_PRIORITY_JOB 1 -#define NO_PRIORITY_JOB 0 - -/datum/job - //Basic information - var/title = "Untitled" //The main (default) job title/name - var/list/alternative_titles = list() //Alternative job titles/names (alias) - var/job_number_at_round_start = 0 //Number of jobs that can be assigned at round start - var/job_number_total = 0 //Number of jobs that can be assigned total - var/list/bosses = list() //List of jobs which have authority over this job by default. - var/admin_only = 0 //If this is set to 1, the job is not available on the spawn screen - var/description = "" //A description of the job to be displayed when requested on the spawn screen - var/guides = "" //A string with links to relevent guides (likely the wiki) - var/department = "" //This is used to group jobs into departments, which means that if you don't get your desired jobs, you get another job from the same department - var/job_type = "SS13" //SS13, NT or ANTAGONIST - var/can_be_traitor = 1 - var/can_be_changeling = 1 - var/can_be_wizard = 1 - var/can_be_cultist = 1 - var/can_be_rev_head = 1 - var/is_head_position = 0 - - //Job conditions - var/change_to_mob = "Human" //The type of mob which this job will change you to (alien,cyborg,human...) - var/change_to_mutantrace = "" //What mutantrace you will be once you get this job - - //Random job assignment priority - var/assignment_priority = NO_PRIORITY_JOB //This variable determins the priority of assignment - //VITAL_PRIORITY_JOB = Absolutely vital (Someone will get assigned every round) - Use VERY, VERY lightly - //HIGH_PRIORITY_JOB = High priority - Assibned before the other jobs, candidates compete on equal terms - //PRIORITY_JOB = Priorized (Standard priority) - Candidates compete by virtue of priority (choice 1 > choice 2 > choice 3...) - //LOW_PRIORITY_JOB = Low priority (Low-priority (librarian)) - //ASSISTANT_PRIORITY_JOB = Assistant-level (Only filled when all the other jobs have been assigned) - //NO_PRIORITY_JOB = Skipped om assignment (Admin-only jobs should have this level) - - - - //Available equipment - The first thing listed is understood as the default setup. - var/list/equipment_ears = list() //list of possible ear-wear items - var/list/equipment_glasses = list() //list of possible glasses - var/list/equipment_gloves = list() //list of possible gloves - var/list/equipment_head = list() //list of possible headgear/helmets/hats - var/list/equipment_mask = list() //list of possible masks - var/list/equipment_shoes = list() //list of possible shoes - var/list/equipment_suit = list() //list of possible suits - var/list/equipment_under = list() //list of possible jumpsuits - var/list/equipment_belt = list() //list of possible belt-slot items - var/list/equipment_back = list() //list of possible back-slot items - var/obj/equipment_pda //default pda type - var/obj/equipment_id //default id type - - New(var/param_title, var/list/param_alternative_titles = list(), var/param_jobs_at_round_start = 0, var/param_global_max = 0, var/list/param_bosses = list(), var/param_admin_only = 0) - title = param_title - alternative_titles = param_alternative_titles - job_number_at_round_start = param_jobs_at_round_start - job_number_total = param_global_max - bosses = param_bosses - admin_only = param_admin_only - - //This proc tests to see if the given alias (job title/alternative job title) corresponds to this job. - //Returns 1 if it is, else returns 0 - proc/is_job_alias(var/alias) - if(alias == title) - return 1 - if(alias in alternative_titles) - return 1 - return 0 - -/datum/jobs - var/list/datum/job/all_jobs = list() - - proc/get_all_jobs() - return all_jobs - - //This proc returns all the jobs which are NOT admin only - proc/get_normal_jobs() - var/list/datum/job/normal_jobs = list() - for(var/datum/job/J in all_jobs) - if(!J.admin_only) - normal_jobs += J - return normal_jobs - - //This proc returns all the jobs which are admin only - proc/get_admin_jobs() - var/list/datum/job/admin_jobs = list() - for(var/datum/job/J in all_jobs) - if(J.admin_only) - admin_jobs += J - return admin_jobs - - //This proc returns the job datum of the job with the alias or job title given as the argument. Returns an empty string otherwise. - proc/get_job(var/alias) - for(var/datum/job/J in all_jobs) - if(J.is_job_alias(alias)) - return J - return "" - - //This proc returns a string with the default job title for the job with the given alias. Returns an empty string otherwise. - proc/get_job_title(var/alias) - for(var/datum/job/J in all_jobs) - if(J.is_job_alias(alias)) - return J.title - return "" - - //This proc returns all the job datums of the workers whose boss has the alias provided. (IE Engineer under Chief Engineer, etc.) - proc/get_jobs_under(var/boss_alias) - var/boss_title = get_job_title(boss_alias) - var/list/datum/job/employees = list() - for(var/datum/job/J in all_jobs) - if(boss_title in J.bosses) - employees += J - return employees - - //This proc returns the chosen vital and high priority jobs that the person selected. It goes from top to bottom of the list, until it finds a job which does not have such priority. - //Example: Choosing (in this order): CE, Captain, Engineer, RD will only return CE and Captain, as RD is assumed as being an unwanted choice. - //This proc is used in the allocation algorithm when deciding vital and high priority jobs. - proc/get_prefered_high_priority_jobs() - var/list/datum/job/hp_jobs = list() - for(var/datum/job/J in all_jobs) - if(J.assignment_priority == HIGH_PRIORITY_JOB || J.assignment_priority == VITAL_PRIORITY_JOB) - hp_jobs += J - else - break - return hp_jobs - - //If only priority is given, it will return the jobs of only that priority, if end_priority is set it will return the jobs with their priority higher or equal to var/priority and lower or equal to end_priority. end_priority must be higher than 0. - proc/get_jobs_by_priority(var/priority, var/end_priority = 0) - var/list/datum/job/priority_jobs = list() - if(end_priority) - if(end_priority < priority) - return - for(var/datum/job/J in all_jobs) - if(J.assignment_priority >= priority && J.assignment_priority <= end_priority) - priority_jobs += J - else - for(var/datum/job/J in all_jobs) - if(J.assignment_priority == priority) - priority_jobs += J - return priority_jobs - -//This datum is used in the plb allocation algorithm to make life easier, not used anywhere else. -/datum/player_jobs - var/mob/new_player/player - var/datum/jobs/selected_jobs - -var/datum/jobs/jobs = new/datum/jobs() - -proc/setup_jobs() - var/datum/job/JOB - - JOB = new/datum/job("Station Engineer") - JOB.alternative_titles = list("Structural Engineer","Engineer","Student of Engineering") - JOB.job_number_at_round_start = 5 - JOB.job_number_total = 5 - JOB.bosses = list("Chief Engineer") - JOB.admin_only = 0 - JOB.description = "Engineers are tasked with the maintenance of the station. Be it maintaining the power grid or rebuilding damaged sections." - JOB.guides = "" - JOB.equipment_ears = list(/obj/item/device/radio/headset/headset_eng) - JOB.equipment_glasses = list() - JOB.equipment_gloves = list() - JOB.equipment_head = list(/obj/item/clothing/head/helmet/hardhat) - JOB.equipment_mask = list() - JOB.equipment_shoes = list(/obj/item/clothing/shoes/orange,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/black) - JOB.equipment_suit = list(/obj/item/clothing/suit/storage/hazardvest) - JOB.equipment_under = list(/obj/item/clothing/under/rank/engineer,/obj/item/clothing/under/color/yellow) - JOB.equipment_belt = list(/obj/item/weapon/storage/belt/utility/full) - JOB.equipment_back = list(/obj/item/weapon/storage/backpack/industrial,/obj/item/weapon/storage/backpack) - JOB.equipment_pda = /obj/item/device/pda/engineering - JOB.equipment_id = /obj/item/weapon/card/id - - jobs.all_jobs += JOB - -//This proc will dress the mob (employee) in the default way for the specified job title/job alias -proc/dress_for_job_default(var/mob/living/carbon/human/employee as mob, var/job_alias) - if(!ishuman(employee)) - return - - //TODO ERRORAGE - UNFINISHED - var/datum/job/JOB = jobs.get_job(job_alias) - if(JOB) - var/item = JOB.equipment_ears[1] - employee.equip_to_slot_or_del(new item(employee), employee.slot_ears) - item = JOB.equipment_under[1] - employee.equip_to_slot_or_del(new item(employee), employee.slot_w_uniform) - - - /* - src.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial (src), slot_back) - src.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack) - src.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng (src), slot_ears) // -- TLE - src.equip_to_slot_or_del(new /obj/item/device/pda/engineering(src), slot_belt) - src.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform) - src.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(src), slot_shoes) - src.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/hardhat(src), slot_head) - src.equip_to_slot_or_del(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage - //src.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), slot_gloves) removed as part of Dangercon 2011, approved by Urist_McDorf --Errorage - src.equip_to_slot_or_del(new /obj/item/device/t_scanner(src), slot_r_store) - */ - - -//This algorithm works in 5 steps: -//1: Assignment of wizard / nuke members (if appropriate game mode) -//2: Assignment of jobs based on preferenes -// 2.1: Assignment of vital and high priority jobs. Candidates compete on equal terms. If the vital jobs are not filled, a random candidate is chosen to fill them, -// 2.2: Assignment of the rest of the jobs based on player preference, -//3: Assignment of remaining jobs for remaining players based on chosen departments -//4: Random assignment of remaining jobs for remaining players based on assignment priority -//5: Assignment of traitor / changeling to assigned roles (if appropriate game mode) -proc/assignment_algorithm(var/list/mob/new_player/players) - for(var/mob/new_player/PLAYER in players) - if(!PLAYER.client) - players -= PLAYER - continue - if(!PLAYER.ready) - players -= PLAYER - continue - - var/list/datum/job/vital_jobs = list() - var/list/datum/job/high_priority_jobs = list() - var/list/datum/job/priority_jobs = list() - var/list/datum/job/low_priority_jobs = list() - var/list/datum/job/assistant_jobs = list() - var/list/datum/job/not_assigned_jobs = list() - - for(var/datum/job/J in jobs) - switch(J.assignment_priority) - if(5) - vital_jobs += J - if(4) - high_priority_jobs += J - if(3) - priority_jobs += J - if(2) - low_priority_jobs += J - if(1) - assistant_jobs += J - if(0) - not_assigned_jobs += J - - var/list/datum/player_jobs/player_jobs = list() //This datum only holds a mob/new_player and a datum/jobs. The first is the player, the 2nd is the player's selected jobs, from the preferences datum. - - for(var/mob/new_player/NP in players) - var/datum/player_jobs/PJ = new/datum/player_jobs - PJ.player = NP - PJ.selected_jobs = NP.preferences.wanted_jobs - player_jobs += PJ - - //At this point we have the player_jobs list filled. Next up we have to assign all vital and high priority positions. - - var/list/datum/job/hp_jobs = jobs.get_jobs_by_priority( HIGH_PRIORITY_JOB, VITAL_PRIORITY_JOB ) - - for(var/datum/job/J in hp_jobs) - var/list/mob/new_player/candidates = list() - for(var/datum/player_jobs/PJ in player_jobs) - if(J in PJ.selected_jobs) - candidates += PJ.player - var/mob/new_player/chosen_player - if(candidates) - chosen_player = pick(candidates) - else - if(J.assignment_priority == VITAL_PRIORITY_JOB) - if(players) //Just in case there are more vital jobs than there are players. - chosen_player = pick(players) - if(chosen_player) - chosen_player.mind.assigned_job = J - players -= chosen_player - //TODO ERRORAGE - add capability for hp jobs with more than one slots. - - - - - //1: vital and high priority jobs, assigned on equal terms - - //TODO ERRORAGE - UNFINISHED - - -//END OF WORK IN PROGRESS CONTENT diff --git a/code/unused/mining/datum_processing_recipe.dm b/code/unused/mining/datum_processing_recipe.dm deleted file mode 100644 index 656e38f0ad..0000000000 --- a/code/unused/mining/datum_processing_recipe.dm +++ /dev/null @@ -1,22 +0,0 @@ -/**********************Ore to material recipes datum**************************/ - -var/list/AVAILABLE_ORES = typesof(/obj/item/weapon/ore) - -/datum/material_recipe - var/name - var/list/obj/item/weapon/ore/recipe - var/obj/prod_type //produced material/object type - - New(var/param_name, var/param_recipe, var/param_prod_type) - name = param_name - recipe = param_recipe - prod_type = param_prod_type - -var/list/datum/material_recipe/MATERIAL_RECIPES = list( - new/datum/material_recipe("Metal",list(/obj/item/weapon/ore/iron),/obj/item/stack/sheet/metal), - new/datum/material_recipe("Glass",list(/obj/item/weapon/ore/glass),/obj/item/stack/sheet/glass), - new/datum/material_recipe("Gold",list(/obj/item/weapon/ore/gold),/obj/item/stack/sheet/mineral/gold), - new/datum/material_recipe("Silver",list(/obj/item/weapon/ore/silver),/obj/item/stack/sheet/mineral/silver), - new/datum/material_recipe("Diamond",list(/obj/item/weapon/ore/diamond),/obj/item/stack/sheet/mineral/diamond), - new/datum/material_recipe("Phoron",list(/obj/item/weapon/ore/phoron),/obj/item/stack/sheet/mineral/phoron), - ) \ No newline at end of file diff --git a/code/unused/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm deleted file mode 100644 index 564e3a1f71..0000000000 --- a/code/unused/mining/machine_craftlathe_unused.dm +++ /dev/null @@ -1,233 +0,0 @@ -/*********************NEW AUTOLATHE / CRAFT LATHE***********************/ - -var/list/datum/craftlathe_item/CRAFT_ITEMS = list() -var/CRAFT_ITEMS_SETUP = 1 //this should probably be a pre-game thing, but i'll do it so the first lathe2 that's created will set-up the recipes. - -proc/check_craftlathe_recipe(var/list/param_recipe) - if(param_recipe.len != 9) - return - var/i - var/match = 0 //this one counts if there is at least one non-"" ingredient. - for(var/datum/craftlathe_item/CI in CRAFT_ITEMS) - match = 0 - for(i = 1; i <= 9; i++) - if(CI.recipe[i] != param_recipe[i]) - match = 0 //use this so it passes by the match > 0 check below, otherwise i'd need a new variable to tell the return CI below that the check failed - break - if(CI.recipe[i] != "") - match++ - if(match > 0) - return CI - return 0 - -/datum/craftlathe_item - var/id = "" //must be unique for each item type. used to create recipes - var/name = "unknown" //what the lathe will show as it's contents - var/list/recipe = list("","","","","","","","","") //the 9 items here represent what items need to be placed in the lathe to produce this item. - var/item_type = null //this is used on items like sheets which are added when inserted into the lathe. - var/amount = 1 - var/amount_attackby = 1 - -/datum/craftlathe_item/New(var/param_id,var/param_name,var/param_amount,var/param_ammount_per_attackby,var/list/param_recipe,var/param_type = null) - ..() - id = param_id - name = param_name - recipe = param_recipe - item_type = param_type - amount = param_amount; - amount_attackby = param_ammount_per_attackby - return - -//this proc checks the recipe you give in it's parameter with the entire list of available items. If any match, it returns the item from CRAFT_ITEMS. the returned item should not be changed!! - -/obj/machinery/autolathe2 - name = "Craft lathe" - icon_state = "autolathe" - density = 1 - anchored = 1 - var/datum/craftlathe_item/selected = null - var/datum/craftlathe_item/make = null - var/list/datum/craftlathe_item/craft_contents = list() - var/list/current_recipe = list("","","","","","","","","") - -/obj/machinery/autolathe2/New() - ..() - if(CRAFT_ITEMS_SETUP) - CRAFT_ITEMS_SETUP = 0 - build_recipes() - return - -/obj/machinery/autolathe2/attack_hand(mob/user as mob) - var/dat - dat = text("

Craft Lathe

") - dat += text("
") - - dat += text("Materials

") - var/datum/craftlathe_item/CI - var/i - for(i = 1; i <= craft_contents.len; i++) - CI = craft_contents[i] - if (CI == selected) - dat += text("[CI.name] ([CI.amount])
") - else - dat += text("[CI.name] ([CI.amount])
") - - dat += text("

") - - dat += text("Crafting Table

") - - dat += text(" ") - - var/j = 0 - var/k = 0 - for (i = 0; i < 3; i++) - dat += text(" ") - for (j = 1; j <= 3; j++) - k = i * 3 + j - if (current_recipe[k]) - dat += text(" ") - else - dat += text(" ") - dat += text(" ") - dat += text("
[current_recipe[k]]----
") - - dat += text("

") - dat += text("Will make: ") - if (make) - dat += text("[make.name]") - else - dat += text("nothing useful") - - dat += text("

") - user << browse("[dat]", "window=craft") - -/obj/machinery/autolathe2/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["remove"]) - var/n = text2num(href_list["remove"]) - if(!n || n < 1 || n > 9) - return - current_recipe[n] = "" - if(href_list["select"]) - var/n = text2num(href_list["select"]) - if(!n || n < 1 || n > 9) - return - selected = craft_contents[n] - if(href_list["add"]) - var/n = text2num(href_list["add"]) - if(!n || n < 1 || n > 9) - return - if(selected) - current_recipe[n] = selected.id - if(href_list["make"]) - var/datum/craftlathe_item/MAKE = check_craftlathe_recipe(src.current_recipe) - if(MAKE) - for (var/datum/craftlathe_item/CI2 in craft_contents) - if(CI2.id == MAKE.id) - CI2.amount += CI2.amount_attackby - src.updateUsrDialog() - return - craft_contents += new/datum/craftlathe_item(MAKE.id,MAKE.name,MAKE.amount,MAKE.amount_attackby,MAKE.recipe,MAKE.item_type) - var/datum/craftlathe_item/CI = check_craftlathe_recipe(src.current_recipe) - if(CI) - make = CI - else - make = null - src.updateUsrDialog() - - - -/obj/machinery/autolathe2/attackby(obj/item/weapon/W as obj, mob/user as mob) - usr.machine = src - src.add_fingerprint(usr) - for (var/datum/craftlathe_item/CI in CRAFT_ITEMS) - if(W.type == CI.item_type) - for (var/datum/craftlathe_item/CI2 in craft_contents) - if(CI2.item_type == W.type) - CI2.amount += CI2.amount_attackby - rmv_item(W) - return - craft_contents += new/datum/craftlathe_item(CI.id,CI.name,CI.amount,CI.amount_attackby,CI.recipe,CI.item_type) - rmv_item(W) - return - src.updateUsrDialog() - return - -/obj/machinery/autolathe2/proc/rmv_item(obj/item/W as obj) - if(istype(W,/obj/item/stack)) - var/obj/item/stack/S = W - S.amount-- - if (S.amount <= 0) - del(S) - else - del(W) - -/obj/machinery/autolathe2/proc/build_recipes() - //Parameters: ID, Name, Amount, Amount_added_per_attackby, Recipe, Object type - CRAFT_ITEMS += new/datum/craftlathe_item("METAL","Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/metal) - CRAFT_ITEMS += new/datum/craftlathe_item("R METAL","Reinforced Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/r_metal) - CRAFT_ITEMS += new/datum/craftlathe_item("GLASS","Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass) - CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass/reinforced) - CRAFT_ITEMS += new/datum/craftlathe_item("GOLD","Gold",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/gold) - CRAFT_ITEMS += new/datum/craftlathe_item("SILVER","Silver",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/silver) - CRAFT_ITEMS += new/datum/craftlathe_item("DIAMOND","Diamond",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/diamond) - CRAFT_ITEMS += new/datum/craftlathe_item("PLASMA","Plasma",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/plasma) - CRAFT_ITEMS += new/datum/craftlathe_item("URANIUM","Uranium",1,1,list("","","","","","","","",""),/obj/item/weapon/ore/mineral/uranium) - CRAFT_ITEMS += new/datum/craftlathe_item("SCREWS","Screws",9,9,list("","","","","METAL","","","METAL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("COGS","Cogs",9,9,list("","METAL","","METAL","METAL","METAL","","METAL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SWITCH","Switch",12,12,list("METAL","","METAL","METAL","METAL","","METAL","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("KEYBOARD","Keyboard",1,1,list("","","","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH")) - CRAFT_ITEMS += new/datum/craftlathe_item("M PANEL","Metal Panel",10,10,list("","","","","METAL","METAL","","METAL","METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("CASE","Equipment Case",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("G PANEL","Glass Panel",10,10,list("","","","","GLASS","GLASS","","GLASS","GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("SCREEN","Screen",1,1,list("","GLASS","","GLASS","PLASMA","GLASS","","GLASS","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EL SILVER","Electronics Silver",30,30,list("","","","","SILVER","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EL GOLD","Electronics Gold",6,6,list("","","","","GOLD","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("TINTED GL","Tinted Glass",2,2,list("","METAL","","","GLASS","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("TANK VALVE","Tank Transfer Valuve",1,1,list("","PIPE","","","PIPE","SWITCH","","PIPE","")) - CRAFT_ITEMS += new/datum/craftlathe_item("PIPE","Pipe",1,1,list("","M PANEL","","","M PANEL","","","M PANEL","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("CB FRAME","Circuitboard Frame",1,1,list("","","","M PANEL","G PANEL","M PANEL","G PANEL","M PANEL","G PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("ROM","ROM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("RAM","RAM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("PROCESSOR","Processor",1,1,list("EL GOLD","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("ANTENNA","Antenna",1,1,list("","","EL SILVER","","","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("OP RECEPTOR","Optic Receptor",1,1,list("G PANEL","G PANEL","G PANEL","","EL GOLD","","G PANEL","G PANEL","G PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("THERMAL OP R","Thermal Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","DIAMOND","DIAMOND","","OP RECEPTOR","")) - CRAFT_ITEMS += new/datum/craftlathe_item("MASON OP R","Mason Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","EL SILVER","EL SILVER","","OP RECEPTOR","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EAR FRAME","Earpiece Frame",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("RADIO M","Radio Module",1,1,list("","ANTENNA","","","ROM","","CB FRAME","CB FRAME","CB FRAME")) - CRAFT_ITEMS += new/datum/craftlathe_item("EARPIECE","Radio Earpiece",1,1,list("","","","","RADIO M","","","EAR FRAME","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EARMUFFS","Earmuffs",1,1,list("","M PANEL","","EAR FRAME","","EAR FRAME","","","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("GLASSES FRAME","Glasses Frame",1,1,list("M PANEL","","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("MASONS","Mason Scanners",1,1,list("","","","MASON OP R","GLASSES FRAME","MASON OP R","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("THERMALS","Thermal Scanners",1,1,list("","","","THERMAL OP R","GLASSES FRAME","THERMAL OP R","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SUNGLASSES","Sunglasses",1,1,list("","","","TINTED GL","GLASSES FRAME","TINTED GL","","","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("HELMET FR","Helmet Frame",1,1,list("METAL","METAL","METAL","METAL","","METAL","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HELMET","Security Helmet",1,1,list("R METAL","R METAL","R METAL","R METAL","HELMET FR","R METAL","","GLASS","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HOS HELMET","HoS Helmet",1,1,list("SILVER","GOLD","SILVER","SILVER","HELMET","SILVER","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HARDHAT","Hardhat",1,1,list("","FLASHLIGHT","","","HELMET FR","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SWAT HELMET","SWAT Helmet",1,1,list("","","","","HELMET","","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("WELDING HELM","Welding Helmet",1,1,list("","","","","HELMET FR","","TINTED GL","TINTED GL","TINTED GL")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE HELMET","Space Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","HELMET FR","SILVER","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("RIG HELMET","RIG Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","SPACE HELMET","SILVER","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("GAS MASK","Gas Mask",1,1,list("","","","","HELMET FR","TANK VALVE","","G PANEL","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR FRAME","Armor Frame",1,1,list("R METAL","","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR","Armored Vest",1,1,list("R METAL","","R METAL","R METAL","ARMOR FRAME","R METAL","R METAL","R METAL","R METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("HOS ARMOR","HoS Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","ARMOR","URANIUM","URANIUM","R METAL","URANIUM")) - CRAFT_ITEMS += new/datum/craftlathe_item("CAP ARMOR","Captain Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","HOS ARMOR","URANIUM","URANIUM","R METAL","URANIUM")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE S FR","Space Suit Frame",1,1,list("SILVER","","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE SUIT","Space Suit",1,1,list("SILVER","","SILVER","RAM","SPACE S FR","RADIO M","SILVER","SILVEr","SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("RIG SUIT","RIG Suit",1,1,list("SILVER","","SILVER","SILVER","SPACE SUIT","SILVER","SILVER","SILVER","SILVER")) - //TODO: Flashlight, type paths - return - - - - return diff --git a/code/unused/mining/machine_gas_extractor_unused.dm b/code/unused/mining/machine_gas_extractor_unused.dm deleted file mode 100644 index 7a833016cf..0000000000 --- a/code/unused/mining/machine_gas_extractor_unused.dm +++ /dev/null @@ -1,78 +0,0 @@ -/**********************Gas extractor**************************/ - -/obj/machinery/mineral/gasextractor - name = "Gas extractor" - desc = "A machine which extracts gasses from ores" - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - var/obj/machinery/mineral/input = null - var/obj/machinery/mineral/output = null - var/message = ""; - var/processing = 0 - var/newtoxins = 0 - density = 1 - anchored = 1.0 - -/obj/machinery/mineral/gasextractor/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - return - return - -/obj/machinery/mineral/gasextractor/attack_hand(user as mob) - - if(processing == 1) - user << "The machine is processing" - return - - var/dat - dat = text("input connection status: ") - if (input) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - dat += text("
output connection status: ") - if (output) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - - dat += text("

Extract gas") - - dat += text("

Message: [message]") - - user << browse("[dat]", "window=purifier") - -/obj/machinery/mineral/gasextractor/Topic(href, href_list) - if(..()) - return - - usr.machine = src - src.add_fingerprint(usr) - if(href_list["extract"]) - if (src.output) - if (locate(/obj/machinery/portable_atmospherics/canister,output.loc)) - newtoxins = 0 - processing = 1 - var/obj/item/weapon/ore/O - while(locate(/obj/item/weapon/ore/plasma, input.loc) && locate(/obj/machinery/portable_atmospherics/canister,output.loc)) - O = locate(/obj/item/weapon/ore/plasma, input.loc) - if (istype(O,/obj/item/weapon/ore/plasma)) - var/obj/machinery/portable_atmospherics/canister/C - C = locate(/obj/machinery/portable_atmospherics/canister,output.loc) - C.air_contents.toxins += 100 - newtoxins += 100 - del(O) - sleep(5); - processing = 0; - message = "Canister filled with [newtoxins] units of toxins" - else - message = "No canister found" - src.updateUsrDialog() - return diff --git a/code/unused/mining/machine_purifier_unused.dm b/code/unused/mining/machine_purifier_unused.dm deleted file mode 100644 index d467dbcbd2..0000000000 --- a/code/unused/mining/machine_purifier_unused.dm +++ /dev/null @@ -1,85 +0,0 @@ -/**********************Mineral purifier (not used, replaced with mineral processing unit)**************************/ - -/obj/machinery/mineral/purifier - name = "Ore Purifier" - desc = "A machine which makes building material out of ores" - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - var/obj/machinery/mineral/input = null - var/obj/machinery/mineral/output = null - var/processed = 0 - var/processing = 0 - density = 1 - anchored = 1.0 - -/obj/machinery/mineral/purifier/attack_hand(user as mob) - - if(processing == 1) - user << "The machine is processing" - return - - var/dat - dat = text("input connection status: ") - if (input) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - dat += text("
output connection status: ") - if (output) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - - dat += text("

Purify") - - dat += text("

found: [processed]") - user << browse("[dat]", "window=purifier") - -/obj/machinery/mineral/purifier/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["purify"]) - if (src.output) - processing = 1; - var/obj/item/weapon/ore/O - processed = 0; - while(locate(/obj/item/weapon/ore, input.loc)) - O = locate(/obj/item/weapon/ore, input.loc) - if (istype(O,/obj/item/weapon/ore/iron)) - new /obj/item/stack/sheet/metal(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/diamond)) - new /obj/item/stack/sheet/mineral/diamond(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/plasma)) - new /obj/item/stack/sheet/mineral/plasma(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/gold)) - new /obj/item/stack/sheet/mineral/gold(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/silver)) - new /obj/item/stack/sheet/mineral/silver(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/uranium)) - new /obj/item/weapon/ore/mineral/uranium(output.loc) - del(O) - processed++ - sleep(5); - processing = 0; - src.updateUsrDialog() - return - - -/obj/machinery/mineral/purifier/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - return - return diff --git a/code/unused/mining/mine_generator_unused.dm b/code/unused/mining/mine_generator_unused.dm deleted file mode 100644 index 9cc7f54ce6..0000000000 --- a/code/unused/mining/mine_generator_unused.dm +++ /dev/null @@ -1,174 +0,0 @@ -/**********************Random mine generator************************/ - -//this item is intended to give the effect of entering the mine, so that light gradually fades -/obj/effect/mine_generator - name = "Random mine generator" - anchored = 1 - unacidable = 1 - var/turf/last_loc - var/turf/target_loc - var/turf/start_loc - var/randXParam //the value of these two parameters are generated by the code itself and used to - var/randYParam //determine the random XY parameters - var/mineDirection = 3 - /* - 0 = none - 1 = N - 2 = NNW - 3 = NW - 4 = WNW - 5 = W - 6 = WSW - 7 = SW - 8 = SSW - 9 = S - 10 = SSE - 11 = SE - 12 = ESE - 13 = E - 14 = ENE - 15 = NE - 16 = NNE - */ - -/obj/effect/mine_generator/New() - last_loc = src.loc - var/i - for(i = 0; i < 50; i++) - gererateTargetLoc() - //target_loc = locate(last_loc.x + rand(5), last_loc.y + rand(5), src.z) - fillWithAsteroids() - del(src) - return - - -/obj/effect/mine_generator/proc/gererateTargetLoc() //this proc determines where the next square-room will end. - switch(mineDirection) - if(1) - randXParam = 0 - randYParam = 4 - if(2) - randXParam = 1 - randYParam = 3 - if(3) - randXParam = 2 - randYParam = 2 - if(4) - randXParam = 3 - randYParam = 1 - if(5) - randXParam = 4 - randYParam = 0 - if(6) - randXParam = 3 - randYParam = -1 - if(7) - randXParam = 2 - randYParam = -2 - if(8) - randXParam = 1 - randYParam = -3 - if(9) - randXParam = 0 - randYParam = -4 - if(10) - randXParam = -1 - randYParam = -3 - if(11) - randXParam = -2 - randYParam = -2 - if(12) - randXParam = -3 - randYParam = -1 - if(13) - randXParam = -4 - randYParam = 0 - if(14) - randXParam = -3 - randYParam = 1 - if(15) - randXParam = -2 - randYParam = 2 - if(16) - randXParam = -1 - randYParam = 3 - target_loc = last_loc - if (randXParam > 0) - target_loc = locate(target_loc.x+rand(randXParam),target_loc.y,src.z) - if (randYParam > 0) - target_loc = locate(target_loc.x,target_loc.y+rand(randYParam),src.z) - if (randXParam < 0) - target_loc = locate(target_loc.x-rand(-randXParam),target_loc.y,src.z) - if (randYParam < 0) - target_loc = locate(target_loc.x,target_loc.y-rand(-randXParam),src.z) - if (mineDirection == 1 || mineDirection == 5 || mineDirection == 9 || mineDirection == 13) //if N,S,E,W, turn quickly - if(prob(50)) - mineDirection += 2 - else - mineDirection -= 2 - if(mineDirection < 1) - mineDirection += 16 - else - if(prob(50)) - if(prob(50)) - mineDirection += 1 - else - mineDirection -= 1 - if(mineDirection < 1) - mineDirection += 16 - return - - -/obj/effect/mine_generator/proc/fillWithAsteroids() - - if(last_loc) - start_loc = last_loc - - if(start_loc && target_loc) - var/x1 - var/y1 - - var/turf/line_start = start_loc - var/turf/column = line_start - - if(start_loc.x <= target_loc.x) - if(start_loc.y <= target_loc.y) //GOING NORTH-EAST - for(y1 = start_loc.y; y1 <= target_loc.y; y1++) - for(x1 = start_loc.x; x1 <= target_loc.x; x1++) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,EAST) - line_start = get_step(line_start,NORTH) - column = line_start - last_loc = target_loc - return - else //GOING NORTH-WEST - for(y1 = start_loc.y; y1 >= target_loc.y; y1--) - for(x1 = start_loc.x; x1 <= target_loc.x; x1++) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,WEST) - line_start = get_step(line_start,NORTH) - column = line_start - last_loc = target_loc - return - else - if(start_loc.y <= target_loc.y) //GOING SOUTH-EAST - for(y1 = start_loc.y; y1 <= target_loc.y; y1++) - for(x1 = start_loc.x; x1 >= target_loc.x; x1--) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,EAST) - line_start = get_step(line_start,SOUTH) - column = line_start - last_loc = target_loc - return - else //GOING SOUTH-WEST - for(y1 = start_loc.y; y1 >= target_loc.y; y1--) - for(x1 = start_loc.x; x1 >= target_loc.x; x1--) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,WEST) - line_start = get_step(line_start,SOUTH) - column = line_start - last_loc = target_loc - return - - - return \ No newline at end of file diff --git a/code/unused/mining/rail_unused.dm b/code/unused/mining/rail_unused.dm deleted file mode 100644 index 2bd37671bc..0000000000 --- a/code/unused/mining/rail_unused.dm +++ /dev/null @@ -1,338 +0,0 @@ -/**********************Rail track**************************/ - -/obj/machinery/rail_track - name = "Rail track" - icon = 'icons/obj/mining.dmi' - icon_state = "rail" - set_dir(2) - var/id = null //this is needed for switches to work Set to the same on the whole length of the track - anchored = 1 - -/**********************Rail intersection**************************/ - -/obj/machinery/rail_track/intersections - name = "Rail track intersection" - icon_state = "rail_intersection" - -/obj/machinery/rail_track/intersections/attack_hand(user as mob) - switch (dir) - if (1) set_dir(5) - if (5) set_dir(4) - if (4) set_dir(9) - if (9) set_dir(2) - if (2) set_dir(10) - if (10) set_dir(8) - if (8) set_dir(6) - if (6) set_dir(1) - return - -/obj/machinery/rail_track/intersections/NSE - name = "Rail track T intersection" - icon_state = "rail_intersection_NSE" - set_dir(2) - -/obj/machinery/rail_track/intersections/NSE/attack_hand(user as mob) - switch (dir) - if (1) set_dir(5) - if (2) set_dir(5) - if (5) set_dir(9) - if (9) set_dir(2) - return - -/obj/machinery/rail_track/intersections/SEW - name = "Rail track T intersection" - icon_state = "rail_intersection_SEW" - set_dir(8) - -/obj/machinery/rail_track/intersections/SEW/attack_hand(user as mob) - switch (dir) - if (8) set_dir(6) - if (4) set_dir(6) - if (6) set_dir(5) - if (5) set_dir(8) - return - -/obj/machinery/rail_track/intersections/NSW - name = "Rail track T intersection" - icon_state = "rail_intersection_NSW" - set_dir(2) - -/obj/machinery/rail_track/intersections/NSW/attack_hand(user as mob) - switch (dir) - if (1) set_dir(10) - if (2) set_dir(10) - if (10) set_dir(6) - if (6) set_dir(2) - return - -/obj/machinery/rail_track/intersections/NEW - name = "Rail track T intersection" - icon_state = "rail_intersection_NEW" - set_dir(8) - -/obj/machinery/rail_track/intersections/NEW/attack_hand(user as mob) - switch (dir) - if (4) set_dir(9) - if (8) set_dir(9) - if (9) set_dir(10) - if (10) set_dir(8) - return - -/**********************Rail switch**************************/ - -/obj/machinery/rail_switch - name = "Rail switch" - icon = 'icons/obj/mining.dmi' - icon_state = "rail" - set_dir(2) - icon = 'icons/obj/recycling.dmi' - icon_state = "switch-off" - var/obj/machinery/rail_track/track = null - var/id //used for to change the track pieces - -/obj/machinery/rail_switch/New() - spawn(10) - src.track = locate(/obj/machinery/rail_track, get_step(src, NORTH)) - if(track) - id = track.id - return - -/obj/machinery/rail_switch/attack_hand(user as mob) - user << "You switch the rail track's direction" - for (var/obj/machinery/rail_track/T in world) - if (T.id == src.id) - var/obj/machinery/rail_car/C = locate(/obj/machinery/rail_car, T.loc) - if (C) - switch (T.dir) - if(1) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "N" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(2) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "N" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(4) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "W" - if("W") C.direction = "E" - if(8) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "W" - if("W") C.direction = "E" - if(5) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "E" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(6) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "W" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(9) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "N" - if("W") C.direction = "E" - if(10) - switch(C.direction) - if("N") C.direction = "W" - if("S") C.direction = "W" - if("E") C.direction = "W" - if("W") C.direction = "N" - return - -/**********************Rail car**************************/ - -/obj/machinery/rail_car - name = "Rail car" - icon = 'icons/obj/storage.dmi' - icon_state = "miningcar" - var/direction = "S" //S = south, N = north, E = east, W = west. Determines whichw ay it'll look first - var/moving = 0; - anchored = 1 - density = 1 - var/speed = 0 - var/slowing = 0 - var/atom/movable/load = null //what it's carrying - -/obj/machinery/rail_car/attack_hand(user as mob) - if (moving == 0) - processing_items.Add(src) - moving = 1 - else - processing_items.Remove(src) - moving = 0 - return - -/* -for (var/client/C) - C << "Dela." -*/ - -/obj/machinery/rail_car/MouseDrop_T(var/atom/movable/C, mob/user) - - if(user.stat) - return - - if (!istype(C) || C.anchored || get_dist(user, src) > 1 || get_dist(src,C) > 1 ) - return - - if(ismob(C)) - load(C) - - -/obj/machinery/rail_car/proc/load(var/atom/movable/C) - - if(get_dist(C, src) > 1) - return - //mode = 1 - - C.loc = src.loc - sleep(2) - C.loc = src - load = C - - C.pixel_y += 9 - if(C.layer < layer) - C.layer = layer + 0.1 - overlays += C - - if(ismob(C)) - var/mob/M = C - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - //mode = 0 - //send_status() - -/obj/machinery/rail_car/proc/unload(var/dirn = 0) - if(!load) - return - - overlays.Cut() - - load.loc = src.loc - load.pixel_y -= 9 - load.layer = initial(load.layer) - if(ismob(load)) - var/mob/M = load - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - - - if(dirn) - step(load, dirn) - - load = null - - // in case non-load items end up in contents, dump every else too - // this seems to happen sometimes due to race conditions - // with items dropping as mobs are loaded - - for(var/atom/movable/AM in src) - AM.loc = src.loc - AM.layer = initial(AM.layer) - AM.pixel_y = initial(AM.pixel_y) - if(ismob(AM)) - var/mob/M = AM - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - -/obj/machinery/rail_car/relaymove(var/mob/user) - if(user.stat) - return - if(load == user) - unload(0) - return - -/obj/machinery/rail_car/process() - if (moving == 1) - if (slowing == 1) - if (speed > 0) - speed--; - if (speed == 0) - slowing = 0 - else - if (speed < 10) - speed++; - var/i = 0 - for (i = 0; i < speed; i++) - if (moving == 1) - switch (direction) - if ("S") - for (var/obj/machinery/rail_track/R in locate(src.x,src.y-1,src.z)) - if (R.dir == 10) - direction = "W" - if (R.dir == 9) - direction = "E" - if (R.dir == 2 || R.dir == 1 || R.dir == 10 || R.dir == 9) - for (var/mob/living/M in locate(src.x,src.y-1,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("N") - for (var/obj/machinery/rail_track/R in locate(src.x,src.y+1,src.z)) - if (R.dir == 5) - direction = "E" - if (R.dir == 6) - direction = "W" - if (R.dir == 5 || R.dir == 1 || R.dir == 6 || R.dir == 2) - for (var/mob/living/M in locate(src.x,src.y+1,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("E") - for (var/obj/machinery/rail_track/R in locate(src.x+1,src.y,src.z)) - if (R.dir == 6) - direction = "S" - if (R.dir == 10) - direction = "N" - if (R.dir == 4 || R.dir == 8 || R.dir == 10 || R.dir == 6) - for (var/mob/living/M in locate(src.x+1,src.y,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("W") - for (var/obj/machinery/rail_track/R in locate(src.x-1,src.y,src.z)) - if (R.dir == 9) - direction = "N" - if (R.dir == 5) - direction = "S" - if (R.dir == 8 || R.dir == 9 || R.dir == 5 || R.dir == 4) - for (var/mob/living/M in locate(src.x-1,src.y,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - sleep(1) - else - processing_items.Remove(src) - moving = 0 - return \ No newline at end of file diff --git a/code/unused/mining/spaceship_builder_unused.dm b/code/unused/mining/spaceship_builder_unused.dm deleted file mode 100644 index 42b4f4e3af..0000000000 --- a/code/unused/mining/spaceship_builder_unused.dm +++ /dev/null @@ -1,173 +0,0 @@ -/**********************Spaceship builder area definitions**************************/ - -/area/shipbuilder - requires_power = 0 - luminosity = 1 - sd_lighting = 0 - -/area/shipbuilder/station - name = "shipbuilder station" - icon_state = "teleporter" - -/area/shipbuilder/ship1 - name = "shipbuilder ship1" - icon_state = "teleporter" - -/area/shipbuilder/ship2 - name = "shipbuilder ship2" - icon_state = "teleporter" - -/area/shipbuilder/ship3 - name = "shipbuilder ship3" - icon_state = "teleporter" - -/area/shipbuilder/ship4 - name = "shipbuilder ship4" - icon_state = "teleporter" - -/area/shipbuilder/ship5 - name = "shipbuilder ship5" - icon_state = "teleporter" - -/area/shipbuilder/ship6 - name = "shipbuilder ship6" - icon_state = "teleporter" - - -/**********************Spaceship builder**************************/ - -/obj/machinery/spaceship_builder - name = "Robotic Fabricator" - icon = 'icons/obj/surgery.dmi' - icon_state = "fab-idle" - density = 1 - anchored = 1 - var/metal_amount = 0 - var/operating = 0 - var/area/currentShuttleArea = null - var/currentShuttleName = null - -/obj/machinery/spaceship_builder/proc/buildShuttle(var/shuttle) - - var/shuttleat = null - var/shuttleto = "/area/shipbuilder/station" - - var/req_metal = 0 - switch(shuttle) - if("hopper") - shuttleat = "/area/shipbuilder/ship1" - currentShuttleName = "Planet hopper" - req_metal = 25000 - if("bus") - shuttleat = "/area/shipbuilder/ship2" - currentShuttleName = "Blnder Bus" - req_metal = 60000 - if("dinghy") - shuttleat = "/area/shipbuilder/ship3" - currentShuttleName = "Space dinghy" - req_metal = 100000 - if("van") - shuttleat = "/area/shipbuilder/ship4" - currentShuttleName = "Boxvan MMDLVI" - req_metal = 120000 - if("secvan") - shuttleat = "/area/shipbuilder/ship5" - currentShuttleName = "Boxvan MMDLVI - Security edition" - req_metal = 125000 - if("station4") - shuttleat = "/area/shipbuilder/ship6" - currentShuttleName = "Space station 4" - req_metal = 250000 - - if (metal_amount - req_metal < 0) - return - - if (!shuttleat) - return - - var/area/from = locate(shuttleat) - var/area/dest = locate(shuttleto) - - if(!from || !dest) - return - - currentShuttleArea = shuttleat - from.move_contents_to(dest) - return - -/obj/machinery/spaceship_builder/proc/scrapShuttle() - - var/shuttleat = "/area/shipbuilder/station" - var/shuttleto = currentShuttleArea - - if (!shuttleto) - return - - var/area/from = locate(shuttleat) - var/area/dest = locate(shuttleto) - - if(!from || !dest) - return - - currentShuttleArea = null - currentShuttleName = null - from.move_contents_to(dest) - return - -/obj/machinery/spaceship_builder/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if(operating == 1) - user << "The machine is processing" - return - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if (istype(W, /obj/item/stack/sheet/metal)) - - var/obj/item/stack/sheet/metal/M = W - user << "\blue You insert all the metal into the machine." - metal_amount += M.amount * 100 - del(M) - - else - return attack_hand(user) - return - -/obj/machinery/spaceship_builder/attack_hand(user as mob) - if(operating == 1) - user << "The machine is processing" - return - - var/dat - dat = text("Ship fabricator

") - dat += text("Current ammount of Metal: [metal_amount]

") - - if (currentShuttleArea) - dat += text("Currently building

[currentShuttleName]

") - dat += text("Build the shuttle to your liking.
This shuttle will be sent to the station in the event of an emergency along with a centcom emergency shuttle.") - dat += text("


Scrap current shuttle") - else - dat += text("Available ships to build:

") - dat += text("Planet hopper - Tiny, Slow, 25000 metal
") - dat += text("Blunder Bus - Small, Decent speed, 60000 metal
") - dat += text("Space dinghy - Medium size, Decent speed, 100000 metal
") - dat += text("Boxvan MMDLVIr - Medium size, Decent speed, 120000 metal
") - dat += text("Boxvan MMDLVI - Security eidition - Large, Rather slow, 125000 metal
") - dat += text("Space station 4 - Huge, Slow, 250000 metal
") - - user << browse("[dat]", "window=shipbuilder") - - -/obj/machinery/spaceship_builder/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["ship"]) - buildShuttle(href_list["ship"]) - if(href_list["scrap"]) - scrapShuttle(href_list["ship"]) - src.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/musicplayer.dm b/code/unused/musicplayer.dm deleted file mode 100644 index ced7630e88..0000000000 --- a/code/unused/musicplayer.dm +++ /dev/null @@ -1,15 +0,0 @@ -// this toggle doesn't save across rounds -/mob/verb/musictoggle() - set name = "Music Toggle" - if(src.be_music == 0) - src.be_music = 1 - src << "\blue Music toggled on!" - return - src.be_music = 0 - src << "\blue Music toggled off!" - -// This checks a var on each area and plays that var -/area/Entered(mob/A as mob) - if (A && src.music != "" && A.client && A.be_music != 0 && (A.music_lastplayed != src.music)) - A.music_lastplayed = src.music - A << sound(src.music, repeat = 0, wait = 0, volume = 20, channel = 1) diff --git a/code/unused/new_year.dm b/code/unused/new_year.dm deleted file mode 100644 index 0f2bdca1c3..0000000000 --- a/code/unused/new_year.dm +++ /dev/null @@ -1,138 +0,0 @@ - -/obj/effect/new_year_tree - name = "The fir" - desc = "This is a fir. Real fir on dammit spess station. You smell pine-needles." - icon = 'icons/effects/160x160.dmi' - icon_state = "new-year-tree" - anchored = 1 - opacity = 1 - density = 1 - layer = 5 - pixel_x = -64 - //pixel_y = -64 - -/obj/effect/new_year_tree/attackby(obj/item/W, mob/user) - if (istype(W, /obj/item/weapon/grab)) - return - W.loc = src - if (user.client) - user.client.screen -= W - user.u_equip(W) - var/const/bottom_right_x = 115.0 - var/const/bottom_right_y = 150.0 - var/const/top_left_x = 15.0 - var/const/top_left_y = 15.0 - var/const/bottom_med_x = top_left_x+(bottom_right_x-top_left_x)/2 - var/x = rand(top_left_x,bottom_med_x) //point in half of circumscribing rectangle - var/y = rand(top_left_y,bottom_right_y) - /* - y1=a*x1+b - y2=a*x2+b b = y2-a*x2 - - y1=a*x1+ y2-a*x2 - a*(x1-x2)+y2-y1=0 - a = (y1-y2)/(x1-x2) - */ - var/a = (top_left_y-bottom_right_y)/(top_left_x-bottom_med_x) - var/b = bottom_right_y-a*bottom_med_x - - if (a*x+b < y) //if point is above diagonal top_left -> bottom_median - x = bottom_med_x + x - top_left_x - y = bottom_right_y - y + top_left_y - var/image/I = image(W.icon, W, icon_state = W.icon_state) - I.pixel_x = x - I.pixel_y = y - overlays += I -/* -/obj/item/weapon/firbang - desc = "It is set to detonate in 10 seconds." - name = "firbang" - icon = 'icons/obj/grenade.dmi' - icon_state = "flashbang" - var/state = null - var/det_time = 100.0 - w_class = 2.0 - item_state = "flashbang" - throw_speed = 4 - throw_range = 20 - flags = CONDUCT - slot_flags = SLOT_BELT - -/obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) - if (user.get_active_hand() == src) - if ((CLUMSY in usr.mutations) && prob(50)) - user << "\red Huh? How does this thing work?!" - src.state = 1 - src.icon_state = "flashbang1" - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn( 5 ) - prime() - return - else if (!( src.state )) - user << "\red You prime the [src]! [det_time/10] seconds!" - src.state = 1 - src.icon_state = "flashbang1" - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn( src.det_time ) - prime() - return - user.set_dir(get_dir(user, target)) - user.drop_item() - var/t = (isturf(target) ? target : target.loc) - walk_towards(src, t, 3) - src.add_fingerprint(user) - return - -/obj/item/weapon/firbang/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/firbang/attack_hand() - walk(src, null, null) - ..() - return - -/obj/item/weapon/firbang/proc/prime() - playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) - var/turf/T = get_turf(src) - if(T) - var/datum/effect/effect/system/smoke_spread/smoke = new - smoke.set_up(3, 0, src.loc) - smoke.attach(src) - smoke.start() - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(3, 1, src) - s.start() - new /obj/effect/new_year_tree(T) - del(src) - return - -/obj/item/weapon/firbang/attack_self(mob/user as mob) - if (!src.state) - if (CLUMSY in user.mutations) - user << "\red Huh? How does this thing work?!" - spawn( 5 ) - prime() - return - else - user << "\red You prime the [src]! [det_time/10] seconds!" - src.state = 1 - src.icon_state = "flashbang1" - add_fingerprint(user) - spawn( src.det_time ) - prime() - return - return - -/* -/datum/supply_packs/new_year - name = "New Year Celebration Equipment" - contains = list("/obj/item/weapon/firbang", - "/obj/item/weapon/firbang", - "/obj/item/weapon/firbang", - "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/wrapping_paper") - cost = 20 - containertype = "/obj/structure/closet/crate" - containername = "New Year Celebration crate" -*/ \ No newline at end of file diff --git a/code/unused/newcombatsystem.dm b/code/unused/newcombatsystem.dm deleted file mode 100644 index 274581a04e..0000000000 --- a/code/unused/newcombatsystem.dm +++ /dev/null @@ -1,191 +0,0 @@ -//It's not a very big change, but I think melee will benefit from it. -//Currently will only be restricted to special training weapons to test the balancedness of the system. -//1)Knockdown, stun and weaken chances are separate and dependant on the part of the body you're aiming at -//eg a mop will be better applied to legs since it has a higher base knockdown chance than the other disabling states -//while an energy gun would be better applied to the chest because of the stunning chance. -//2)Weapons also have a parry chance which is checked every time the one wielding the weapon is attacked in melee -//in the area is currently aiming at and is able to defend himself. -//More ideas to come. - -//NOTES: doesn't work with armor yet - -/obj/item/weapon/training //subclass of weapons that is currently the only one that uses the alternate combat system - name = "training weapon" - desc = "A weapon for training the advanced fighting technicues" - var/chance_parry = 0 - var/chance_weaken = 0 - var/chance_stun = 0 - var/chance_knockdown = 0 - var/chance_knockout = 0 - var/chance_disarm = 0 - -//chances - 5 is low, 10 is medium, 15 is good - -/obj/item/weapon/training/axe //hard-hitting, but doesn't have much in terms of disabling people (except by killing) - name = "training axe" - icon_state = "training_axe" - /*combat stats*/ - force = 15 - chance_parry = 5 - chance_weaken = 10 - chance_stun = 5 - chance_knockdown = 5 - chance_knockout = 5 - chance_disarm = 0 - -/obj/item/weapon/training/sword //not bad attack, good at parrying and disarming - name = "training sword" - icon_state = "training_sword" - /*combat stats*/ - force = 10 - chance_parry = 15 - chance_weaken = 5 - chance_stun = 0 - chance_knockdown = 5 - chance_knockout = 0 - chance_disarm = 15 - -/obj/item/weapon/training/staff //not bad attack either, good at tripping and parrying - name = "training staff" - icon_state = "training_staff" - /*combat stats*/ - force = 10 - chance_parry = 15 - chance_weaken = 5 - chance_stun = 0 - chance_knockdown = 15 - chance_knockout = 0 - chance_disarm = 5 - -/obj/item/weapon/training/mace //worst attack, but has a good chance of stun, knockout or weaken - name = "training mace" - icon_state = "training_mace" - /*combat stats*/ - force = 5 - chance_parry = 0 - chance_weaken = 15 - chance_stun = 10 - chance_knockdown = 0 - chance_knockout = 10 - chance_disarm = 0 - -/obj/item/weapon/training/attack(target as mob, mob/user as mob) - var/target_area = attack_location(user.zone_sel.selecting) - for(var/mob/O in viewers(src,7)) - O << "\red \b [user.name] attacks [target.name] in the [target_area] with [src.name]!" - if(!target.stat && target.zone_sel.selecting == target_area) //parrying occurs here - if(istype(target.r_hand,/obj/item/weapon/training) - if(prob(target.r_hand:chance_parry)) - for(var/mob/O in viewers(src,7)) - O << "\red \b [target.name] deftly parries the attack with [target.r_hand.name]!" - return - if(istype(target.l_hand,/obj/item/weapon/training) - if(prob(target.l_hand:chance_parry)) - for(var/mob/O in viewers(src,7)) - O << "\red \b [target.name] deftly parries the attack with [target.l_hand.name]!" - return - target.adjustBruteLoss(-src.force) - - var/modifier_knockdown = 1.0 - var/modifier_knockout = 1.0 - var/modifier_stun = 1.0 - var/modifier_weaken = 1.0 - var/modifier_disarm = 0.0 - - switch(target_area) - if("eyes") - modifier_weaken = 2.0 - modifier_stun = 0.5 - modifier_knockdown = 0.0 - if("head") - modifier_stun = 0.8 - modifier_knockout = 1.5 - modifier_weaken = 1.2 - modifier_knockdown = 0.0 - if("chest") - if("right arm","r_arm") - if("left arm","l_arm") - if("right hand","r_hand") - if("left hand","l_hand") - if("groin") - if("right leg","r_leg") - if("left leg","l_leg") - if("right foot","r_foot") - if("left foot","l_foot") - - -/proc/attack_location(var/initloc = "chest") //proc to randomise actual hit loc based on where you're aiming at - var/resultloc = "chest" //also forgot hands/feet. bleh - var/percentage = rand(1,100) - switch(initloc) - if("eyes") - switch(percentage) - if(1 to 10) - resultloc = "eyes" - if(11 to 30) - resultloc = "head" - if(31 to 100) - resultloc = "chest" - if("head") - switch(percentage) - if(1 to 5) - resultloc = "eyes" - if(6 to 40) - resultloc = "head" - if(41 to 100) - resultloc = "chest" - if("chest") - switch(percentage) - if(1 to 80) - resultloc = "chest" - if(81 to 84) - resultloc = "right arm" - if(85 to 88) - resultloc = "left arm" - if(89 to 92) - resultloc = "right leg" - if(93 to 96) - resultloc = "left leg" - if(97 to 98) - resultloc = "groin" - if(99 to 100) - resultloc = "head" - if("l_arm") - switch(percentage) - if(1 to 60) - resultloc = "left arm" - if(61 to 100) - resultloc = "chest" - if("r_arm") - switch(percentage) - if(1 to 60) - resultloc = "right arm" - if(61 to 100) - resultloc = "chest" - if("groin") - switch(percentage) - if(1 to 35) - resultloc = "groin" - if(36 to 50) - resultloc = "left leg" - if(51 to 65) - resultloc = "right leg" - if(66 to 100) - resultloc = "chest" - if("l_leg") - switch(percentage) - if(1 to 60) - resultloc = "left leg" - if(61 to 70) - resultloc = "groin" - if(71 to 100) - resultloc = "chest" - if("r_leg") - switch(percentage) - if(1 to 60) - resultloc = "right leg" - if(61 to 70) - resultloc = "groin" - if(71 to 100) - resultloc = "chest" - return resultloc \ No newline at end of file diff --git a/code/unused/optics/beam.dm b/code/unused/optics/beam.dm deleted file mode 100644 index 2e4f87e367..0000000000 --- a/code/unused/optics/beam.dm +++ /dev/null @@ -1,177 +0,0 @@ -// the laser beam - - -/obj/effect/beam/laser - name = "laser beam" - icon = 'icons/effects/beam.dmi' - icon_state = "full" - density = 0 - mouse_opacity = 0 - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - var/wavelength // the (vaccuum) wavelength of the beam - var/width = 1 // 1=thin, 2=medium, 3=wide - - var/obj/effect/beam/laser/next - var/obj/effect/beam/laser/prev - var/obj/master - - New(var/atom/newloc, var/dirn, var/lambda, var/omega=1, var/half=0) - - if(!isturf(loc)) - return - - //world << "creating beam at ([newloc.x],[newloc.y]) with [dirn] [lambda] [omega] [half]" - - icon_state = "[omega]-[half ? "half" : "full"]" - set_dir(dirn) - set_wavelength(lambda) - ..(newloc) - spawn(0) - src.propagate() - src.verbs -= /atom/movable/verb/pull - - - - proc/propagate() - var/turf/T = get_step(src, dir) - if(T) - if(T.Enter(src)) - next = new(T, dir, wavelength, width, 0) - next.prev = src - next.master = src.master - else - spawn(5) - propagate() - - - proc/remove() - if(next) - next.remove() - del(src) - - - - proc/blocked(var/atom/A) - return density || opacity -/* -/turf/Enter(atom/movable/mover as mob|obj) - if (!mover || !isturf(mover.loc)) - return 1 - - - //First, check objects to block exit that are not on the border - for(var/obj/obstacle in mover.loc) - if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle)) - if(!obstacle.CheckExit(mover, src)) - mover.Bump(obstacle, 1) - return 0 - - //Now, check objects to block exit that are on the border - for(var/obj/border_obstacle in mover.loc) - if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle)) - if(!border_obstacle.CheckExit(mover, src)) - mover.Bump(border_obstacle, 1) - return 0 - - //Next, check objects to block entry that are on the border - for(var/obj/border_obstacle in src) - if(border_obstacle.flags & ON_BORDER) - if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle)) - mover.Bump(border_obstacle, 1) - return 0 - - //Then, check the turf itself - if (!src.CanPass(mover, src)) - mover.Bump(src, 1) - return 0 - - //Finally, check objects/mobs to block entry that are not on the border - for(var/atom/movable/obstacle in src) - if(obstacle.flags & ~ON_BORDER) - if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle)) - mover.Bump(obstacle, 1) - return 0 - return 1 //Nothing found to block so return success! -*/ - - - HasEntered(var/atom/movable/AM) - if(istype(AM, /obj/effect/beam)) - return - if(blocked(AM)) - remove(src) - if(prev) - prev.propagate() - else if(master) - master:turn_on() - - proc/set_wavelength(var/lambda) - - var/w = round(lambda,1) // integer wavelength - wavelength = lambda - // first look for cached version of the icon at this wavelength - var/icon/cached = beam_icons["[w]"] - if(cached) - icon = cached - - return - - // no cached version, so generate a new one - - // this maps a wavelength in the range 380-780 nm to an R,G,B,A value - var/red = 0 - var/green = 0 - var/blue = 0 - var/alpha = 0 - - switch(w) - if(380 to 439) - red = (440-w) / 60 - green = 0 - blue = 1 - if(440 to 489) - red = 0 - green = (w-440) / 50 - blue = 1 - if(490 to 509) - red = 0 - green = 1 - blue = (510 - w) / 20 - if(510 to 579) - red = (w-510) / 70 - green = 1 - blue = 0 - if(580 to 644) - red = 1 - green = (645-w) / 65 - blue = 0 - if(645 to 780) - red = 1 - green = 0 - blue = 0 - - // colour is done, now calculate intensity - switch(w) - if(380 to 419) - alpha = 0.75*(w-380)/40 - if(420 to 700) - alpha = 0.75 - if(701 to 780) - alpha = 0.75*(780-w)/80 - - // remap alpha by intensity gamma - if(alpha != 0) - alpha = alpha**0.80 - - var/icon/I = icon('icons/effects/beam.dmi') - I.MapColors(red,0,0,0, 0,green,0,0, 0,0,blue,0, 0,0,0,alpha, 0,0,0,0) - icon = I - - beam_icons["[w]"] = I - - - -// global cache of beam icons -// this is an assoc list mapping (integer) wavelength to icons - -var/list/beam_icons = new() \ No newline at end of file diff --git a/code/unused/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm deleted file mode 100644 index f25e5f3bb1..0000000000 --- a/code/unused/optics/laser-pointer.dm +++ /dev/null @@ -1,73 +0,0 @@ -// A laser pointer. Emits a (tunable) low-power laser beam -// Used for alignment and testing of the optics system - -/obj/item/device/laser_pointer - name = "laser pointer" - desc = "A portable low-power laser used for optical system alignment. The label reads: 'Danger: Class IIIa laser device. Avoid direct eye exposure." - icon = 'optics.dmi' - icon_state = "pointer0" - var/on = 0 // true if operating - var/wavelength = 632 // operation wavelength (nm) - - var/gain_peak = 632 // gain peak (nm) - var/gain_width = 35 // gain bandwidth (nm) - var/peak_output = 0.005 // max output 5 mW - layer = OBJ_LAYER + 0.1 - - w_class = 4 - m_amt = 500 - g_amt = 100 - w_amt = 200 - - var/obj/effect/beam/laser/beam // the created beam - - flags = CONDUCT - - attack_ai() - return - - attack_paw() - return - - attack_self(var/mob/user) - - - on = !on - if(on) - turn_on() - else - turn_off() - - updateicon() - - verb/rotate() - set name = "Rotate" - set src in view(1) - turn_off() - set_dir(turn(dir, -90)) - if(on) turn_on() - - Move(var/atom/newloc,var/newdir) - . = ..(newloc,newdir) - if(on && . && isturf(newloc)) - turn_off() - turn_on() - return . - - proc/turn_on() - if(!isturf(loc)) - return - - beam = new(loc, dir, wavelength, 1, 1) - beam.master = src - - proc/turn_off() - if(beam) - beam.remove() - - dropped() - turn_off() - turn_on() - - proc/updateicon() - icon_state = "pointer[on]" \ No newline at end of file diff --git a/code/unused/optics/mirror.dm b/code/unused/optics/mirror.dm deleted file mode 100644 index 6570874b1f..0000000000 --- a/code/unused/optics/mirror.dm +++ /dev/null @@ -1,82 +0,0 @@ -// Mirror object -// Part of the optics system -// -// reflects laser beams -// 16 directional states 0/22.5/45/67.5deg to allow for 0/45deg beam angles - - -// ideas: -// frame/stand icon w/ mirror directional overlay -// two sets of overlay icons for 0/45 and 22.5/67.5 deg angles - -// can rotate cw/acw - need screwdriver to loosen/tighten mirror -// use wrench to anchor/unanchor frame -// if touched, gets dirty - fingerprints, which reduce reflectivity -// if dirty and hit with high-power beam, mirror may shatter -// some kind of dust accumulation with HasProximity? Could check for mob w/o labcoat etc. -// can clean with acetone+wipes - -/obj/optical/mirror - icon = 'optical.dmi' - icon_state = "mirrorA" - set_dir(1) - desc = "A large, optical-grade mirror firmly mounted on a stand." - anchored = 0 - var/rotatable = 0 // true if mirror can be rotated - var/angle = 0 // normal of mirror, 0-15. 0=N, 1=NNE, 2=NE, 3=ENE, 4=E etc - - - New() - ..() - set_angle() - - - - //set the angle from icon_state and dir - proc/set_angle() - switch(dir) - if(1) - angle = 0 - if(5) - angle = 2 - if(4) - angle = 4 - if(6) - angle = 6 - if(2) - angle = 8 - if(10) - angle = 10 - if(8) - angle = 12 - if(9) - angle = 14 - - if(icon_state == "mirrorB") // 22.5deg turned states - angle++ - return - - // set the dir and icon_state from the angle - proc/set_dir() - if(angle%2 == 1) - icon_state = "mirrorB" - else - icon_state = "mirrorA" - switch(round(angle/2)*2) - if(0) - set_dir(1) - if(2) - set_dir(5) - if(4) - set_dir(4) - if(6) - set_dir(6) - if(8) - set_dir(2) - if(10) - set_dir(10) - if(12) - set_dir(8) - if(14) - set_dir(9) - return \ No newline at end of file diff --git a/code/unused/pda2/base_os.dm b/code/unused/pda2/base_os.dm deleted file mode 100644 index 59f616c62b..0000000000 --- a/code/unused/pda2/base_os.dm +++ /dev/null @@ -1,446 +0,0 @@ -/datum/computer/file/pda_program/os - proc - receive_os_command(list/command_list) - if((!src.holder) || (!src.master) || (!command_list) || !(command_list["command"])) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - -//Main os program: Provides old pda interface and four programs including file browser, notes, messenger, and atmos scan - main_os - name = "ThinkOS 7" - size = 8.0 - var/mode = 0 - //Note vars - var/note = "Congratulations, your station has chosen the Thinktronic 5150 Personal Data Assistant!" - var/note_mode = 0 //0 For note editor, 1 for note browser - var/datum/computer/file/text/note_file = null //If set, save to this file. - //Messenger vars - var/list/detected_pdas = list() - var/message_on = 1 - var/message_silent = 0 //To beep or not to beep, that is the question - var/message_mode = 0 //0 for pda list, 1 for messages - var/message_tone = "beep" //Custom ringtone - var/message_note = null //Current messages in memory (Store as separate file only later??) - //File browser vars - var/datum/computer/folder/browse_folder = null - var/datum/computer/file/clipboard = null //Current file to copy - - - - receive_os_command(list/command_list) - if(..()) - return - - //world << "[command_list["command"]]" - return - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - dat += "

PERSONAL DATA ASSISTANT

" - dat += "Owner: [src.master.owner]

" - - dat += "

General Functions

" - dat += "" - - dat += "

Utilities

" - dat += "" - - if(1) - //Note Program. Can save/load note files. - dat += "

Notekeeper V2.5

" - - if(!src.note_mode) - dat += "Edit" - dat += " | New File" - dat += " | Save" - dat += " | Load
" - - dat += src.note - else - dat += " Back" - dat += " | \[[src.holding_folder.holder.file_amount - src.holding_folder.holder.file_used]\] Free
" - dat += "" - - for(var/datum/computer/file/text/T in src.holding_folder.contents) - dat += "" - dat += "" - dat += "" - - dat += "
[T.name][T.extension]Length: [T.data ? (length(T.data)) : "0"]
" - - if(2) - //Messenger. Uses Radio. Is a messenger. - //TO-DO: ~file sharing~ - src.master.overlays.Cut() //Remove existing alerts - dat += "

SpaceMessenger V4.0.5

" - - if (!src.message_mode) - - dat += "Ringer: [src.message_silent == 1 ? "Off" : "On"] | " - dat += "Send / Receive: [src.message_on == 1 ? "On" : "Off"] | " - dat += "Set Ringtone | " - dat += "Messages
" - - dat += "Scan
" - dat += "Detected PDAs
" - - dat += "
    " - - var/count = 0 - - if (src.message_on) - for (var/obj/item/device/pda2/P in src.detected_pdas) - if (!P.owner) - src.detected_pdas -= P - continue - else if (P == src) //I guess this can happen if somebody copies the system file. - src.detected_pdas -= P - continue - - dat += "
  • [P]" - - dat += "
  • " - count++ - - dat += "
" - - if (count == 0) - dat += "None detected.
" - - else - dat += "Clear | " - dat += "Back
" - - dat += "

Messages

" - - dat += src.message_note - dat += "
" - - if(3) - //File Browser. - //To-do(?): Setting "favorite" programs to access straight from main menu - //Not sure how needed it is, not like they have to go through 500 subfolders or whatever - if((!src.browse_folder) || !(src.browse_folder.holder in src.master)) - src.browse_folder = src.holding_folder - - dat += " | Paste" - dat += " | Drive: " - dat += "\[[src.browse_folder.holder == src.master.hd ? "MAIN" : "CART"]\]
" - - dat += "Contents of [browse_folder] | Drive ID:\[[src.browse_folder.holder.title]]
" - dat += "Used: \[[src.browse_folder.holder.file_used]/[src.browse_folder.holder.file_amount]\]
" - - dat += "" - for(var/datum/computer/file/F in browse_folder.contents) - if(F == src) - dat += "" - continue - dat += "" - dat += "" - - dat += "" - - dat += "" - dat += "" - - dat += "" - - dat += "" - - dat += "
SystemSize: [src.size]SYSTEM
[F.name]Size: [F.size][F.extension]DelRenameCopy
" - - if(4) - //Atmos Scanner - dat += "

Atmospheric Readings

" - - var/turf/T = get_turf_or_move(get_turf(src.master)) - if (isnull(T)) - dat += "Unable to obtain a reading.
" - else - var/datum/gas_mixture/environment = T.return_air() - - var/pressure = environment.return_pressure() - var/total_moles = environment.total_moles() - - dat += "Air Pressure: [round(pressure,0.1)] kPa
" - - if (total_moles()) - var/o2_level = environment.oxygen/total_moles() - var/n2_level = environment.nitrogen/total_moles() - var/co2_level = environment.carbon_dioxide/total_moles() - var/plasma_level = environment.toxins/total_moles() - var/unknown_level = 1-(o2_level+n2_level+co2_level+plasma_level) - - dat += "Nitrogen: [round(n2_level*100)]%
" - - dat += "Oxygen: [round(o2_level*100)]%
" - - dat += "Carbon Dioxide: [round(co2_level*100)]%
" - - dat += "Plasma: [round(plasma_level*100)]%
" - - if(unknown_level > 0.01) - dat += "OTHER: [round(unknown_level)]%
" - - dat += "Temperature: [round(environment.temperature-T0C)]°C
" - - dat += "
" - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["flight"]) - src.master.toggle_light() - - else if(href_list["scanner"]) - if(src.master.scan_program) - src.master.scan_program = null - - else if(href_list["input"]) - switch(href_list["input"]) - if("tone") - var/t = input(usr, "Please enter new ringtone", src.name, src.message_tone) as text - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - t = sanitize(copytext(t, 1, 20)) - src.message_tone = t - - if("note") - var/t = input(usr, "Please enter note", src.name, src.note) as message - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - t = copytext(adminscrub(t), 1, MAX_MESSAGE_LEN) - src.note = t - - - if("message") - var/obj/item/device/pda2/P = locate(href_list["target"]) - if(!P || !istype(P)) - return - - var/t = input(usr, "Please enter message", P.name, null) as text - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - - var/datum/signal/signal = new - signal.data["command"] = "text message" - signal.data["message"] = t - signal.data["sender"] = src.master.owner - signal.data["tag"] = "\ref[P]" - src.post_signal(signal) - src.message_note += "→ To [P.owner]:
[t]
" - log_pda("[usr] sent [t] to [P.owner]") - - if("rename") - var/datum/computer/file/F = locate(href_list["target"]) - if(!F || !istype(F)) - return - - var/t = input(usr, "Please enter new name", src.name, F.name) as text - t = sanitize(copytext(t, 1, 16)) - if (!t) - return - if (!in_range(src.master, usr) || !(F.holder in src.master)) - return - if(F.holder.read_only) - return - F.name = capitalize(lowertext(t)) - - - else if(href_list["message_func"]) //Messenger specific topic junk - switch(href_list["message_func"]) - if("ringer") - src.message_silent = !src.message_silent - if("on") - src.message_on = !src.message_on - if("clear") - src.message_note = null - if("scan") - if(src.message_on) - src.detected_pdas = list() - var/datum/signal/signal = new - signal.data["command"] = "report pda" - src.post_signal(signal) - - else if(href_list["note_func"]) //Note program specific topic junk - switch(href_list["note_func"]) - if("new") - src.note_file = null - src.note = null - if("save") - if(src.note_file && src.note_file.holder in src.master) - src.note_file.data = src.note - else - var/datum/computer/file/text/F = new /datum/computer/file/text - if(!src.holding_folder.add_file(F)) - del(F) - else - src.note_file = F - F.data = src.note - - if("load") - var/datum/computer/file/text/T = locate(href_list["target"]) - if(!T || !istype(T)) - return - - src.note_file = T - src.note = note_file.data - src.note_mode = 0 - - if("switchmenu") - src.note_mode = !src.note_mode - - else if(href_list["browse_func"]) //File browser specific topic junk - var/datum/computer/target = locate(href_list["target"]) - switch(href_list["browse_func"]) - if("drive") - if(src.browse_folder.holder == src.master.hd && src.master.cartridge && (src.master.cartridge.root)) - src.browse_folder = src.master.cartridge.root - else - src.browse_folder = src.holding_folder - if("open") - if(!target || !istype(target)) - return - if(istype(target, /datum/computer/file/pda_program)) - if(istype(target,/datum/computer/file/pda_program/os) && (src.master.host_program)) - return - else - src.master.run_program(target) - src.master.updateSelfDialog() - return - - if("delete") - if(!target || !istype(target)) - return - src.master.delete_file(target) - - if("copy") - if(istype(target,/datum/computer/file) && (!target.holder || (target.holder in src.master.contents))) - src.clipboard = target - - if("paste") - if(istype(target,/datum/computer/folder)) - if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents)) - return - - if(!istype(src.clipboard)) - return - - src.clipboard.copy_file_to_folder(target) - - - else if(href_list["message_mode"]) - var/newmode = text2num(href_list["message_mode"]) - src.message_mode = max(newmode, 0) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - - receive_signal(datum/signal/signal) - if(..()) - return - - switch(signal.data["command"]) - if("text message") - if(!message_on || !signal.data["message"]) - return - var/sender = signal.data["sender"] - if(!sender) - sender = "!Unknown!" - - src.message_note += "← From [sender]:
[signal.data["message"]]
" - var/alert_beep = null //Don't beep if set to silent. - if(!src.message_silent) - alert_beep = src.message_tone - - src.master.display_alert(alert_beep) - src.master.updateSelfDialog() - - if("report pda") - if(!message_on) - return - - var/datum/signal/newsignal = new - newsignal.data["command"] = "reporting pda" - newsignal.data["tag"] = "\ref[signal.source]" - src.post_signal(newsignal) - - if("reporting pda") - if(!detected_pdas) - detected_pdas = new() - - if(!(signal.source in detected_pdas)) - detected_pdas += signal.source - - src.master.updateSelfDialog() - - return - - return_text_header() - if(!src.master) - return - - var/dat - - if(src.mode) - dat += " | Main Menu" - - else if (!isnull(src.master.cartridge)) - dat += " | Eject [src.master.cartridge]" - - dat += " | Refresh" - - return dat \ No newline at end of file diff --git a/code/unused/pda2/base_program.dm b/code/unused/pda2/base_program.dm deleted file mode 100644 index f5c11efc07..0000000000 --- a/code/unused/pda2/base_program.dm +++ /dev/null @@ -1,185 +0,0 @@ -//Eventual plan: Convert all datum/data to datum/computer/file -/datum/computer/file/text - name = "text" - extension = "TEXT" - size = 2.0 - var/data = null - -/datum/computer/file/record - name = "record" - extension = "REC" - - var/list/fields = list( ) - - -//base pda program - -/datum/computer/file/pda_program - name = "blank program" - extension = "PPROG" - var/obj/item/device/pda2/master = null - var/id_tag = null - - os - name = "blank system program" - extension = "PSYS" - - scan - name = "blank scan program" - extension = "PSCAN" - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/item/device/pda2)) - src.master = src.holder.loc - - proc - return_text() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - //world << "Holder [holder] not in [master] of prg:[src]" - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - process() //This isn't actually used at the moment - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - //maybe remove this, I haven't found a good use for it yet - send_os_command(list/command_list) - if(!src.master || !src.holder || src.master.host_program || !command_list) - return 1 - - if(!istype(src.master.host_program) || src.master.host_program == src) - return 1 - - src.master.host_program.receive_os_command() - - return 0 - - return_text_header() - if(!src.master || !src.holder) - return - - var/dat = " | Main Menu" - dat += " | Refresh" - - return dat - - post_signal(datum/signal/signal, newfreq) - if(master) - master.post_signal(signal, newfreq) - else - del(signal) - - transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder) - - if((newholder.file_used + src.size) > newholder.file_amount) - return 0 - - if(!newholder.root) - newholder.root = new /datum/computer/folder - newholder.root.holder = newholder - newholder.root.name = "root" - - if(!newfolder) - newfolder = newholder.root - - if((src.holder && src.holder.read_only) || newholder.read_only) - return 0 - - if((src.holder) && (src.holder.root)) - src.holder.root.remove_file(src) - - newfolder.add_file(src) - - if(istype(newholder.loc,/obj/item/device/pda2)) - src.master = newholder.loc - - //world << "Setting [src.holder] to [newholder]" - src.holder = newholder - return 1 - - - receive_signal(datum/signal/signal) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - - - Topic(href, href_list) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(src.master.active_program != src) - return 1 - - if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - usr.machine = src.master - - if (href_list["close"]) - usr.machine = null - usr << browse(null, "window=pda2") - return 0 - - if (href_list["quit"]) -// src.master.processing_programs.Remove(src) - if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents)) - src.master.run_program(src.master.host_program) - src.master.updateSelfDialog() - return 1 - else - src.master.active_program = null - src.master.updateSelfDialog() - return 1 - - return 0 \ No newline at end of file diff --git a/code/unused/pda2/pda2.dm b/code/unused/pda2/pda2.dm deleted file mode 100644 index 7f451c0d39..0000000000 --- a/code/unused/pda2/pda2.dm +++ /dev/null @@ -1,297 +0,0 @@ -//The advanced pea-green monochrome lcd of tomorrow. - - -//TO-DO: rearrange all this disk/data stuff so that fixed disks are the parent type -//because otherwise you have carts going into floppy drives and it's ALL MAD -/obj/item/weapon/disk/data/cartridge - name = "Cart 2.0" - desc = "A data cartridge for portable microcomputers." - icon = 'icons/obj/pda.dmi' - icon_state = "cart" - item_state = "electronic" - file_amount = 80.0 - title = "ROM Cart" - - pda2test - name = "Test Cart" - New() - ..() - src.root.add_file( new /datum/computer/file/computer_program/arcade(src)) - src.root.add_file( new /datum/computer/file/pda_program/manifest(src)) - src.root.add_file( new /datum/computer/file/pda_program/status_display(src)) - src.root.add_file( new /datum/computer/file/pda_program/signaler(src)) - src.root.add_file( new /datum/computer/file/pda_program/qm_records(src)) - src.root.add_file( new /datum/computer/file/pda_program/scan/health_scan(src)) - src.root.add_file( new /datum/computer/file/pda_program/records/security(src)) - src.root.add_file( new /datum/computer/file/pda_program/records/medical(src)) - src.read_only = 1 - - -/obj/item/device/pda2 - name = "PDA" - desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by an EEPROM cartridge." - icon = 'icons/obj/pda.dmi' - icon_state = "pda" - item_state = "electronic" - w_class = 2.0 - slow_flags = SLOT_BELT - - var/owner = null - var/default_cartridge = null // Access level defined by cartridge - var/obj/item/weapon/disk/data/cartridge/cartridge = null //current cartridge - var/datum/computer/file/pda_program/active_program = null - var/datum/computer/file/pda_program/os/host_program = null - var/datum/computer/file/pda_program/scan/scan_program = null - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/fon = 0 //Is the flashlight function on? - var/f_lum = 3 //Luminosity for the flashlight function -// var/datum/data/record/active1 = null //General -// var/datum/data/record/active2 = null //Medical -// var/datum/data/record/active3 = null //Security -// var/obj/item/weapon/integrated_uplink/uplink = null //Maybe replace uplink with some remote ~syndicate~ server - var/frequency = 1149 - var/datum/radio_frequency/radio_connection - - var/setup_default_cartridge = null //Cartridge contains job-specific programs - var/setup_drive_size = 24.0 //PDAs don't have much work room at all, really. - var/setup_system_os_path = /datum/computer/file/pda_program/os/main_os //Needs an operating system to...operate!! - - -/obj/item/device/pda2/pickup(mob/user) - if (src.fon) - src.sd_SetLuminosity(0) - user.sd_SetLuminosity(user.luminosity + src.f_lum) - -/obj/item/device/pda2/dropped(mob/user) - if (src.fon) - user.sd_SetLuminosity(user.luminosity - src.f_lum) - src.sd_SetLuminosity(src.f_lum) - -/obj/item/device/pda2/New() - ..() - spawn(5) - src.hd = new /obj/item/weapon/disk/data/fixed_disk(src) - src.hd.file_amount = src.setup_drive_size - src.hd.name = "Minidrive" - src.hd.title = "Minidrive" - - if(src.setup_system_os_path) - src.host_program = new src.setup_system_os_path - - src.hd.file_amount = max(src.hd.file_amount, src.host_program.size) - - src.host_program.transfer_holder(src.hd) - - if(radio_controller) - radio_controller.add_object(src, frequency) - - - if (src.default_cartridge) - src.cartridge = new src.setup_default_cartridge(src) -// if(src.owner) -// processing_items.Add(src) - -/obj/item/device/pda2/attack_self(mob/user as mob) - user.machine = src - - var/dat = "Personal Data Assistant" - - dat += "Close" - - if (!src.owner) - if(src.cartridge) - dat += " | Eject [src.cartridge]" - dat += "
Warning: No owner information entered. Please swipe card.

" - dat += "Retry" - else - if(src.active_program) - dat += src.active_program.return_text() - else - if(src.host_program) - src.run_program(src.host_program) - dat += src.active_program.return_text() - else - if(src.cartridge) - dat += " | Eject [src.cartridge]
" - dat += "
Fatal Error 0x17
" - dat += "No System Software Loaded
" - //To-do: System recovery shit (maybe have a dedicated computer for this kind of thing) - - - user << browse(dat,"window=pda2") - onclose(user,"pda2") - return - -/obj/item/device/pda2/Topic(href, href_list) - ..() - - if (usr.contents.Find(src) || usr.contents.Find(src.master) || (istype(src.loc, /turf) && get_dist(src, usr) <= 1)) - if (usr.stat || usr.restrained()) - return - - src.add_fingerprint(usr) - usr.machine = src - - - if(href_list["return_to_host"]) - if(src.host_program) - src.active_program = src.host_program - src.host_program = null - - else if (href_list["eject_cart"]) - src.eject_cartridge() - - else if (href_list["refresh"]) - src.updateSelfDialog() - - else if (href_list["close"]) - usr << browse(null, "window=pda2") - usr.machine = null - - src.updateSelfDialog() - return - -/obj/item/device/pda2/attackby(obj/item/weapon/C as obj, mob/user as mob) - if (istype(C, /obj/item/weapon/disk/data/cartridge) && isnull(src.cartridge)) - user.drop_item() - C.loc = src - user << "\blue You insert [C] into [src]." - src.cartridge = C - src.updateSelfDialog() - - else if (istype(C, /obj/item/weapon/card/id) && !src.owner && C:registered_name) - src.owner = C:registered_name - src.name = "PDA-[src.owner]" - user << "\blue Card scanned." - src.updateSelfDialog() - -/obj/item/device/pda2/receive_signal(datum/signal/signal) - if(!signal || signal.encryption || !src.owner) return - - if(signal.data["tag"] && signal.data["tag"] != "\ref[src]") return - - if(src.host_program) - src.host_program.receive_signal(signal) - - if(src.active_program && (src.active_program != src.host_program)) - src.host_program.receive_signal(signal) - - return - -/obj/item/device/pda2/attack(mob/M as mob, mob/user as mob) - if(src.scan_program) - return - else - ..() - -/obj/item/device/pda2/afterattack(atom/A as mob|obj|turf|area, mob/user as mob) - var/scan_dat = null - if(src.scan_program && istype(src.scan_program)) - scan_dat = src.scan_program.scan_atom(A) - - if(scan_dat) - A.visible_message("\red [user] has scanned [A]!") - user.show_message(scan_dat, 1) - - return - - -/obj/item/device/pda2/proc - - post_signal(datum/signal/signal,var/newfreq) - if(!signal) - return - var/freq = newfreq - if(!freq) - freq = src.frequency - - signal.source = src - - var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq) - - signal.transmission_method = TRANSMISSION_RADIO - if(frequency) - return frequency.post_signal(src, signal) - else - del(signal) - - eject_cartridge() - if(src.cartridge) - var/turf/T = get_turf(src) - - if(src.active_program && (src.active_program.holder == src.cartridge)) - src.active_program = null - - if(src.host_program && (src.host_program.holder == src.cartridge)) - src.host_program = null - - if(src.scan_program && (src.scan_program.holder == src.cartridge)) - src.scan_program = null - - src.cartridge.loc = T - src.cartridge = null - - return - - //Toggle the built-in flashlight - toggle_light() - src.fon = (!src.fon) - - if (ismob(src.loc)) - if (src.fon) - src.loc.sd_SetLuminosity(src.loc.luminosity + src.f_lum) - else - src.loc.sd_SetLuminosity(src.loc.luminosity - src.f_lum) - else - src.sd_SetLuminosity(src.fon * src.f_lum) - - src.updateSelfDialog() - - display_alert(var/alert_message) //Add alert overlay and beep - if (alert_message) - playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, src.loc)) - O.show_message(text("\icon[src] *[alert_message]*")) - - src.overlays.Cut() - src.overlays += image('icons/obj/pda.dmi', "pda-r") - return - - run_program(datum/computer/file/pda_program/program) - if((!program) || (!program.holder)) - return 0 - - if(!(program.holder in src)) - // world << "Not in src" - program = new program.type - program.transfer_holder(src.hd) - - if(program.master != src) - program.master = src - - if(!src.host_program && istype(program, /datum/computer/file/pda_program/os)) - src.host_program = program - - if(istype(program, /datum/computer/file/pda_program/scan)) - if(program == src.scan_program) - src.scan_program = null - else - src.scan_program = program - return 1 - - src.active_program = program - return 1 - - delete_file(datum/computer/file/file) - //world << "Deleting [file]..." - if((!file) || (!file.holder) || (file.holder.read_only)) - //world << "Cannot delete :(" - return 0 - - //Don't delete the running program you jerk - if(src.active_program == file || src.host_program == file) - src.active_program = null - - //world << "Now calling del on [file]..." - del(file) - return 1 \ No newline at end of file diff --git a/code/unused/pda2/record_progs.dm b/code/unused/pda2/record_progs.dm deleted file mode 100644 index 2ea856c93e..0000000000 --- a/code/unused/pda2/record_progs.dm +++ /dev/null @@ -1,181 +0,0 @@ -//CONTENTS: -//Generic records -//Security records -//Medical records - - -/datum/computer/file/pda_program/records - var/mode = 0 - var/datum/data/record/active1 = null //General - var/datum/data/record/active2 = null //Security/Medical/Whatever - -//To-do: editing arrest status/etc from pda. -/datum/computer/file/pda_program/records/security - name = "Security Records" - size = 12.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - dat += "

Security Record List

" - - for (var/datum/data/record/R in data_core.general) - dat += "[R.fields["id"]]: [R.fields["name"]]
" - - dat += "
" - - if(1) - - dat += "

Security Record

" - - dat += "
Back
" - - if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)) - dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
" - dat += "Sex: [src.active1.fields["sex"]]
" - dat += "Age: [src.active1.fields["age"]]
" - dat += "Fingerprint: [src.active1.fields["fingerprint"]]
" - dat += "Physical Status: [src.active1.fields["p_stat"]]
" - dat += "Mental Status: [src.active1.fields["m_stat"]]
" - else - dat += "Record Lost!
" - - dat += "
" - - dat += "

Security Data

" - if (istype(src.active2, /datum/data/record) && data_core.security.Find(src.active2)) - dat += "Criminal Status: [src.active2.fields["criminal"]]
" - - dat += "Minor Crimes: [src.active2.fields["mi_crim"]]
" - dat += "Details: [src.active2.fields["mi_crim"]]

" - - dat += "Major Crimes: [src.active2.fields["ma_crim"]]
" - dat += "Details: [src.active2.fields["ma_crim_d"]]

" - - dat += "Important Notes:
" - dat += "[src.active2.fields["notes"]]" - else - dat += "Record Lost!
" - - dat += "
" - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["select_rec"]) - var/datum/data/record/R = locate(href_list["select_rec"]) - var/datum/data/record/S = locate(href_list["select_rec"]) - - if (data_core.general.Find(R)) - for (var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - S = E - break - - src.active1 = R - src.active2 = S - - src.mode = 1 - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - -/datum/computer/file/pda_program/records/medical - name = "Medical Records" - size = 8.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - - dat += "

Medical Record List

" - for (var/datum/data/record/R in data_core.general) - dat += "[R.fields["id"]]: [R.fields["name"]]
" - dat += "
" - - if(1) - - dat += "

Medical Record

" - - dat += "
Back
" - - if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)) - dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
" - dat += "Sex: [src.active1.fields["sex"]]
" - dat += "Age: [src.active1.fields["age"]]
" - dat += "Fingerprint: [src.active1.fields["fingerprint"]]
" - dat += "Physical Status: [src.active1.fields["p_stat"]]
" - dat += "Mental Status: [src.active1.fields["m_stat"]]
" - else - dat += "Record Lost!
" - - dat += "
" - - dat += "

Medical Data

" - if (istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)) - dat += "Blood Type: [src.active2.fields["b_type"]]

" - - dat += "Minor Disabilities: [src.active2.fields["mi_dis"]]
" - dat += "Details: [src.active2.fields["mi_dis_d"]]

" - - dat += "Major Disabilities: [src.active2.fields["ma_dis"]]
" - dat += "Details: [src.active2.fields["ma_dis_d"]]

" - - dat += "Allergies: [src.active2.fields["alg"]]
" - dat += "Details: [src.active2.fields["alg_d"]]

" - - dat += "Current Diseases: [src.active2.fields["cdi"]]
" - dat += "Details: [src.active2.fields["cdi_d"]]

" - - dat += "Important Notes: [src.active2.fields["notes"]]
" - else - dat += "Record Lost!
" - - dat += "
" - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["select_rec"]) - var/datum/data/record/R = locate(href_list["select_rec"]) - var/datum/data/record/M = locate(href_list["select_rec"]) - - if (data_core.general.Find(R)) - for (var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - break - - src.active1 = R - src.active2 = M - - src.mode = 1 - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return \ No newline at end of file diff --git a/code/unused/pda2/scanners.dm b/code/unused/pda2/scanners.dm deleted file mode 100644 index 499b867954..0000000000 --- a/code/unused/pda2/scanners.dm +++ /dev/null @@ -1,103 +0,0 @@ -//CONTENTS: -//Base scanner stuff -//Health scanner -//Forensic scanner -//Reagent scanner - -/datum/computer/file/pda_program/scan - return_text() - return src.return_text_header() - - proc/scan_atom(atom/A as mob|obj|turf|area) - - if( !A || (!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.scan_program == src) - master.scan_program = null - return 1 - - return 0 - - //Health analyzer program - health_scan - name = "Health Scan" - size = 8.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - - var/mob/living/carbon/C = A - if(!istype(C)) - return - - var/dat = "\blue Analyzing Results for [C]:\n" - dat += "\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health]% healthy"]\n" - dat += "\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.getFireLoss() > 50 ? "\red" : "\blue"][C.getFireLoss()]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]\n" - dat += "\blue \t Key: Suffocation/Toxin/Burns/Brute\n" - dat += "\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)" - if(C.virus) - dat += "\red \nWarning Virus Detected.\nName: [C.virus.name].\nType: [C.virus.spread].\nStage: [C.virus.stage]/[C.virus.max_stages].\nPossible Cure: [C.virus.cure]" - - return dat - - //Forensic scanner - forensic_scan - name = "Forensic Scan" - size = 8.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - var/dat = null - - if(istype(A,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = A - if (!istype(H.dna, /datum/dna) || !isnull(H.gloves)) - dat += "\blue Unable to scan [A]'s fingerprints.\n" - else - dat += "\blue [H]'s Fingerprints: [md5(H.dna.uni_identity)]\n" - if ( !(H.blood_DNA.len) ) - dat += "\blue No blood found on [H]\n" - else - for(var/i = 1, i < H.blood_DNA.len, i++) - var/list/templist = H.blood_DNA[i] - user << "\blue Blood type: [templist[2]]\nDNA: [templist[1]]" - - if (!A.fingerprints) - dat += "\blue Unable to locate any fingerprints on [A]!\n" - else - var/list/L = params2list(A:fingerprints) - dat += "\blue Isolated [L.len] fingerprints.\n" - for(var/i in L) - dat += "\blue \t [i]\n" - - return dat - - - //Reagent scanning program - reagent_scan - name = "Reagent Scan" - size = 6.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - var/dat = null - if(!isnull(A.reagents)) - if(A.reagents.reagent_list.len > 0) - var/reagents_length = A.reagents.reagent_list.len - dat += "\blue [reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.\n" - for (var/datum/reagent/re in A.reagents.reagent_list) - dat += "\blue \t [re] - [re.volume]\n" - else - dat = "\blue No active chemical agents found in [A]." - else - dat = "\blue No significant chemical agents found in [A]." - - return dat diff --git a/code/unused/pda2/smallprogs.dm b/code/unused/pda2/smallprogs.dm deleted file mode 100644 index 1f8a1a74bf..0000000000 --- a/code/unused/pda2/smallprogs.dm +++ /dev/null @@ -1,207 +0,0 @@ -//Assorted small programs not worthy of their own file -//CONTENTS: -//Crew Manifest viewer -//Status display controller -//Remote signaling program -//Cargo orders monitor - -//Manifest -/datum/computer/file/pda_program/manifest - name = "Manifest" - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

Crew Manifest

" - dat += "Entries cannot be modified from this terminal.

" - - for (var/datum/data/record/t in data_core.general) - dat += "[t.fields["name"]] - [t.fields["rank"]]
" - dat += "
" - - return dat - -//Status Display -/datum/computer/file/pda_program/status_display - name = "Status Controller" - size = 8.0 - var/message1 // For custom messages on the displays. - var/message2 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

Station Status Display Interlink

" - - dat += "\[ Clear \]
" - dat += "\[ Station Time \]
" - dat += "\[ Shuttle ETA \]
" - dat += "\[ Message \]" - - dat += "
" - dat += "\[ Alert: None |" - - dat += " Red Alert |" - dat += " Lockdown |" - dat += " Biohazard \]
" - - return dat - - - Topic(href, href_list) - if(..()) - return - - if(href_list["statdisp"]) - switch(href_list["statdisp"]) - if("message") - post_status("message", message1, message2) - if("alert") - post_status("alert", href_list["alert"]) - if("time") - post_status("time") - - if("setmsg1") - message1 = input("Line 1", "Enter Message Text", message1) as text|null - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - src.master.updateSelfDialog() - - if("setmsg2") - message2 = input("Line 2", "Enter Message Text", message2) as text|null - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - src.master.updateSelfDialog() - else - post_status(href_list["statdisp"]) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - - proc/post_status(var/command, var/data1, var/data2) - if(!src.master) - return - - var/datum/signal/status_signal = new - status_signal.source = src.master - status_signal.transmission_method = 1 - status_signal.data["command"] = command - - switch(command) - if("message") - status_signal.data["msg1"] = data1 - status_signal.data["msg2"] = data2 - if("alert") - status_signal.data["picture_state"] = data1 - - src.post_signal(status_signal,"1435") - -//Signaler -/datum/computer/file/pda_program/signaler - name = "Signalix 5" - size = 8.0 - var/send_freq = 1457 //Frequency signal is sent at, should be kept within normal radio ranges. - var/send_code = 30 - var/last_transmission = 0 //No signal spamming etc - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

Remote Signaling System

" - dat += {" -Send Signal
- -Frequency: -- -- -[format_frequency(send_freq)] -+ -+
-
-Code: -- -- -[send_code] -+ -+
"} - - return dat - - Topic(href, href_list) - if(..()) - return - - if (href_list["send"]) - if(last_transmission && world.time < (last_transmission + 5)) - return - last_transmission = world.time - spawn( 0 ) - var/time = time2text(world.realtime,"hh:mm:ss") - lastsignalers.Add("[time] : [usr.key] used [src.master] @ location ([src.master.loc.x],[src.master.loc.y],[src.master.loc.z]) : [format_frequency(send_freq)]/[send_code]") - - var/datum/signal/signal = new - signal.source = src - signal.encryption = send_code - signal.data["message"] = "ACTIVATE" - - src.post_signal(signal,"[send_freq]") - return - - else if (href_list["adj_freq"]) - src.send_freq = sanitize_frequency(src.send_freq + text2num(href_list["adj_freq"])) - - else if (href_list["adj_code"]) - src.send_code += text2num(href_list["adj_code"]) - src.send_code = round(src.send_code) - src.send_code = min(100, src.send_code) - src.send_code = max(1, src.send_code) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - -//Supply record monitor -/datum/computer/file/pda_program/qm_records - name = "Supply Records" - size = 8.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - dat += "

Supply Record Interlink

" - - dat += "
Supply shuttle
" - dat += "Location: [supply_shuttle_moving ? "Moving to station ([supply_shuttle_timeleft] Mins.)":supply_shuttle_at_station ? "Station":"Dock"]
" - dat += "Current approved orders:
    " - for(var/S in supply_shuttle_shoppinglist) - var/datum/supply_order/SO = S - dat += "
  1. [SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]
  2. " - dat += "
" - - dat += "Current requests:
    " - for(var/S in supply_shuttle_requestlist) - var/datum/supply_order/SO = S - dat += "
  1. [SO.object.name] requested by [SO.orderedby]
  2. " - dat += "
Upgrade NOW to Space Parts & Space Vendors PLUS for full remote order control and inventory management." - - return dat diff --git a/code/unused/pipe.dm b/code/unused/pipe.dm deleted file mode 100644 index 2a3e0b90e1..0000000000 --- a/code/unused/pipe.dm +++ /dev/null @@ -1,1828 +0,0 @@ -// pipeline datum for storing inter-machine links -// create a pipeline - -//number of pipelines -var/linenums = 0 - -/obj/machinery/pipeline/New() - ..() - - gas = new /datum/gas_mixture() - ngas = new /datum/gas_mixture() - - gasflowlist += src - -// find the pipeline that contains the /obj/machine (including pipe) -/proc/findline(var/obj/machinery/M) - - for(var/obj/machinery/pipeline/P in plines) - - for(var/obj/machinery/O in P.nodes) - - if(M==O) - return P - - return null - -// sets the vnode1&2 terminators to the joining machines (or null) -/obj/machinery/pipeline/proc/setterm() - - //first make sure pipes are oriented correctly - - var/obj/machinery/M = null - - for(var/obj/machinery/pipes/P in nodes) - if(!M) // special case for 1st pipe - if(P.node1 && P.node1.ispipe()) - P.flip() // flip if node1 is a pipe - else - if(P.node1 != M) //other cases, flip if node1 doesn't point to previous node - P.flip() // (including if it is null) - - - M = P - - - // pipes are now ordered so that n1/n2 is in same order as pipeline list - - var/obj/machinery/pipes/P = nodes[1] // 1st node in list - vnode1 = P.node1 // n1 points to 1st machine - P = nodes[nodes.len] // last node in list - vnode2 = P.node2 // n2 points to last machine - - if(vnode1) - vnode1.buildnodes() - if(vnode2) - vnode2.buildnodes() - - return - -/* -/obj/machinery/pipeline/get_gas_moles(from) - return gas.total_moles()/capmult -*/ -/obj/machinery/pipeline/get_gas(from) - return gas - -/obj/machinery/pipeline/gas_flow() - //if(suffix == "d" && Debug) world.log << "PLF1 [gas.total_moles()] ~ [ngas.total_moles()]" - - gas.copy_from(ngas) - - //if(suffix == "d" && Debug) world.log << "PLF2 [gas.total_moles()] ~ [ngas.total_moles()]" - -/obj/machinery/pipeline/process() - /* - // heat exchange for whole pipeline - - //if(suffix=="dbgp") - // world.log << "PLP" - // Plasma() - -// var/dbg = (suffix == "d") && Debug - - //if(dbg) world.log << "PLP1 [gas.total_moles()] ~ [ngas.total_moles()]" - - if(!numnodes) - return //dividing by zero is bad okay? - - var/gtemp = ngas.temperature // cached temperature for heat exch calc - var/tot_node = ngas.total_moles() / numnodes // fraction of gas in this node - - //if(dbg) world.log << "PLHE: [gtemp] [tot_node]" - - if(tot_node>0.1) // no pipe contents, don't heat - for(var/obj/machinery/pipes/P in src.nodes) // for each segment of pipe - P.heat_exchange(ngas, tot_node, numnodes, gtemp) //, dbg) // exchange heat with its turf - if(!istype(P, /obj/machinery/pipes/heat_exch) && ((100*tot_node/P.capacity > 15000) || (gtemp > 8000)) ) - P.rupture() - //Commenting this out because it spams on endlessly - //for (var/mob/M in viewers(P)) - //M.show_message("\red The pipe has ruptured!", 3) - //so this is changed to pipe rupturing instead of explosions - //i.e. it ruptures if the pressure over 15000% - //and temperature over 8000K - //it also doesn't work on heat_exchange pipes - // now do standard gas flow proc - - - //if(dbg) world.log << "PLP2 [ngas.total_moles()]" - - var/delta_gt - - if(vnode1 && !(vnode1.stat & BROKEN)) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt)//, dbg) - - //if(dbg) world.log << "PLT1 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]" - - flow = delta_gt - else - leak_to_turf(1) - - if(vnode2 && !(vnode2.stat & BROKEN)) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt)//, dbg) - - //if(dbg) world.log << "PLT2 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]" - - flow -= delta_gt - else - leak_to_turf(2) - - */ //TODO: FIX - -/obj/machinery/pipeline/proc/leak_to_turf(var/port) - /* - var/turf/T - var/obj/machinery/pipes/P - var/list/ndirs - - switch(port) - if(1) - P = nodes[1] // 1st node in list - if (P==null) - T = src.loc - else - ndirs = P.get_node_dirs() - - T = get_step(P, ndirs[1]) - - - if(2) - P = nodes[nodes.len] // last node in list - if (P==null) - T = src.loc - else - - ndirs = P.get_node_dirs() - T = get_step(P, ndirs[2]) - if (T==null) - return - if(T.density) - return - - flow_to_turf(gas, ngas, T) - */ //TODO: FIX - - -// build the pipelines (THIS HAPPENS ONCE!) -/proc/makepipelines() - - for(var/obj/machinery/pipes/P in machines) // look for a pipe - - if(!P.plnum) // if not already part of a line - P.buildnodes(++linenums) // add it, and spread to all connected pipes - - //world.log<<"Line #[linecount] started at [P] ([P.x],[P.y],[P.z])" - - for(var/L = 1 to linenums) // for count of lines found - var/obj/machinery/pipeline/PL = new() // make a pipeline virtual object - PL.name = "pipeline #[L]" - plines += PL // and add it to the list - PL.linenumber = L - - - - for(var/obj/machinery/pipes/P in machines) // look for pipes - - if(P.termination) // true if pipe is terminated (ends in blank or a machine) - var/obj/machinery/pipeline/PL = plines[P.plnum] // get the pipeline from the pipe's pl-number - - var/list/pipes = pipelist(null, P) // get a list of pipes from P until terminated - - PL.nodes = pipes // pipeline is this list of nodes - PL.numnodes = pipes.len // with this many nodes - PL.capmult = PL.numnodes+1 // with this flow multiplier - - - - for(var/obj/machinery/pipes/P in machines) // all pipes - P.setline() // set the pipeline object for this pipe - - if(P.tag == "dbg") //add debug tag to line containing debug pipe - P.parent.tag = "dbg" - - if(P.suffix == "dbgpp") //add debug tag to line containing debug pipe - P.parent.suffix = "dbgp" - - if(P.suffix == "d") //add debug tag to line containing debug pipe - P.parent.suffix = "d" - - - for(var/obj/machinery/M in machines) // for all machines - if(M.p_dir) // which are pipe-connected - if(!M.ispipe()) // is not a pipe itself - M.buildnodes() // build the nodes, setting the links to the virtual pipelines - // also sets the vnodes for the pipelines - - for(var/obj/machinery/pipeline/PL in plines) // for all lines - PL.setterm() // orient the pipes and set the pipeline vnodes to the terminating machines - -// return a list of pipes (not including terminating machine) - -/proc/pipelist(var/obj/machinery/source, var/obj/machinery/startnode) - - var/list/L = list() - - var/obj/machinery/node = startnode - var/obj/machinery/prev = source - var/obj/machinery/newnode - - while(node) - L += node - newnode = node.next(prev) - prev = node - - if(newnode && newnode.ispipe()) - node = newnode - else - break - - return L - -// new pipes system - -// flip the nodes of a pipe -/obj/machinery/pipes/proc/flip() - var/obj/machinery/tempnode = node1 - node1 = node2 - node2 = tempnode - return - - -// return the next pipe in the node chain -/obj/machinery/pipes/next(var/obj/machinery/from) - - if(from == null) // if from null, then return the next actual pipe - if(node1 && node1.ispipe() ) - return node1 - if(node2 && node2.ispipe() ) - return node2 - return null // else return null if no real pipe connected - - else if(from == node1) // otherwise, return the node opposite the incoming one - return node2 - else - return node1 - - -// set the pipeline obj from the pl-number and global list of pipelines - -/obj/machinery/pipes/setline() - src.parent = plines[plnum] - return - -// returns the pipeline that this line is in - -/obj/machinery/pipes/getline() - return parent - -/obj/machinery/pipes/orient_pipe(P as obj) - if (!( src.node1 )) - src.node1 = P - else - if (!( src.node2 )) - src.node2 = P - else - return 0 - return 1 - -// returns a list of dir1, dir2 & p_dir for a pipe - -/obj/machinery/pipes/proc/get_dirs() - var/b1 - var/b2 - - for(var/d in cardinal) - if(p_dir & d) - if(!b1) - b1 = d - else if(!b2) - b2 = d - - return list(b1, b2, p_dir) - -// returns a list of the directions of a pipe, matched to nodes (if present) - -/obj/machinery/pipes/proc/get_node_dirs() - var/list/dirs = get_dirs() - - - if(!node1 && !node2) // no nodes - just return the standard dirs - return dirs // note extra p_dir on end of list is unimportant - else - if(node1) - var/d1 = get_dir(src, node1) // find the direction of node1 - if(d1==dirs[1]) // if it matches - return dirs // then dirs list is correct - else - return list(dirs[2], dirs[1]) // otherwise return the list swapped - - else // node2 must be valid - var/d2 = get_dir(src, node2) // direction of node2 - if(d2==dirs[2]) // matches - return dirs // dirs list is correct - else - return list(dirs[2], dirs[1]) // otherwise swap order - - -/obj/machinery/pipes/proc/update() - - var/turf/T = src.loc - - var/list/dirs = get_dirs() - - var/is = "[dirs[3]]" - - if(stat & BROKEN) - is += "-b" - - if ((src.level == 1 && isturf(src.loc) && T.intact)) - src.invisibility = 101 - is += "-f" - - else - src.invisibility = 0 - - src.icon_state = is - - if(node1 && node2) - overlays.Cut() - else if(!node1 && !node2) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else if(!node1) - var/d2 = get_dir(src, node2) - if(dirs[1] == d2) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - else if(!node2) - var/d1 = get_dir(src, node1) - if(dirs[1] == d1) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - - - return - -/obj/machinery/pipes/hide(var/i) - update() - - //its lazy right now but wait until after my exams and I'll redo it. - //redid it, oh shit - -/obj/machinery/pipes/proc/rupture() - - stat |= BROKEN - update() - -/obj/machinery/pipes/Del() - stat |= BROKEN - update() - ..() - - -/obj/machinery/pipes/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - if(!(stat & BROKEN)) - return - if (W:weldfuel < 2) - user << "\blue You need more welding fuel to complete this task." - return - W:weldfuel -= 2 - stat &= ~BROKEN - update() - for (var/mob/M in viewers(src)) - M.show_message("\red The pipe has been mended by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2) - return - -/obj/machinery/pipes/ex_act(severity) - switch(severity) - if(1.0) - del(src) - return - if(2.0) - stat |= BROKEN - update() - if (prob(50)) - del(src) - return - if(3.0) - if(prob(75)) - stat |= BROKEN - update() - if (prob(25)) - del(src) - return - else - return -/* - var/strength = (((plasma + oxygen/2.0) / 1600000.0) * sqrt(temp) ) / 10 - message_admins("CODER: Pipe explosion strength: [strength], Temperature: [temp], Plasma: [plasma], Oxygen: [oxygen]") - //lets say hypothetically it uses up 9/10 of its energy in bursting the pipe - - if (strength < 773.0) - var/turf/T = get_turf(src.loc) - T.poison += plasma - T.firelevel = T.poison - T.res_vars() - - //if ((src.gas.temperature > (450+T0C) && src.gas.plasma == 1600000.0)) - - if (strength > (450+T0C)) - var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z) - var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z) - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - var/zone = 4 - if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) ) - zone = 3 - if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 1) && U.x >= (T.x - 1) )) - zone = 2 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(342) - U.ex_act(zone) - U.buildlinks() - //Foreach goto(170) - defer_powernet_rebuild = 0 - makepowernets() - - else - //if ((src.gas.temperature > (300+T0C) && src.gas.plasma == 1600000.0)) - if (strength > (300+T0C)) - var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z) - var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z) - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - var/zone = 4 - if ((U.y <= (T.y + 2) && U.y >= (T.y - 2) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) ) - zone = 3 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(598) - U.ex_act(zone) - U.buildlinks() - //Foreach goto(498) - defer_powernet_rebuild = 0 - makepowernets() - - //src.master = null - //SN src = null - del(src) - return - - var/turf/T = src.loc - while(!( istype(T, /turf) )) - T = T.loc - - for(var/mob/M in range(T)) - flick("flash", M.flash) - //Foreach goto(732) - //var/m_range = 2 - - var/m_range = round(strength / 387) - for(var/obj/machinery/atmoalter/canister/C in range(2, T)) - if (!( C.destroyed )) - if (C.gas.plasma >= 35000) - C.destroyed = 1 - m_range++ - - //Foreach goto(776) - var/min = m_range - var/med = m_range * 2 - var/max = m_range * 3 - var/u_max = m_range * 4 - - var/turf/sw = locate(max(T.x - u_max, 1), max(T.y - u_max, 1), T.z) - var/turf/ne = locate(min(T.x + u_max, world.maxx), min(T.y + u_max, world.maxy), T.z) - - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - - var/zone = 4 - if ((U.y <= (T.y + max) && U.y >= (T.y - max) && U.x <= (T.x + max) && U.x >= (T.x - max) )) - zone = 3 - if ((U.y <= (T.y + med) && U.y >= (T.y - med) && U.x <= (T.x + med) && U.x >= (T.x - med) )) - zone = 2 - if ((U.y <= (T.y + min) && U.y >= (T.y - min) && U.x <= (T.x + min) && U.x >= (T.x - min) )) - zone = 1 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(1217) - U.ex_act(zone) - U.buildlinks() - //U.mark(zone) - - //Foreach goto(961) - //src.master = null - defer_powernet_rebuild = 0 - makepowernets() - - //SN src = null - del(src) - return -*/ -/* -/obj/machinery/pipes/process() -*/ - -/obj/machinery/pipes/New() - - ..() - - if(istype(src, /obj/machinery/pipes/heat_exch)) - h_dir = text2num(icon_state) - else - p_dir = text2num(icon_state) - - -/obj/machinery/pipes/ispipe() // return true since this is a pipe - return 1 - -/obj/machinery/pipes/buildnodes(var/linenum) - - var/list/dirs = get_dirs() - - node1 = get_machine(level, src.loc, dirs[1]) - node2 = get_machine(level, src.loc, dirs[2]) - - if(plnum) - return - - update() - - plnum = linenum - - termination = 0 - - if(node1 && node1.ispipe() ) - - node1.buildnodes(linenum) - else - termination++ - - if(node2 && node2.ispipe() ) - node2.buildnodes(linenum) - else - termination++ - - -/obj/machinery/pipes/heat_exch/get_dirs() - var/b1 - var/b2 - - for(var/d in cardinal) - if(h_dir & d) - if(!b1) - b1 = d - else if(!b2) - b2 = d - - return list(b1, b2, h_dir) - -/obj/machinery/pipes/heat_exch/buildnodes(var/linenum) - - src.level = 2 // h/e pipe cannot be put underfloor - - var/list/dirs = get_dirs() - - node1 = get_he_machine(level, src.loc, dirs[1]) - node2 = get_he_machine(level, src.loc, dirs[2]) - - if(plnum) - return - - update() - - plnum = linenum - - termination = 0 - - if(node1 && node1.ispipe() ) - - node1.buildnodes(linenum) - else - termination++ - - if(node2 && node2.ispipe() ) - node2.buildnodes(linenum) - else - termination++ - - -/obj/machinery/pipes/proc/heat_exchange(var/datum/gas_mixture/gas, var/tot_node, var/numnodes, var/temp, var/dbg=0) - -/* var/turf/T = src.loc // turf location of pipe - if(T.density) return - if(istype(src, /obj/machinery/pipes/flexipipe)) return - - if( level != 1) // no heat exchange for under-floor pipes - if(istype(T,/turf/space)) // heat exchange less efficient in space (no conduction) - gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes) - else - - // if(dbg) world.log << "PHE: ([x],[y]) [T.temp]-> \..." - var/delta_T = (T.temp - temp) / (insulation) // normal turf - - gas.temperature += delta_T / numnodes // heat the pipe due to turf temperature - - /* - if(abs(delta_T*tot_node/T.total_moles()) > 1) - world.log << "Turf [T] at [T.x],[T.y]: gt=[temp] tt=[T.temp]" - world.log << "dT = [delta_T] tn=[tot_node] ttg=[T.total_moles()] tt-=[delta_T*tot_node/T.total_moles()]" - - */ - var/tot_turf = max(1, T.total_moles()) - T.temp -= delta_T*min(10,tot_node/tot_turf) // also heat the turf due to pipe temp - // clamp max temp change to prevent thermal runaway - // if low amount of gas in turf - // if(dbg) world.log << "[T.temp] [tot_turf] #[delta_T]" - T.res_vars() // ensure turf tmp vars are updated - - else // if level 1 but in space, perform cooling anyway - exposed pipes - if(istype(T,/turf/space)) - gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes) -*/ //TODO FIX -// finds the machine with compatible p_dir in 1 step in dir from S -/proc/get_machine(var/level, var/turf/S, mdir) - - var/flip = turn(mdir, 180) - - var/turf/T = get_step(S, mdir) - - for(var/obj/machinery/M in T.contents) - if(M.level == level) - if(M.p_dir & flip) - return M - - return null - -// finds the machine with compatible h_dir in 1 step in dir from S -/proc/get_he_machine(var/level, var/turf/S, mdir) - - var/flip = turn(mdir, 180) - - var/turf/T = get_step(S, mdir) - - for(var/obj/machinery/M in T.contents) - if(M.level == level) - if(M.h_dir & flip) - return M - - return null - -// ***** circulator - -/obj/machinery/circulator/New() - ..() - gas1 = new /datum/gas_mixture() - gas2 = new /datum/gas_mixture() - - ngas1 = new /datum/gas_mixture() - ngas2 = new /datum/gas_mixture() - - gasflowlist += src - - //gas.co2 = capacity - - updateicon() - -/obj/machinery/circulator/buildnodes() - - var/turf/TS = get_step(src, SOUTH) - var/turf/TN = get_step(src, NORTH) - - for(var/obj/machinery/M in TS) - - if(M && (M.p_dir & 1)) - node1 = M - break - - for(var/obj/machinery/M in TN) - - if(M && (M.p_dir & 2)) - node2 = M - break - - - if(node1) vnode1 = node1.getline() - - if(node2) vnode2 = node2.getline() - - -/* -/obj/machinery/circulator/verb/toggle_power() - set src in view(1) - - if(status == 1) - status = 2 - spawn(30) // 3 second delay for slow-off - if(status == 2) - status = 0 - updateicon() - else if(status == 0) - status =1 - - updateicon() - - - -/obj/machinery/circulator/verb/set_rate(r as num) - set src in view(1) - rate = r/100.0*capacity -*/ - -/obj/machinery/circulator/proc/control(var/on, var/prate) - - rate = prate/100*capacity - - if(status == 1) - if(!on) - status = 2 - spawn(30) - if(status == 2) - status = 0 - updateicon() - else if(status == 0) - if(on) - status = 1 - else // status ==2 - if(on) - status = 1 - - updateicon() - - -/obj/machinery/circulator/proc/updateicon() - - if(stat & NOPOWER) - icon_state = "circ[side]-p" - return - - var/is - switch(status) - if(0) - is = "off" - if(1) - is = "run" - if(2) - is = "slow" - - icon_state = "circ[side]-[is]" - - - -/obj/machinery/circulator/power_change() - ..() - updateicon() - -/* -/obj/machinery/circulator/receive_gas(var/obj/substance/gas/t_gas as obj, from as obj, amount) - - - if(from != src.node1) - return - - amount = min(receive_amount(src), amount) - - - //src.gas.transfer_from(t_gas, amount) - - return -*/ -/obj/machinery/circulator/gas_flow() - - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/circulator/process() - /* - // if operating, pump from resv1 to resv2 - - if(! (stat & NOPOWER) ) // only do circulator step if powered; still do rest of gas flow at all times - if(status==1 || status==2) - gas2.transfer_from(gas1, status==1? rate : rate/2) - use_power(rate/capacity * 100) - ngas1.copy_from(gas1) - ngas2.copy_from(gas2) - - - // now do standard process - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - else - leak_to_turf(2)*/ //TODO FIX - -/obj/machinery/circulator/proc/leak_to_turf(var/port) - /* - var/turf/T - - switch(port) - if(1) - T = get_step(src, SOUTH) - if(2) - T = get_step(src, NORTH) - - if(T.density) - T = src.loc - if(T.density) - return - - switch(port) - if(1) - flow_to_turf(gas1, ngas1, T) - if(2) - flow_to_turf(gas2, ngas2, T) - - - // do leak - */ //TODO: FIX - -/* -/obj/machinery/circulator/get_gas_moles(from) - if(from == vnode1) - return gas1.total_moles()/capmult - else - return gas2.total_moles()/capmult -*/ //TODO: FIX -/obj/machinery/circulator/get_gas(from) - if(from == vnode1) - return gas1 - else - return gas2 - -/* -/obj/machinery/connector/New() - ..() - - gas = new /datum/gas_mixture() - ngas = new /datum/gas_mixture() - //agas = new/obj/substance/gas() - - gasflowlist += src - spawn(5) - var/obj/machinery/atmoalter/A = locate(/obj/machinery/atmoalter, src.loc) - - if(A && A.c_status != 0) - connected = A - A.anchored = 1 - - - - -/obj/machinery/connector/buildnodes() - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - - return - - - -/obj/machinery/connector/examine(mob/user) - if(..(user, 1)) - if(connected) - usr << "It is connected to \an [connected.name]." - else - usr << "It is unconnected." - - - -/obj/machinery/connector/get_gas_val(from) - return gas.total_moles()/capmult - -/obj/machinery/connector/get_gas(from) - return gas - - -/obj/machinery/connector/gas_flow() - -// var/dbg = (suffix == "d") && Debug - //if(dbg) world.log << "CF0: ngas=[ngas.total_moles()]" - - //ngas.transfer_from(agas, -1) - - //if(dbg) world.log << "CF1: ngas=[gas.total_moles()]" - gas.copy_from(ngas) - //if(dbg) world.log << "CF2: gas=[gas.total_moles()]" - flag = 0 - -/obj/machinery/connector/process() - //if(suffix=="dbgp") - // world.log << "CP" - // Plasma() - - var/delta_gt -// var/dbg = (suffix == "d") && Debug - - //if(dbg) world.log << "C[tag]P: [gas.total_moles()] ~ [ngas.total_moles()]" - //if(dbg && connected) world.log << "C[tag]PC: [connected.gas.total_moles()]" - - if(vnode) - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - //if(dbg) world.log << "C[tag]P0: [delta_gt]" - - //var/obj/substance/gas/vgas = vnode.get_gas(src) - - //if(dbg) world.log << "C[tag]P1: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]" - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - //if(dbg) world.log << "C[tag]P2: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]" - - else - leak_to_turf() - - if(connected) - var/amount - if(connected.c_status == 1) // canister set to release - - //if(dbg) world.log << "C[tag]PC1: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]" - amount = min(connected.c_per, capacity - gas.total_moles() ) // limit to space in connector - amount = max(0, min(amount, connected.gas.total_moles() ) ) // limit to amount in canister, or 0 - //if(dbg) world.log << "C[tag]PC2: a=[amount]" - //var/ng = ngas.total_moles() - ngas.transfer_from( connected.gas, amount) - //if(dbg) world.log <<"[ngas.total_moles()-ng] from siph to connector" - //if(dbg) world.log << "C[tag]PC3: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]" - else if(connected.c_status == 2) // canister set to accept - - amount = min(connected.c_per, connected.gas.maximum - connected.gas.total_moles()) //limit to space in canister - amount = max(0, min(amount, gas.total_moles() ) ) // limit to amount in connector, or 0 - - connected.gas.transfer_from( ngas, amount) - - //flag = 1 - - //if(suffix=="dbgp") - // world.log << "CP" - // Plasma() -*/ //TODO: FIX - - -/obj/machinery/connector/proc/leak_to_turf() - /* - //var/dbg = (tag == "dbg") && Debug - - var/turf/T = get_step(src, dir) - if(T && !T.density) - - //if(dbg) world.log << "CLT1: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]" - - - flow_to_turf(gas, ngas, T) - - //if(dbg) world.log << "CLT2: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]" - */ - - -/obj/machinery/junction/New() - ..() - gas = new/datum/gas_mixture(src) - ngas = new/datum/gas_mixture() - gasflowlist += src - - h_dir = dir // the h/e pipe is in obj dir - p_dir = turn(dir, 180) // the reg pipe is in opposite dir - - -/obj/machinery/junction/buildnodes() - - var/turf/T = src.loc - - node1 = get_he_machine(level, T, h_dir ) // the h/e pipe - - node2 = get_machine(level, T , p_dir ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/junction/gas_flow() - - //var/dbg - //if(tag == "dbg1") - // dbg = 1 - //else if(tag == "dbg2") - // dbg = 2 - - //if(dbg) world.log << "J[dbg]F1: [gas.tostring()] ~ [ngas.tostring()]" - - - gas.copy_from(ngas) - - //if(dbg) world.log << "J[dbg]F2: [gas.tostring()] ~ [ngas.tostring()]" - -/obj/machinery/junction/process() -/* - //var/dbg - //if(tag == "dbg1") - // dbg = 1 - //else if(tag == "dbg2") - // dbg = 2 - - //if(dbg) world.log << "J[dbg]P: [gas.tostring()] ~ [ngas.tostring()]" - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt) //, dbg) - - // if(dbg) world.log << "J[dbg]T1: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]" - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt) //, dbg) - - // if(dbg) world.log << "J[dbg]T2: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]" - else - leak_to_turf(2) -*/ //TODO: FIX - -/obj/machinery/junction/get_gas_val(from) - return gas.total_moles()/capmult - -/obj/machinery/junction/get_gas(from) - return gas - -/obj/machinery/junction/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - flow_to_turf(gas, ngas, T) - - -/obj/machinery/vent/New() - - ..() - p_dir = dir - gas = new /datum/gas_mixture(src) - ngas = new /datum/gas_mixture() - gasflowlist += src - - -/obj/machinery/vent/buildnodes() - - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - return - - -/obj/machinery/vent/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/vent/get_gas(from) - return gas - - -/obj/machinery/vent/gas_flow() - -// var/dbg = (suffix=="d") && Debug - //if(dbg) world.log << "V[tag]F1: [gas.total_moles()] ~ [ngas.total_moles()]" - gas.copy_from(ngas) - //if(dbg) world.log << "V[tag]F2: [gas.total_moles()] ~ [ngas.total_moles()]" - -/obj/machinery/vent/process() - /* - -// var/dbg = (suffix=="d") && Debug - //if(dbg) world.log << "V[tag]T1: [gas.total_moles()] ~ [ngas.total_moles()]" - - //if(suffix=="dbgp") - // world.log << "VP" - // Plasma() - - var/delta_gt - - var/turf/T = src.loc - - delta_gt = FLOWFRAC * (gas.total_moles() / capmult) - //var/ng = ngas.total_moles() - ngas.turf_add(T, delta_gt) - - //if(dbg) world.log << "[num2text(ng-ngas.total_moles(),10)] from vent to turf" - //if(dbg) world.log << "V[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]" - - if(vnode) - - //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]" - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - - //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]" - - else - leak_to_turf() - */ //TODO: FIX - - -/obj/machinery/vent/proc/leak_to_turf() -// note this is a leak from the node, not the vent itself -// thus acts as a link between the vent turf and the turf in step(dir) - - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - - -// inlet - equilibrates between pipe contents and turf -// very similar to vent, except that a vent always dumps pipe gas into turf -/obj/machinery/inlet/New() - - ..() - - p_dir = dir - gas = new /datum/gas_mixture(src) - ngas = new /datum/gas_mixture() - gasflowlist += src - - -/obj/machinery/inlet/buildnodes() - - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - return - - -/obj/machinery/inlet/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/inlet/get_gas(from) - return gas - - -/obj/machinery/inlet/gas_flow() - - gas.copy_from(ngas) - -/obj/machinery/inlet/process() - /* - //if(suffix=="dbgp") - // world.log << "VP" - // Plasma() - - var/delta_gt - - var/turf/T = src.loc - - // this is the difference between vent and inlet - - if(T && !T.density) - flow_to_turf(gas, ngas, T, dbg) // act as gas leak - - if(dbg) world.log << "I[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]" - - if(vnode) - - //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]" - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - - //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]" - - else - leak_to_turf() - */ //TODO: FIX - - - -/obj/machinery/inlet/proc/leak_to_turf() -// note this is a leak from the node, not the inlet itself -// thus acts as a link between the inlet turf and the turf in step(dir) - - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - - - -// standard proc for all machines - passed gas/ngas as arguments -// equilibrate a pipe object and a turf's gas content - -/obj/machinery/proc/flow_to_turf(var/datum/gas_mixture/sgas, var/datum/gas_mixture/sngas, var/turf/T, var/dbg = 0) -/* - if(dbg) world.log << "FTT: G=[sgas.tostring()] ~ N=[sngas.tostring()]" - if(dbg) world.log << "T=[T.tostring()]" - - - - var/t_tot = T.total_moles() * 0.2 // partial pressure of turf gas at pipe, for the moment - - var/delta_gt = FLOWFRAC * ( t_tot - sgas.total_moles() / capmult ) - - if(dbg) world.log << "FTT: dgt=[delta_gt]" - - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // flow from pipe to turf - - //world.log << "FTT<0" - ndelta.set_frac(sgas, -delta_gt) // ndelta contains gas to transfer to turf - //world.log << "ND=[ndelta.tostring()]" - sngas.sub_delta(ndelta) // update new gas to remove the amount transfered - //world.log << "SN=[sngas.tostring()]" - ndelta.turf_add(T, -1) // add all of ndelta to turf - //world.log << "T=[T.tostring()]" - - //world.log << "LTT: [num2text(-delta_gt,10)] from [sgas.loc] to turf" - - - else // flow from turf to pipe - if(dbg) world.log << "FTT>0" - - sngas.turf_take(T, delta_gt) // grab gas from turf and direcly add it to the new gas - if(dbg) world.log << "SN=[sngas.tostring()]" - if(dbg) world.log << "T=[T.tostring()]" - - if(dbg) world.log << "LTT: [num2text(delta_gt,10)] from turf to [sgas.loc]" - - T.res_vars() // update turf gas vars for both cases -*/ //TODO: FIX - -// on-off valve - -/obj/machinery/valve/mvalve/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - switch(dir) - if(1, 2) - p_dir = 3 - if(4,8) - p_dir = 12 - - icon_state = "valve[open]" - -/obj/machinery/valve/mvalve/examine(mob/user) - if(..(user, 1)) - user << "[desc] It is [ open? "open" : "closed"]." - - - -/obj/machinery/valve/mvalve/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) // the h/e pipe - - node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/valve/mvalve/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - - -/obj/machinery/valve/mvalve/process() -/* var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - if(open) // valve operating, so transfer btwen resv1 & 2 - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - - var/datum/gas_mixture//ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - - ndelta.set_frac(gas2, -delta_gt) - - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta) - - else // flowing from R1 to R2 - ndelta.set_frac(gas1, delta_gt) - ngas2.add_delta(ndelta) - ngas1.sub_delta(ndelta)*/ //TODO: FIX - - - - -/obj/machinery/valve/mvalve/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/valve/mvalve/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/valve/mvalve/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/valve/mvalve/attack_paw(mob/user) - attack_hand(user) - -/obj/machinery/valve/mvalve/attack_ai(mob/user) - user << "\red You are unable to use this as it is physically operated." - return - -/obj/machinery/valve/mvalve/attack_hand(mob/user) - ..() - add_fingerprint(user) - if(stat & BROKEN) - return - - if(!open) // now opening - flick("valve01", src) - icon_state = "valve1" - sleep(10) - else // now closing - flick("valve10", src) - icon_state = "valve0" - sleep(10) - open = !open - -// Digital Valve - -/obj/machinery/valve/dvalve/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - switch(dir) - if(1, 2) - p_dir = 3 - if(4,8) - p_dir = 12 - - icon_state = "dvalve[open]" - -/obj/machinery/valve/dvalve/examine(mob/user) - if(..(user, 1)) - if(NOPOWER) - user << "It is unpowered! It is [ open? "open" : "closed"]." - return - user << "It is [ open? "open" : "closed"]." - -/obj/machinery/valve/dvalve/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) // the h/e pipe - - node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/valve/dvalve/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/valve/dvalve/power_change() - ..() - if(stat & NOPOWER) - icon_state = "dvalve[open]nopower" - return - icon_state = "dvalve[open]" - - -/obj/machinery/valve/dvalve/process() - /* - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - if(open) // valve operating, so transfer btwen resv1 & 2 - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - - ndelta.set_frac(gas2, -delta_gt) - - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta) - - else // flowing from R1 to R2 - ndelta.set_frac(gas1, delta_gt) - ngas2.add_delta(ndelta) - ngas1.sub_delta(ndelta) - */ //TODO: FIX - - - -/obj/machinery/valve/dvalve/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/valve/dvalve/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/valve/dvalve/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/valve/dvalve/attack_paw(mob/user) - return src.attack_hand(user) - -/obj/machinery/valve/dvalve/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/valve/dvalve/attack_hand(mob/user) - ..() - add_fingerprint(user) - if(stat & (BROKEN|NOPOWER)) - return - - if(!open) // now opening - flick("dvalve01", src) - icon_state = "dvalve1" - sleep(10) - else // now closing - flick("dvalve10", src) - icon_state = "dvalve0" - sleep(10) - open = !open - -// one way pipe - -/obj/machinery/oneway/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - p_dir = dir|turn(dir, 180) - -/obj/machinery/oneway/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) - node2 = get_machine(level, T , turn(dir, 180) ) - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - -/obj/machinery/oneway/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/oneway/process() -/* - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - ndelta.set_frac(gas2, -delta_gt) - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta)*/ //TODO: FIX - -/obj/machinery/oneway/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/oneway/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/oneway/proc/leak_to_turf(var/port) - var/turf/T - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/oneway/pipepump/process() - /* - if(! (stat & NOPOWER) ) // pump if power - gas1.transfer_from(gas2, rate) - use_power(25, ENVIRON) - ngas1.copy_from(gas1) - ngas2.copy_from(gas2) - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - */ //TODO: FIX - -/obj/machinery/oneway/pipepump/proc/updateicon() - icon_state = "pipepump-[(stat & NOPOWER) ? "stop" : "run"]" - -/obj/machinery/oneway/pipepump/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - - stat |= NOPOWER - spawn(rand(1,15)) // So they don't all turn off at the same time - updateicon() - -// Filter inlet -// works with filter_control - -/obj/machinery/inlet/filter/New() - ..() - src.gas = new /datum/gas_mixture() - src.ngas = new /datum/gas_mixture() - -/obj/machinery/inlet/filter/buildnodes() - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - return - -/obj/machinery/inlet/filter/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/inlet/filter/get_gas(from) - return gas - -/obj/machinery/inlet/filter/gas_flow() - gas.copy_from(ngas) - -/obj/machinery/inlet/filter/process() - src.updateicon() - if(!(stat & NOPOWER)) - /* var/turf/T = src.loc - if(!T || T.density) return - - if(!vnode) return leak_to_turf() - var/obj/substance/gas/exterior = new() - exterior.oxygen = T.oxygen - exterior.n2 = T.n2 - exterior.plasma = T.poison - exterior.co2 = T.co2 - exterior.sl_gas = T.sl_gas - exterior.temperature = T.temp - var/obj/substance/gas/interior = gas - var/obj/substance/gas/flowing = new() - - var/flow_rate = (exterior.total_moles()-interior.total_moles())*FLOWFRAC - if(flow_rate <= 0) - return - flowing.set_frac(exterior,flow_rate) - if(!(src.f_mask & GAS_O2)) flowing.oxygen = 0 - if(!(src.f_mask & GAS_N2)) flowing.n2 = 0 - if(!(src.f_mask & GAS_PL)) flowing.plasma = 0 - if(!(src.f_mask & GAS_CO2)) flowing.co2 = 0 - if(!(src.f_mask & GAS_N2O)) flowing.sl_gas = 0 - use_power(5,ENVIRON) - exterior.sub_delta(flowing) - interior.add_delta(flowing)*/ //TODO: FIX - else - ..() - return - -/obj/machinery/inlet/filter/leak_to_turf() -// note this is a leak from the node, not the inlet itself -// thus acts as a link between the inlet turf and the turf in step(dir) - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - -/obj/machinery/inlet/filter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - updateicon() - return - -/obj/machinery/inlet/filter/proc/updateicon() - /* - if(stat & NOPOWER) - icon_state = "inlet_filter-0" - return - if(src.gas.total_moles() > src.gas.maximum/2) - icon_state = "inlet_filter-4" - else if(src.gas.total_moles() > src.gas.maximum/3) - icon_state = "inlet_filter-3" - else if(src.gas.total_moles() > src.gas.maximum/4) - icon_state = "inlet_filter-2" - else if(src.gas.total_moles() >= 1 || src.f_mask >= 1) - icon_state = "inlet_filter-1" - else - icon_state = "inlet_filter-0" - return - */ //TODO FIX - -// Filter vent -// doesn't do anything yet - -/obj/machinery/vent/filter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - updateicon() - return - -/obj/machinery/vent/filter/proc/updateicon() - /* - if(stat & NOPOWER) - icon_state = "vent_filter-0" - return - if(src.gas.total_moles() > src.gas.maximum/2) - icon_state = "vent_filter-4" - else if(src.gas.total_moles() > src.gas.maximum/3) - icon_state = "vent_filter-3" - else if(src.gas.total_moles() > src.gas.maximum/4) - icon_state = "vent_filter-2" - else if(src.gas.total_moles() >= 1 || src.f_mask >= 1) - icon_state = "vent_filter-1" - else - icon_state = "vent_filter-0" - return - */ //TODO FIX \ No newline at end of file diff --git a/code/unused/pipe_filter.dm b/code/unused/pipe_filter.dm deleted file mode 100644 index 10f0673728..0000000000 --- a/code/unused/pipe_filter.dm +++ /dev/null @@ -1,243 +0,0 @@ -// *** pipefilter - -/obj/machinery/pipefilter/New() - ..() - p_dir = (NORTH|SOUTH|EAST|WEST) ^ turn(dir, 180) - - src.gas = new /datum/gas_mixture/() - src.ngas = new /datum/gas_mixture/() - - src.f_gas = new /datum/gas_mixture/() - src.f_ngas = new /datum/gas_mixture/() - - gasflowlist += src - -/obj/machinery/pipefilter/buildnodes() - var/turf/T = src.loc - - n1dir = turn(dir, 90) - n2dir = turn(dir,-90) - - node1 = get_machine( level, T , n1dir ) // the main flow dir - node2 = get_machine( level, T , n2dir ) - node3 = get_machine( level, T, dir ) // the ejector port - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - if(node3) vnode3 = node3.getline() - -/obj/machinery/pipefilter/gas_flow() - gas.copy_from(ngas) - f_gas.copy_from(f_ngas) - -/obj/machinery/pipefilter/process() -/* var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt) - else - leak_to_turf(1) - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt) - else - leak_to_turf(2) - if(vnode3) - delta_gt = FLOWFRAC * ( vnode3.get_gas_val(src) - f_gas.total_moles() / capmult) - calc_delta( src, f_gas, f_ngas, vnode3, delta_gt) - else - leak_to_turf(3) - - // transfer gas from ngas->f_ngas according to extraction rate, but only if we have power - if(! (stat & NOPOWER) ) - use_power(min(src.f_per, 100),ENVIRON) - var/datum/gas_mixture/ndelta = src.get_extract() - ngas.sub_delta(ndelta) - f_ngas.add_delta(ndelta) - AutoUpdateAI(src) - src.updateUsrDialog()*/ //TODO: FIX - -/obj/machinery/pipefilter/get_gas_val(from) - return ((from == vnode3) ? f_gas.total_moles() : gas.total_moles())/capmult - -/obj/machinery/pipefilter/get_gas(from) - return (from == vnode3) ? f_gas : gas - -/obj/machinery/pipefilter/proc/leak_to_turf(var/port) - var/turf/T - - switch(port) - if(1) - T = get_step(src, n1dir) - if(2) - T = get_step(src, n2dir) - if(3) - T = get_step(src, dir) - if(T.density) - T = src.loc - if(T.density) - return - flow_to_turf(f_gas, f_ngas, T) - return - - if(T.density) - T = src.loc - if(T.density) - return - - flow_to_turf(gas, ngas, T) - -/obj/machinery/pipefilter/proc/get_extract() - /* - var/datum/gas_mixture/ndelta = new() - if (src.f_mask & GAS_O2) - ndelta.oxygen = min(src.f_per, src.ngas.oxygen) - if (src.f_mask & GAS_N2) - ndelta.n2 = min(src.f_per, src.ngas.n2) - if (src.f_mask & GAS_PL) - ndelta.plasma = min(src.f_per, src.ngas.plasma) - if (src.f_mask & GAS_CO2) - ndelta.co2 = min(src.f_per, src.ngas.co2) - if (src.f_mask & GAS_N2O) - ndelta.sl_gas = min(src.f_per, src.ngas.sl_gas) - return ndelta - */ //TODO: FIX - -/obj/machinery/pipefilter/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/detective_scanner)) - return ..() - if(istype(W, /obj/item/weapon/screwdriver)) - if(bypassed) - user.show_message(text("\red Remove the foreign wires first!"), 1) - return - src.add_fingerprint(user) - user.show_message(text("\red Now []securing the access system panel...", (src.locked) ? "un" : "re"), 1) - sleep(30) - locked =! locked - user.show_message(text("\red Done!"),1) - src.updateicon() - return - if(istype(W, /obj/item/stack/cable_coil) && !bypassed) - if(src.locked) - user.show_message(text("\red You must remove the panel first!"),1) - return - var/obj/item/stack/cable_coil/C = W - if(C.use(4)) - user.show_message(text("\red You unravel some cable.."),1) - else - user.show_message(text("\red Not enough cable! (Requires four pieces)"),1) - src.add_fingerprint(user) - user.show_message(text("\red Now bypassing the access system... (This may take a while)"), 1) - sleep(100) - bypassed = 1 - src.updateicon() - return - if(istype(W, /obj/item/weapon/wirecutters) && bypassed) - src.add_fingerprint(user) - user.show_message(text("\red Now removing the bypass wires... (This may take a while)"), 1) - sleep(50) - bypassed = 0 - src.updateicon() - return - if(istype(W, /obj/item/weapon/card/emag) && (!emagged)) - emagged++ - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has shorted out the [] with an electromagnetic card!", user, src), 1) - src.overlays += image('icons/obj/pipes2.dmi', "filter-spark") - sleep(6) - src.updateicon() - return src.attack_hand(user) - return src.attack_hand(user) - -// pipefilter interact/topic -/obj/machinery/pipefilter/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/pipefilter/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/pipefilter/attack_hand(mob/user as mob) -/* if(stat & NOPOWER) - user << browse(null, "window=pipefilter") - user.machine = null - return - - var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O") - user.machine = src - var/dat = "Filter Release Rate:
\nM - - - - - [src.f_per] + + + + + M
\n" - for (var/i = 1; i <= gases.len; i++) - dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Releasing" : "Passing"]
\n" - if(gas.total_moles()) - var/totalgas = gas.total_moles() - var/pressure = round(totalgas / gas.maximum * 100) - var/nitrogen = gas.n2 / totalgas * 100 - var/oxygen = gas.oxygen / totalgas * 100 - var/plasma = gas.plasma / totalgas * 100 - var/co2 = gas.co2 / totalgas * 100 - var/no2 = gas.sl_gas / totalgas * 100 - - dat += "
Gas Levels:
\nPressure: [pressure]%
\nNitrogen: [nitrogen]%
\nOxygen: [oxygen]%
\nPlasma: [plasma]%
\nCO2: [co2]%
\nN2O: [no2]%
\n" - else - dat += "
Gas Levels:
\nPressure: 0%
\nNitrogen: 0%
\nOxygen: 0%
\nPlasma: 0%
\nCO2: 0%
\nN2O: 0%
\n" - dat += "
\nClose
\n" - - user << browse(dat, "window=pipefilter;size=300x365")*/ //TODO: FIX - //onclose(user, "pipefilter") - -/obj/machinery/pipefilter/Topic(href, href_list) - ..() - if(usr.restrained() || usr.lying) - return - if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf))) - usr.machine = src - if (href_list["close"]) - usr << browse(null, "window=pipefilter;") - usr.machine = null - return - if (src.allowed(usr) || src.emagged || src.bypassed) - if (href_list["fp"]) - src.f_per = min(max(round(src.f_per + text2num(href_list["fp"])), 0), src.maxrate) - else if (href_list["tg"]) - // toggle gas - src.f_mask ^= text2num(href_list["tg"]) - src.updateicon() - else - usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)") - AutoUpdateAI(src) - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=pipefilter") - usr.machine = null - return - -/obj/machinery/pipefilter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) //so all the filters don't come on at once - updateicon() - -/obj/machinery/pipefilter/proc/updateicon() - src.overlays.Cut() - if(stat & NOPOWER) - icon_state = "filter-off" - else - icon_state = "filter" - if(emagged) //only show if powered because presumeably its the interface that has been fried - src.overlays += image('icons/obj/pipes2.dmi', "filter-emag") - if (src.f_mask & (GAS_N2O|GAS_PL)) - src.overlays += image('icons/obj/pipes2.dmi', "filter-tox") - if (src.f_mask & GAS_O2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-o2") - if (src.f_mask & GAS_N2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-n2") - if (src.f_mask & GAS_CO2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-co2") - if(!locked) - src.overlays += image('icons/obj/pipes2.dmi', "filter-open") - if(bypassed) //should only be bypassed if unlocked - src.overlays += image('icons/obj/pipes2.dmi', "filter-bypass") \ No newline at end of file diff --git a/code/unused/powerarmor/powerarmor.dm b/code/unused/powerarmor/powerarmor.dm deleted file mode 100644 index 36b066ffe9..0000000000 --- a/code/unused/powerarmor/powerarmor.dm +++ /dev/null @@ -1,278 +0,0 @@ -/obj/item/clothing/suit/powered - name = "Powered armor" - desc = "Not for rookies." - icon_state = "swat" - item_state = "swat" - w_class = 4//bulky item - - protective_temperature = 1000 - body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) - slowdown = 9 - var/fuel = 0 - - var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - var/active = 0 - - var/helmrequired = 1 - var/obj/item/clothing/head/powered/helm - - var/glovesrequired = 0 - var/obj/item/clothing/gloves/powered/gloves - - var/shoesrequired = 0 - var/obj/item/clothing/shoes/powered/shoes - //Adding gloves and shoes as possible armor components. --NEO - - var/obj/item/powerarmor/servos/servos - var/obj/item/powerarmor/reactive/reactive - var/obj/item/powerarmor/atmoseal/atmoseal - var/obj/item/powerarmor/power/power - - New() - verbs += /obj/item/clothing/suit/powered/proc/poweron - - proc/poweron() - set category = "Object" - set name = "Activate armor systems" - - var/mob/living/carbon/human/user = usr - - if(user.stat) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!istype(user)) - user << "\red This suit was engineered for human use only." - return - - if(user.wear_suit!=src) - user << "\red The suit functions best if you are inside of it." - return - - if(helmrequired && !istype(user.head, /obj/item/clothing/head/powered)) - user << "\red Helmet missing, unable to initiate power-on procedure." - return - - if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered)) - user << "\red Gloves missing, unable to initiate power-on procedure." - return - - if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered)) - user << "\red Shoes missing, unable to initiate power-on procedure." - return - - if(active) - user << "\red The suit is already on, you can't turn it on twice." - return - - if(!power || !power.checkpower()) - user << "\red Powersource missing or depleted." - return - - verbs -= /obj/item/clothing/suit/powered/proc/poweron - - user << "\blue Suit interlocks engaged." - if(helmrequired) - helm = user.head - helm.canremove = 0 - if(glovesrequired) - gloves = user.gloves - gloves.canremove = 0 - if(shoesrequired) - shoes = user.shoes - shoes.canremove = 0 - canremove = 0 - sleep(20) - - if(atmoseal) - atmoseal.toggle() - sleep(20) - - if(reactive) - reactive.toggle() - sleep(20) - - if(servos) - servos.toggle() - sleep(20) - - user << "\blue All systems online." - active = 1 - power.process() - - verbs += /obj/item/clothing/suit/powered/proc/poweroff - - - proc/poweroff() - set category = "Object" - set name = "Deactivate armor systems" - powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO - - proc/powerdown(sudden = 0) - - var/delay = sudden?0:20 - - var/mob/living/carbon/human/user = usr - - if(user.stat && !sudden) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!active) - return - - verbs -= /obj/item/clothing/suit/powered/proc/poweroff - - if(sudden) - user << "\red Your armor loses power!" - - if(servos) - servos.toggle(sudden) - sleep(delay) - - if(reactive) - reactive.toggle(sudden) - sleep(delay) - - if(atmoseal) - if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm) - atmoseal:helmtoggle(sudden) - atmoseal.toggle(sudden) - - sleep(delay) - - if(!sudden) - usr << "\blue Suit interlocks disengaged." - if(helm) - helm.canremove = 1 - helm = null - if(gloves) - gloves.canremove = 1 - gloves = null - if(shoes) - shoes.canremove = 1 - gloves = null - canremove = 1 - //Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO - sleep(delay) - - if(!sudden) - usr << "\blue All systems disengaged." - - active = 0 - verbs += /obj/item/clothing/suit/powered/proc/poweron - - - - attackby(obj/item/weapon/W as obj, mob/user as mob) - if(power && istype(power,/obj/item/powerarmor/power/plasma)) - switch(W.type) - if(/obj/item/stack/sheet/mineral/plasma) - if(fuel < 50) - user << "\blue You feed some refined plasma into the armor's generator." - power:fuel += 25 - W:amount-- - if (W:amount <= 0) - del(W) - return - else - user << "\red The generator already has plenty of plasma." - return - - if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO - if(fuel < 50) - user << "\blue You feed some plasma into the armor's generator." - power:fuel += 15 - del(W) - return - else - user << "\red The generator already has plenty of plasma." - return - - ..() - -/obj/item/clothing/head/powered - name = "Powered armor" - icon_state = "swat" - desc = "Not for rookies." - flags = HEADCOVERSEYES | HEADCOVERSMOUTH - see_face = 0.0 - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - var/obj/item/clothing/suit/powered/parent - - proc/atmotoggle() - set category = "Object" - set name = "Toggle helmet seals" - - var/mob/living/carbon/human/user = usr - - if(!istype(user)) - user << "\red This helmet is not rated for nonhuman use." - return - - if(user.head != src) - user << "\red Can't engage the seals without wearing the helmet." - return - - if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/powered)) - user << "\red This helmet can only couple with powered armor." - return - - var/obj/item/clothing/suit/powered/armor = user.wear_suit - - if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional)) - user << "\red This armor's atmospheric seals are missing or incompatible." - return - - armor.atmoseal:helmtoggle(0,1) - - - - -/obj/item/clothing/gloves/powered - name = "Powered armor" - icon_state = "swat" - desc = "Not for rookies." - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - -/obj/item/clothing/shoes/powered - name = "Powered armor" - icon_state = "swat" - desc = "Not for rookies." - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - - -obj/item/clothing/suit/powered/spawnable/badmin - New() - servos = new /obj/item/powerarmor/servos(src) - servos.parent = src - reactive = new /obj/item/powerarmor/reactive(src) - reactive.parent = src - atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src) - atmoseal.parent = src - power = new /obj/item/powerarmor/power(src) - power.parent = src - - verbs += /obj/item/clothing/suit/powered/proc/poweron - - var/obj/item/clothing/head/powered/helm = new /obj/item/clothing/head/powered(src.loc) - helm.verbs += /obj/item/clothing/head/powered/proc/atmotoggle - -obj/item/clothing/suit/powered/spawnable/regular - New() - servos = new /obj/item/powerarmor/servos(src) - servos.parent = src - reactive = new /obj/item/powerarmor/reactive/centcomm(src) - reactive.parent = src - atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src) - atmoseal.parent = src - power = new /obj/item/powerarmor/power(src) - power.parent = src - - verbs += /obj/item/clothing/suit/powered/proc/poweron - - var/obj/item/clothing/head/powered/helm = new /obj/item/clothing/head/powered(src.loc) - helm.verbs += /obj/item/clothing/head/powered/proc/atmotoggle diff --git a/code/unused/powerarmor/powerarmorcomponents.dm b/code/unused/powerarmor/powerarmorcomponents.dm deleted file mode 100644 index 8d09536f9c..0000000000 --- a/code/unused/powerarmor/powerarmorcomponents.dm +++ /dev/null @@ -1,246 +0,0 @@ -/obj/item/powerarmor - name = "Generic power armor component" - desc = "This is the base object, you should never see one." - var/obj/item/clothing/suit/powered/parent //so the component knows which armor it belongs to. - var/slowdown = 0 //how much the component slows down the wearer - - proc/toggle() - return - //The child objects will use this proc - - - -/obj/item/powerarmor/power - name = "Adminbus power armor power source" - desc = "Runs on the rare Badminium molecule." - - process() - return - - proc/checkpower() - return 1 - - plasma - name = "Miniaturized plasma generator" - desc = "Runs on plasma." - slowdown = 1 - var/fuel = 0 - - process() - if (fuel > 0 && parent.active) - fuel-- - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - - checkpower() - return fuel - - powercell - name = "Powercell interface" - desc = "Boring, but reliable." - var/obj/item/weapon/cell/cell - slowdown = 0.5 - - process() - if (cell && cell.charge > 0 && parent.active) - cell.use(50) - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - - checkpower() - return max(cell.charge, 0) - - nuclear - name = "Miniaturized nuclear generator" - desc = "For all your radioactive needs." - slowdown = 1.5 - - process() - if(!crit_fail) - if (prob(src.reliability)) return 1 //No failure - if (prob(src.reliability)) - for (var/mob/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation. - if (src.parent in M.contents) - M << "\red Your armor feels pleasantly warm for a moment." - else - M << "\red You feel a warm sensation." - M.radiation += rand(1,40) - else - for (var/mob/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES - if (src.parent in M.contents) - M << "\red Your armor's reactor overloads!" - M << "\red You feel a wave of heat wash over you." - M.radiation += 100 - crit_fail = 1 //broken~ - parent.powerdown(1) - spawn(50) - process() - - checkpower() - return !crit_fail - -/obj/item/powerarmor/reactive - name = "Adminbus power armor reactive plating" - desc = "Made with the rare Badminium molecule." - var/list/togglearmor = list(melee = 250, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) - //Good lord an active energy axe does 150 damage a swing? Anyway, barring var editing, this armor loadout should be impervious to anything. Enjoy, badmins~ --NEO - - toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "\blue Reactive armor systems disengaged." - if(0) - usr << "\blue Reactive armor systems engaged." - var/list/switchover = list() - for (var/armorvar in parent.armor) - switchover[armorvar] = togglearmor[armorvar] - togglearmor[armorvar] = parent.armor[armorvar] - parent.armor[armorvar] = switchover[armorvar] - //Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects. - if(parent.helm) - parent.helm.armor[armorvar] = parent.armor[armorvar] - if(parent.gloves) - parent.gloves.armor[armorvar] = parent.armor[armorvar] - if(parent.shoes) - parent.shoes.armor[armorvar] = parent.armor[armorvar] - - centcomm - name = "CentComm power armor reactive plating" - desc = "Pretty effective against everything, not perfect though." - togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - slowdown = 2 - - -/obj/item/powerarmor/servos - name = "Adminbus power armor movement servos" - desc = "Made with the rare Badminium molecule." - var/toggleslowdown = 9 - - toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "\blue Movement assist servos disengaged." - parent.slowdown += toggleslowdown - if(0) - usr << "\blue Movement assist servos engaged." - parent.slowdown -= toggleslowdown - -/obj/item/powerarmor/atmoseal - name = "Power armor atmospheric seals" - desc = "Keeps the bad stuff out." - slowdown = 1 - var/sealed = 0 - - toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "\blue Atmospheric seals disengaged." - parent.gas_transfer_coefficient = 1 - parent.permeability_coefficient = 1 - parent.heat_transfer_coefficient = 1 - parent.flags &= ~SUITSPACE - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.heat_transfer_coefficient = 1 - parent.helm.flags &= ~HEADSPACE - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 1 - parent.gloves.permeability_coefficient = 1 - parent.gloves.heat_transfer_coefficient = 1 - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 1 - parent.shoes.permeability_coefficient = 1 - parent.shoes.heat_transfer_coefficient = 1 - sealed = 0 - - if(0) - usr << "\blue Atmospheric seals engaged." - parent.gas_transfer_coefficient = 0.01 - parent.permeability_coefficient = 0.02 - parent.heat_transfer_coefficient = 0.02 - parent.flags |= SUITSPACE - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.heat_transfer_coefficient = 0.02 - parent.helm.flags |= HEADSPACE - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 0.01 - parent.gloves.permeability_coefficient = 0.02 - parent.gloves.heat_transfer_coefficient = 0.02 - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 0.01 - parent.shoes.permeability_coefficient = 0.02 - parent.shoes.heat_transfer_coefficient = 0.02 - sealed = 1 - - adminbus - name = "Adminbus power armor atmospheric seals" - desc = "Made with the rare Badminium molecule." - slowdown = 0 - - optional - name = "Togglable power armor atmospheric seals" - desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off." - - proc/helmtoggle(sudden = 0, manual = 0) - var/mob/living/carbon/human/user = usr - var/obj/item/clothing/head/powered/helm - if(user.head && istype(user.head,/obj/item/clothing/head/powered)) - helm = user.head - - if(!sealed) - user << "\red Unable to initialize helmet seal, armor seals not active." - return - if(!helm.parent) - user << "\blue Helmet locked." - helm.canremove = 0 - parent.helm = helm - helm.parent = parent - sleep(20) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.heat_transfer_coefficient = 0.02 - parent.helm.flags |= HEADSPACE - user << "\blue Helmet atmospheric seals engaged." - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.armor[armorvar] - return - else - if(manual) - user << "\blue Helmet atmospheric seals disengaged." - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.heat_transfer_coefficient = 1 - parent.helm.flags &= ~HEADSPACE - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.reactive.togglearmor[armorvar] - if(!sudden) - if(manual) - sleep(20) - user << "\blue Helmet unlocked." - helm.canremove = 1 - parent.helm = null - helm.parent = null - - adminbus - name = "Adminbus togglable power armor atmospheric seals" - desc = "Made with the rare Badminium molecule." - slowdown = 0 - - - diff --git a/code/unused/scrap.dm b/code/unused/scrap.dm deleted file mode 100644 index 271f8b131d..0000000000 --- a/code/unused/scrap.dm +++ /dev/null @@ -1,289 +0,0 @@ -// The scrap item -// a single object type represents all combinations of size and composition of scrap -// - - -/obj/item/scrap - name = "scrap" - icon = 'scrap.dmi' - icon_state = "1metal0" - item_state = "scrap-metal" - desc = "A piece of scrap" - var/classtext = "" - throwforce = 14.0 - m_amt = 0 - g_amt = 0 - w_amt = 0 - var/size = 1 // 1=piece, 2= few pieces, 3=small pile, 4=large pile - var/blood = 0 // 0=none, 1=blood-stained, 2=bloody - - throwforce = 8.0 - throw_speed = 1 - throw_range = 4 - w_class = 1 - flags = CONDUCT - -#define MAX_SCRAP 15000 // maximum content amount of a scrap pile - - -/obj/item/scrap/New() - src.verbs -= /atom/movable/verb/pull - ..() - update() - -// return a copy -/obj/item/scrap/proc/copy() - var/obj/item/scrap/ret = new() - ret.set_components(m_amt, g_amt, w_amt) - return ret - - -// set the metal, glass and waste content -/obj/item/scrap/proc/set_components(var/m, var/g, var/w) - m_amt = m - g_amt = g - w_amt = w - update() - -// returns the total amount of scrap in this pile -/obj/item/scrap/proc/total() - return m_amt + g_amt + w_amt - - -// sets the size, appearance, and description of the scrap depending on component amounts -/obj/item/scrap/proc/update() - var/total = total() - - - // determine size of pile - if(total<=400) - size = 1 - else if(total<=1600) - size = 2 - else - size = 3 - - w_class = size - - var/sizetext = "" - - switch(size) - if(1) - sizetext = "A piece of" - if(2) - sizetext = "A few pieces of" - if(3) - sizetext = "A pile of" - - // determine bloodiness - var/bloodtext = "" - switch(blood) - if(0) - bloodtext = "" - if(1) - bloodtext = "blood-stained " - if(2) - bloodtext = "bloody " - - - // find mixture and composition - var/class = 0 // 0 = mixed, 1=mostly. 2=pure - var/major = "waste" // the major component type - - var/max = 0 - - if(m_amt > max) - max = m_amt - else if(g_amt > max) - max = g_amt - else if(w_amt > max) - max = w_amt - - if(max == total) - class = 2 // pure - else if(max/total > 0.6) - class = 1 // mostly - else - class = 0 // mixed - - if(class>0) - var/remain = total - max - if(m_amt > remain) - major = "metal" - else if(g_amt > remain) - major = "glass" - else - major = "waste" - - - if(class == 1) - desc = "[sizetext] mostly [major] [bloodtext]scrap." - classtext = "mostly [major] [bloodtext]" - else - desc = "[sizetext] [bloodtext][major] scrap." - classtext = "[bloodtext][major] " - icon_state = "[size][major][blood]" - else - desc = "[sizetext] [bloodtext]mixed scrap." - classtext = "[bloodtext]mixed" - icon_state = "[size]mixed[blood]" - - if(size==0) - pixel_x = rand(-5,5) - pixel_y = rand(-5,5) - else - pixel_x = 0 - pixel_y = 0 - - // clear or set conduction flag depending on whether scrap is mostly metal - if(major=="metal") - flags |= CONDUCT - else - flags &= ~CONDUCT - - item_state = "scrap-[major]" - -// add a scrap item to this one -// if the resulting pile is too big, transfer only what will fit -// otherwise add them and deleted the added pile - -/obj/item/scrap/proc/add_scrap(var/obj/item/scrap/other, var/limit = MAX_SCRAP) - var/total = total() - var/other_total = other.total() - - if( (total + other_total) <= limit ) - m_amt += other.m_amt - g_amt += other.g_amt - w_amt += other.w_amt - - blood = (total*blood + other_total*other.blood) / (total + other_total) - del(other) - - else - var/space = limit - total - - var/m = round(other.m_amt/other_total*space, 1) - var/g = round(other.g_amt/other_total*space, 1) - var/w = round(other.w_amt/other_total*space, 1) - - m_amt += m - g_amt += g - w_amt += w - - other.m_amt -= m - other.g_amt -= g - other.w_amt -= w - - var/other_trans = m + g + w - other.update() - blood = (total*blood + other_trans*other.blood) / (total + other_trans) - - - blood = round(blood,1) - src.update() - -// limit this pile to maximum size -// return any remainder as a new scrap item (or null if none) -// note return item is not necessarily smaller than max size - -/obj/item/scrap/proc/remainder(var/limit = MAX_SCRAP) - var/total = total() - if(total > limit) - var/m = round( m_amt/total * limit, 1) - var/g = round( g_amt/total * limit, 1) - var/w = round( w_amt/total * limit, 1) - - var/obj/item/scrap/S = new() - S.set_components(m_amt - m,g_amt - g,w_amt - w) - src.set_components(m,g,w) - - return S - return null - -// if other pile of scrap tries to enter the same turf, then add that pile to this one - -/obj/item/scrap/CanPass(var/obj/item/scrap/O) - - if(istype(O)) - - src.add_scrap(O) - if(O) - return 0 // O still exists if not all could be transfered, so block it - return 1 - -/obj/item/scrap/proc/to_text() - return "[m_amt],[g_amt],[w_amt] ([total()])" - - -// attack with hand removes a single piece from a pile -/obj/item/scrap/attack_hand(mob/user) - add_fingerprint(user) - if(src.is_single_piece()) - return ..(user) - var/obj/item/scrap/S = src.get_single_piece() - S.attack_hand(user) - return - - -/obj/item/scrap/attackby(obj/item/I, mob/user) - ..() - if(istype(I, /obj/item/scrap)) - var/obj/item/scrap/S = I - if( (S.total()+src.total() ) > MAX_SCRAP ) - user << "The pile is full." - return - if(ismob(src.loc)) // can't combine scrap in hand - return - - src.add_scrap(S) - -// when dropped, try to make a pile if scrap is already there -/obj/item/scrap/dropped() - - spawn(2) // delay to allow drop postprocessing (since src may be destroyed) - for(var/obj/item/scrap/S in oview(0,src)) // excludes src itself - S.add_scrap(src) - -// return true if this is a single piece of scrap -// must be total<=400 and of single composition -/obj/item/scrap/proc/is_single_piece() - if(total() > 400) - return 0 - - var/empty = (m_amt == 0) + (g_amt == 0) + (w_amt == 0) - - return (empty==2) // must be 2 components with zero amount - - -// get a single piece of scrap from a pile -/obj/item/scrap/proc/get_single_piece() - - var/obj/item/scrap/S = new() - - var/cmp = pick(m_amt;1 , g_amt;2, w_amt;3) - - var/amount = 400 - switch(cmp) - if(1) - if(m_amt < amount) - amount = m_amt - - S.set_components(amount, 0, 0) - src.set_components(m_amt - amount, g_amt, w_amt) - - if(2) - if(g_amt < amount) - amount = g_amt - S.set_components(0, amount, 0) - src.set_components(m_amt, g_amt - amount, w_amt) - - if(3) - if(w_amt < amount) - amount = w_amt - S.set_components(0, 0, amount) - src.set_components(m_amt, g_amt, w_amt - amount) - - - return S - - diff --git a/code/unused/shuttle_engines.dm b/code/unused/shuttle_engines.dm deleted file mode 100644 index 457154db0f..0000000000 --- a/code/unused/shuttle_engines.dm +++ /dev/null @@ -1,37 +0,0 @@ - -/obj/structure/shuttle - name = "shuttle" - icon = 'icons/turf/shuttle.dmi' - -/obj/structure/shuttle/engine - name = "engine" - density = 1 - anchored = 1.0 - -/obj/structure/shuttle/engine/heater - name = "heater" - icon_state = "heater" - -/obj/structure/shuttle/engine/platform - name = "platform" - icon_state = "platform" - -/obj/structure/shuttle/engine/propulsion - name = "propulsion" - icon_state = "propulsion" - opacity = 1 - -/obj/structure/shuttle/engine/propulsion/burst - name = "burst" - -/obj/structure/shuttle/engine/propulsion/burst/left - name = "left" - icon_state = "burst_l" - -/obj/structure/shuttle/engine/propulsion/burst/right - name = "right" - icon_state = "burst_r" - -/obj/structure/shuttle/engine/router - name = "router" - icon_state = "router" diff --git a/code/unused/siphs.dm b/code/unused/siphs.dm deleted file mode 100644 index 6104b3bc2d..0000000000 --- a/code/unused/siphs.dm +++ /dev/null @@ -1,515 +0,0 @@ -/obj/machinery/atmoalter/siphs/New() - ..() - src.gas = new /datum/gas_mixture() - - return - -/obj/machinery/atmoalter/siphs/proc/releaseall() - src.t_status = 1 - src.t_per = max_valve - return - -/obj/machinery/atmoalter/siphs/proc/reset(valve, auto) - if(c_status!=0) - return - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/proc/release(amount, flag) - /* - var/T = src.loc - if (!( istype(T, /turf) )) - return - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (!( amount )) - return - if (!( flag )) - amount = min(amount, max_valve) - src.gas.turf_add(T, amount) - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/proc/siphon(amount, flag) - /* - var/T = src.loc - if (!( istype(T, /turf) )) - return - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (!( amount )) - return - if (!( flag )) - amount = min(amount, 900000.0) - src.gas.turf_take(T, amount) - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/proc/setstate() - - if(stat & NOPOWER) - icon_state = "siphon:0" - return - - if (src.holding) - src.icon_state = "siphon:T" - else - if (src.t_status != 3) - src.icon_state = "siphon:1" - else - src.icon_state = "siphon:0" - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/New() - /* - ..() - if(!empty) - src.gas.oxygen = 2.73E7 - src.gas.n2 = 1.027E8 - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/fullairsiphon/port/reset(valve, auto) - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/attackby(W as obj, user as mob) - - if (istype(W, /obj/item/weapon/screwdriver)) - if (src.c_status) - src.anchored = 1 - src.c_status = 0 - else - if (locate(/obj/machinery/connector, src.loc)) - src.anchored = 1 - src.c_status = 3 - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/setstate() - - - if(stat & NOPOWER) - icon_state = "vent-p" - return - - if (src.t_status == 4) - src.icon_state = "vent2" - else - if (src.t_status == 3) - src.icon_state = "vent0" - else - src.icon_state = "vent1" - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/reset(valve, auto) - - if (auto) - src.t_status = 4 - return - -/obj/machinery/atmoalter/siphs/scrubbers/process() - /* - if(stat & NOPOWER) return - - if(src.gas.temperature >= 3000) - src.melt() - - if (src.t_status != 3) - var/turf/T = src.loc - if (istype(T, /turf)) - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (T.firelevel < 900000.0) - src.gas.turf_add_all_oxy(T) - - else - T = null - switch(src.t_status) - if(1.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.turf_add(T, t) - if(2.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (t > t2) - t = t2 - src.gas.turf_take(T, t) - if(4.0) - if( !portable() ) use_power(50, ENVIRON) - if (T) - if (T.firelevel > 900000.0) - src.f_time = world.time + 400 - else - if (world.time > src.f_time) - src.gas.extract_toxs(T) - if( !portable() ) use_power(150, ENVIRON) - var/contain = src.gas.total_moles() - if (contain > 1.3E8) - src.gas.turf_add(T, 1.3E8 - contain) - - src.setstate() - src.updateDialog() - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/setstate() - - if(stat & NOPOWER) - icon_state = "vent-p" - return - - if (src.t_status == 4) - src.icon_state = "vent2" - else - if (src.t_status == 3) - src.icon_state = "vent0" - else - src.icon_state = "vent1" - return - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/attackby(W as obj, user as mob) - - if (istype(W, /obj/item/weapon/screwdriver)) - if (src.c_status) - src.anchored = 1 - src.c_status = 0 - else - if (locate(/obj/machinery/connector, src.loc)) - src.anchored = 1 - src.c_status = 3 - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - return - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/reset(valve, auto) - - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/scrubbers/port/setstate() - - if(stat & NOPOWER) - icon_state = "scrubber:0" - return - - if (src.holding) - src.icon_state = "scrubber:T" - else - if (src.t_status != 3) - src.icon_state = "scrubber:1" - else - src.icon_state = "scrubber:0" - return - -/obj/machinery/atmoalter/siphs/scrubbers/port/reset(valve, auto) - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -//true if the siphon is portable (therfore no power needed) - -/obj/machinery/proc/portable() - return istype(src, /obj/machinery/atmoalter/siphs/fullairsiphon/port) || istype(src, /obj/machinery/atmoalter/siphs/scrubbers/port) - -/obj/machinery/atmoalter/siphs/power_change() - - if( portable() ) - return - - if(!powered(ENVIRON)) - spawn(rand(0,15)) - stat |= NOPOWER - setstate() - else - stat &= ~NOPOWER - setstate() - - -/obj/machinery/atmoalter/siphs/process() - /* -// var/dbg = (suffix=="d") && Debug - - if(stat & NOPOWER) return - - if (src.t_status != 3) - var/turf/T = src.loc - if (istype(T, /turf)) - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - else - T = null - switch(src.t_status) - if(1.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.turf_add(T, t) - if(2.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (t > t2) - t = t2 - //var/g = gas.total_moles() - //if(dbg) world.log << "VP0 : [t] from turf: [gas.total_moles()]" - //if(dbg) Air() - - src.gas.turf_take(T, t) - //if(dbg) world.log << "VP1 : now [gas.total_moles()]" - - //if(dbg) world.log << "[gas.total_moles()-g] ([t]) from turf to siph" - - //if(dbg) Air() - if(4.0) - if( !portable() ) - use_power(50, ENVIRON) - - if (T) - if (T.firelevel > 900000.0) - src.f_time = world.time + 300 - else - if (world.time > src.f_time) - var/difference = CELLSTANDARD - (T.oxygen + T.n2) - if (difference > 0) - var/t1 = src.gas.total_moles() - if (difference > t1) - difference = t1 - src.gas.turf_add(T, difference) - - src.updateDialog() - - src.setstate() - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/siphs/attack_paw(user as mob) - - return src.attack_hand(user) - return - -/obj/machinery/atmoalter/siphs/attack_hand(var/mob/user as mob) - - if(stat & NOPOWER) return - - if(src.portable() && istype(user, /mob/living/silicon/ai)) //AI can't use portable siphons - return - - user.machine = src - var/tt - switch(src.t_status) - if(1.0) - tt = text("Releasing Siphon Stop", src, src) - if(2.0) - tt = text("Release Siphoning Stop", src, src) - if(3.0) - tt = text("Release Siphon Stopped Automatic", src, src, src) - else - tt = "Automatic equalizers are on!" - var/ct = null - switch(src.c_status) - if(1.0) - ct = text("Releasing Accept Stop", src, src) - if(2.0) - ct = text("Release Accepting Stop", src, src) - if(3.0) - ct = text("Release Accept Stopped", src, src) - else - ct = "Disconnected" - var/at = null - if (src.t_status == 4) - at = text("Automatic On Stop", src) - var/dat = text("Canister Valves []
\n\tContains/Capacity [] / []
\n\tUpper Valve Status: [] []
\n\t\tM - - - - [] + + + + M
\n\tPipe Valve Status: []
\n\t\tM - - - - [] + + + + M
\n
\n\nClose
\n\t
", (!( src.alterable ) ? "Valves are locked. Unlock with wrench!" : "You can lock this interface with a wrench."), num2text(src.gas.return_pressure(), 10), num2text(src.maximum, 10), (src.t_status == 4 ? text("[]", at) : text("[]", tt)), (src.holding ? text("
(Tank ([])", src, src.holding.air_contents.return_pressure()) : null), src, num2text(max_valve, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(max_valve, 7), ct, src, num2text(max_valve, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(max_valve, 7), user) - user << browse(dat, "window=siphon;size=600x300") - onclose(user, "siphon") - return - -/obj/machinery/atmoalter/siphs/Topic(href, href_list) - ..() - - if (usr.stat || usr.restrained()) - return - if ((!( src.alterable )) && (!istype(usr, /mob/living/silicon/ai))) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["c"]) - var/c = text2num(href_list["c"]) - switch(c) - if(1.0) - src.c_status = 1 - if(2.0) - src.c_status = 2 - if(3.0) - src.c_status = 3 - else - else - if (href_list["t"]) - var/t = text2num(href_list["t"]) - if (src.t_status == 0) - return - switch(t) - if(1.0) - src.t_status = 1 - if(2.0) - src.t_status = 2 - if(3.0) - src.t_status = 3 - if(4.0) - src.t_status = 4 - src.f_time = 1 - else - else - if (href_list["tp"]) - var/tp = text2num(href_list["tp"]) - src.t_per += tp - src.t_per = min(max(round(src.t_per), 0), max_valve) - else - if (href_list["cp"]) - var/cp = text2num(href_list["cp"]) - src.c_per += cp - src.c_per = min(max(round(src.c_per), 0), max_valve) - else - if (href_list["tank"]) - var/cp = text2num(href_list["tank"]) - if (cp == 1) - src.holding.loc = src.loc - src.holding = null - if (src.t_status == 2) - src.t_status = 3 - src.updateUsrDialog() - - src.add_fingerprint(usr) - else - usr << browse(null, "window=canister") - return - return - -/obj/machinery/atmoalter/siphs/attackby(var/obj/W as obj, mob/user as mob) - - if (istype(W, /obj/item/weapon/tank)) - if (src.holding) - return - var/obj/item/weapon/tank/T = W - user.drop_item() - T.loc = src - src.holding = T - else - if (istype(W, /obj/item/weapon/screwdriver)) - var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc) - if (src.c_status) - src.anchored = 0 - src.c_status = 0 - user.show_message("\blue You have disconnected the siphon.") - if(con) - con.connected = null - else - if (con && !con.connected) - src.anchored = 1 - src.c_status = 3 - user.show_message("\blue You have connected the siphon.") - con.connected = src - else - user.show_message("\blue There is nothing here to connect to the siphon.") - - - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - if (src.alterable) - user << "\blue You unlock the interface!" - else - user << "\blue You lock the interface!" - return - - diff --git a/code/unused/spacecraft/manufacturing.dm b/code/unused/spacecraft/manufacturing.dm deleted file mode 100644 index 9036407ac5..0000000000 --- a/code/unused/spacecraft/manufacturing.dm +++ /dev/null @@ -1,247 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -// Entirely unfinished. Mostly just bouncing ideas off the code. - - -// Smelting -// Grinding -// Spraying -// Crate - -/obj/deploycrate - icon = 'icons/obj/mining.dmi' - icon_state = "deploycrate" - density = 1 - var/payload - -/obj/deploycrate/attack_hand(mob/user as mob) - switch(payload) - if(null) - return - //if("cloner") - // make a cloner - // blah blah - for (var/mob/V in hearers(src)) - V.show_message("[src] lets out a pneumatic hiss, its panels rapdily unfolding and expanding to produce its payload.", 2) - del(src) - - -/obj/machinery/nanosprayer - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - var/payload - var/hacked = 0 - var/temp = 100 - - var/usr_density = 5 - var/usr_lastupdate = 0 - - var/time_started = 0 - - var/points = 0 - var/totalpoints = 0 - - var/state = 0 // 0 - Idle, 1 - Spraying, 2 - Done, 3 - Overheated - -obj/machinery/nanosprayer/proc/update_temp() - // 1 second : 1 degree - if(src.state == 0) - var/diff = (world.time - usr_lastupdate) * 10 - temp -= diff - if(temp < 100) - temp = 100 - usr_lastupdate = world.time - return temp - else if(src.state == 1) - var/diff = (world.time - usr_lastupdate) * 10 - diff = diff * usr_density - temp += diff - usr_lastupdate = world.time - return temp - -obj/machinery/nanosprayer/process() - src.time_started = world.time - totalpoints = lentext(payload) * rand(5,10) - if(!totalpoints) - totalpoints = 1 - while(src.state == 1) - // Each unit of cost is 20 seconds - density - temp += density * rand(1,4) - sleep(200 - (usr_density * 10)) - if(src.temp > 350) - src.state = 3 - src.overheat() - return 0 - points += usr_density - if(points >= totalpoints) - src.state = 2 - src.complete() - return 1 - - -obj/machinery/nanosprayer/proc/cooldown() - while(state != 1) - sleep(200) - temp -= rand(5,20) - if(temp < 100) - temp = 100 - return - -obj/machinery/nanosprayer/proc/overheat() - return - -obj/machinery/nanosprayer/proc/complete() - src.totalpoints = 0 - src.points = 0 - spawn() cooldown() - return - -obj/machinery/nanosprayer/attack_hand(user as mob) - var/dat - if(..()) - return - dat += text("Core Temp: [temp]�C
") - dat += text("Nanocloud Density: [usr_density] million
") - dat += text("\[- / +\]
") - if(payload) - dat += text("
Task: [payload]
") - switch(state) - if(0) - dat += text("Status: Idling
") - if(1) - dat += text("Status: Spraying
") - if(2) - dat += text("Status: Spray Task Complete
") - if(3) - dat += text("Status: OVERHEATED
") - if(state == 1) - if(points <= 0) - points = 1 - var/complete = (points * 100)/totalpoints - if(complete < 0) - complete = 0 - if(complete > 100) - complete = 100 - dat += text("Progress: [complete]%
") - if(state == 2) - dat += text("Progress: 100%
") - dat += text("\[Release Payload\]
") - dat += text("

Set Task
") - dat += text("Start Spray
") - dat += text("Cancel Spray") - dat += text("

Refresh") - user << browse("NANO SPRAY 1.1[dat]", "window=nanosprayer") - onclose(user, "nanosprayer") - -obj/machinery/nanosprayer/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["plus"]) - usr_density += 1 - if(href_list["minus"]) - usr_density -= 1 - if(usr_density < 1) - usr_density = 1 - if(href_list["start"]) - if(state == 0) - state = 1 - spawn() src.process() - if(href_list["stop"]) - if(state == 1) - state = 0 - points = 0 - totalpoints = 0 - spawn() cooldown() - if(href_list["settask"]) - if(state == 0) - var/temppayload = input("Set a Task:", "Job Assignment") as text|null - if(temppayload) - payload = temppayload - //if(href_list["release"]) - // if(state == 2) - // Create the crate somewhere - src.updateUsrDialog() - -/obj/machinery/smelter - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - var/locked = 0 - var/closed = 0 - var/state = 0 // 0 - Idle, 1 - Smelt, 2 - Cool, 3 - Clean - var/slag = 0 - var/hacked = 0 - -obj/machinery/smelter/attack_hand(user as mob) - var/dat - if(..()) - return - dat += text("

Smelt-o-Matic Control Interface

") - dat += text("The red light is [src.closed ? "off" : "on"].
") - dat += text("The green light is [src.locked ? "on" : "off"].
") - switch(slag) - if(0) - dat += text("The meter is resting at zero.
") - if(1 to 2) - dat += text("The meter is wobbling at the mid-point marker.
") - if(3) - dat += text("The meter strains, displaying its maximum value.
") - else - dat += text("The meter has broken.
") - switch(state) - if(0) - dat += text("Status:Idle
") - if(1) - dat += text("Status:Smelting
") - if(2) - dat += text("Status:Cooling
") - if(3) - dat += text("Status:Cleaning
") - dat += text("

Turn key [src.locked ? "to upper-left position" : "to upper-right position"]
") - dat += text("Flip switch [src.closed ? "up" : "down"]
") - dat += text("Push large flashing yellow button
") - user << browse("SMELTOMATIC[dat]", "window=smelter") - onclose(user, "smelter") - - -obj/machinery/smelter/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["key"]) - src.locked = !src.locked - if(href_list["switch"]) - src.closed = !src.closed - if(href_list["button"]) - //Do stuff to actually smelt shit or something I don't know - return - src.updateUsrDialog() - - -/obj/machinery/slaggrinder - icon = 'icons/obj/mining.dmi' - - density = 1 - anchored = 1 - - - -/obj/machinery/adminmachine - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - - var/gameticker - var/gameworld - - New() - ..() - gameticker = ticker - gameworld = world diff --git a/code/unused/spacecraft/shipcore.dm b/code/unused/spacecraft/shipcore.dm deleted file mode 100644 index 6df889c0b1..0000000000 --- a/code/unused/spacecraft/shipcore.dm +++ /dev/null @@ -1,348 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -/obj/machinery/shipcore - icon = 'craft.dmi' - icon_state = "core" - density = 1 - - var/width = 6 - var/height = 8 - var/list/turfs = list() - var/list/builders - var/list/components = list() - var/build_status = "unbuilt" - - - proc/group_self() - builders = list() - turfs = list() - components = list() - - src.anchored = 1 - - var/obj/ship_builder/L = new(locate(src.x, src.y, src.z)) - L.set_dir(WEST) - L.distance = width/2 - L.core = src - - var/obj/ship_builder/R = new(locate(src.x+1, src.y, src.z)) - R.set_dir(EAST) - R.distance = (width/2)-1 - R.core = src - - builders.Add(L, R) - - spawn() L.scan() - spawn() R.scan() - - var/h - for(h=1, h[src.wires[wire] ? "Mend" : "Cut"] Pulse
") - - dat += text("The red light is [src.disabled ? "off" : "on"].
") - dat += text("The green light is [src.shocked ? "off" : "on"].
") - dat += text("The blue light is [src.hacked ? "off" : "on"].
") -*/ - switch(src.build_status) - if("unbuilt") - dat += "

Core Status: Undeployed


" - dat += "Build Ship
" - if("built") - dat += "

Core Status: Deployed


" - dat += "Move
" - if("rebuilding") - dat += "

Core Status: Recalibrating


" - user << browse("Ship Core[dat]","window=shipcore") - onclose(user, "shipcore") - return - user << browse("Ship Core Control Panel[dat]", "window=shipcore") - onclose(user, "shipcore") - return - -obj/machinery/shipcore/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["groupself"]) - src.group_self() - if (href_list["move"]) - var/list/beacons = list() - for(var/obj/effect/ship_landing_beacon/b in world) - if(istype(b, /obj/effect/ship_landing_beacon)) - if(b.active) - beacons.Add(b) - if(!beacons.len) - return - var/obj/choice = input("Choose a beacon to land at.", "Beacon Selection") in beacons - if(choice) - src.MoveShip(choice.loc) - - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.attack_hand(M) - src.updateUsrDialog() - return - - - -obj/machinery/ship_component - name = "ship component" - icon = 'craft.dmi' - var/obj/machinery/shipcore/core - var/required_draw = 0 - var/active = 1 - - proc - draw_power(var/n as num) - if(!n) - n = required_draw - if(core.draw_power(n)) - return 1 - else - return 0 - -obj/machinery/ship_component/thruster - name = "thruster" - icon_state = "thruster" - density = 1 - opacity = 1 - - var/cooldown = 600 // In 1/10th seconds - var/lastused - var/ready = 0 - required_draw = 100 - - proc - check_ready() - if(ready) - return 1 - if(lastused + cooldown <= world.time) - for(var/turf/T in range(1,src)) - if(istype(T, /turf/space)) - src.ready = 1 - break - else - src.ready = 0 - return src.ready - - fire() - src.check_ready() - if(!ready) - return 0 - if(src.draw_power()) - src.ready = 0 - src.lastused = world.time - return 1 - else - return 0 - -obj/machinery/ship_component/engine - name = "engine" - icon_state = "engine" - density = 1 - opacity = 1 - - var/charge = 1000 - var/capacity = 1000 - - draw_power(var/n as num) - if(charge >= n) - charge -= n - return 1 - else - return 0 - -obj/machinery/ship_component/control_panel - name = "control panel" - icon_state = "controlpanel" - density = 1 - opacity = 0 - - attack_hand(user as mob) - var/dat - if(..()) - return - if(!src.core) - dat += "No linked core found. Deploy ship core first." - else - dat += "Ship Status: [src.core.build_status]

" - dat += "

Installed Components:



" - dat += "" - for(var/obj/machinery/ship_component/C in core.components) - dat += "" - if(istype(C, /obj/machinery/ship_component/engine)) - dat += "" - if(istype(C, /obj/machinery/ship_component/thruster)) - dat += "" - dat += "
[C.name][C.active ? "Active" : "Inactive"]
Fuel: [C:charge]/[C:capacity]
Status: [C:check_ready() ? "Ready" : "On Cooldown"]
" - user << browse("Ship Controls[dat]","window=shipcontrols") - onclose(user, "shipcontrols") - - Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - - - - - - - - -/obj/ship_builder - icon = 'craft.dmi' - icon_state = "builder" - density = 0 - opacity = 0 - - var/obj/machinery/shipcore/core - var/distance = 0 - - proc/scan() - if(distance < 0) - cleanup_self() - var/i - for(i=0, iworld.maxx-4 || T.x<4) continue //putting them at the edge is dumb - if(T.y>world.maxy-4 || T.y<4) continue - turfs += T - if(!turfs.len) turfs += pick(/turf in orange(6)) - var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() - smoke.set_up(10, 0, usr.loc) - smoke.start() - var/turf/picked = pick(turfs) - if(!isturf(picked)) return - usr.loc = picked - usr.verbs -= /client/proc/blink - spawn(40) - usr.verbs += /client/proc/blink - -//TELEPORT - -/mob/proc/teleport() - set category = "Spells" - set name = "Teleport" - set desc = "This spell teleports you to a type of area of your selection." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - var/A - usr.verbs -= /mob/proc/teleport -/* - var/list/theareas = new/list() - for(var/area/AR in world) - if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station)) continue - if(theareas.Find(AR.name)) continue - var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z == src.z) - theareas += AR.name - theareas[AR.name] = AR -*/ - - A = input("Area to jump to", "BOOYEA", A) in teleportlocs - - spawn(600) - usr.verbs += /mob/proc/teleport - - var/area/thearea = teleportlocs[A] - - usr.say("SCYAR NILA [uppertext(A)]") - - var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() - smoke.set_up(5, 0, usr.loc) - smoke.attach(usr) - smoke.start() - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - if(!T.density) - var/clear = 1 - for(var/obj/O in T) - if(O.density) - clear = 0 - break - if(clear) - L+=T - - if(!L.len) - usr <<"The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry." - return - - var/attempt = 0 - var/success = 0 - while(!success) - success = Move(pick(L)) - if(attempt > 20) break //Failsafe - if(!success) - usr.loc = pick(L) - - smoke.start() - - -//JAUNT - -/client/proc/jaunt() - set category = "Spells" - set name = "Ethereal Jaunt" - set desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - usr.verbs -= /client/proc/jaunt - spawn(300) - usr.verbs += /client/proc/jaunt - spell_jaunt(usr) - -/proc/spell_jaunt(var/mob/H, time = 50) - if(H.stat) return - spawn(0) - var/mobloc = get_turf(H.loc) - var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) - animation.name = "water" - animation.density = 0 - animation.anchored = 1 - animation.icon = 'icons/mob/mob.dmi' - animation.icon_state = "liquify" - animation.layer = 5 - animation.master = holder - flick("liquify",animation) - H.loc = holder - H.client.eye = holder - var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() - steam.set_up(10, 0, mobloc) - steam.start() - sleep(time) - mobloc = get_turf(H.loc) - animation.loc = mobloc - steam.location = mobloc - steam.start() - H.canmove = 0 - sleep(20) - flick("reappear",animation) - sleep(5) - if(!H.Move(mobloc)) - for(var/direction in list(1,2,4,8,5,6,9,10)) - var/turf/T = get_step(mobloc, direction) - if(T) - if(H.Move(T)) - break - H.canmove = 1 - H.client.eye = H - del(animation) - del(holder) -/* -/obj/effect/dummy/spell_jaunt - name = "water" - icon = 'icons/effects/effects.dmi' - icon_state = "nothing" - var/canmove = 1 - density = 0 - anchored = 1 - -/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction) - if (!src.canmove) return - switch(direction) - if(NORTH) - src.y++ - if(SOUTH) - src.y-- - if(EAST) - src.x++ - if(WEST) - src.x-- - if(NORTHEAST) - src.y++ - src.x++ - if(NORTHWEST) - src.y++ - src.x-- - if(SOUTHEAST) - src.y-- - src.x++ - if(SOUTHWEST) - src.y-- - src.x-- - src.canmove = 0 - spawn(2) src.canmove = 1 - -/obj/effect/dummy/spell_jaunt/ex_act(blah) - return -/obj/effect/dummy/spell_jaunt/bullet_act(blah,blah) - return -*/ -//MUTATE - -/client/proc/mutate() - set category = "Spells" - set name = "Mutate" - set desc = "This spell causes you to turn into a hulk and gain laser vision for a short while." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - usr.verbs -= /client/proc/mutate - spawn(400) - usr.verbs += /client/proc/mutate - - usr.say("BIRUZ BENNAR") - - usr << text("\blue You feel strong! You feel pressure building behind your eyes!") - if (!(HULK in usr.mutations)) - usr.mutations.Add(HULK) - if (!(LASER in usr.mutations)) - usr.mutations.Add(LASER) - spawn (300) - if (LASER in usr.mutations) usr.mutations.Remove(LASER) - if (HULK in usr.mutations) usr.mutations.Remove(HULK) - return - -//BODY SWAP /N - -/mob/proc/swap(mob/living/M as mob in oview()) - set category = "Spells" - set name = "Mind Transfer" - set desc = "This spell allows the user to switch bodies with a target." - if(usr.stat) - src << "Not when you are incapacitated." - return - - if(M.client && M.mind) - if(M.mind.special_role != "Wizard" || "Fake Wizard" || "Changeling" || "Cultist" || "Space Ninja")//Wizards, changelings, ninjas, and cultists are protected. - if( (istype(M, /mob/living/carbon/human)) || (istype(M, /mob/living/carbon/monkey)) && M.stat != 2) - var/mob/living/carbon/human/H = M //so it does not freak out when looking at the variables. - var/mob/living/carbon/human/U = src - - U.whisper("GIN'YU CAPAN") - U.verbs -= /mob/proc/swap - //Remove special verbs from both mobs - if(U.mind.special_verbs.len) - for(var/V in U.mind.special_verbs) - U.verbs -= V - if(H.mind.special_verbs.len) - for(var/V in H.mind.special_verbs) - H.verbs -= V - - //empty out H - var/mob/dead/observer/G = H.ghostize(0) //Transfers H to a temporary mob - - //Start the Transfer - U.mind.transfer_to(H) - G.mind.transfer_to(U) - U.key = G.key //has to be called explicitly since ghostize() set the datum/mind/var/active = 0 - - //Re-add those special verbs and stuff - if(H.mind.special_verbs.len) - var/spell_loss = 1//Can lose only one spell during transfer. - var/probability = 95 //To determine the chance of wizard losing their spell. - for(var/V in H.mind.special_verbs) - if(spell_loss == 0) - H.verbs += V - else - if(prob(probability)) - H.verbs += V - probability -= 7//Chance of of keeping spells goes down each time a spell is added. Less spells means less chance of losing them. - else - spell_loss = 0 - H.mind.special_verbs -= V - spawn(500) - H << "The mind transfer has robbed you of a spell." - - if(U.mind.special_verbs.len)//Basic fix to swap verbs for any mob if needed. - for(var/V in U.mind.special_verbs) - U.verbs += V - - spawn(500) - U << "Something about your body doesn't seem quite right..." - - U.Paralyse(20) - H.Paralyse(20) - - spawn(600) - H.verbs += /mob/proc/swap - - else - src << "Their mind is not compatible." - return - else - src << "Their mind is resisting your spell." - return - - else - src << "They appear to be brain-dead." - return \ No newline at end of file diff --git a/code/unused/tensioner.dm b/code/unused/tensioner.dm deleted file mode 100644 index 1cf5eb2acd..0000000000 --- a/code/unused/tensioner.dm +++ /dev/null @@ -1,876 +0,0 @@ -#define PLAYER_WEIGHT 5 -#define HUMAN_DEATH -5000 -#define OTHER_DEATH -5000 -#define EXPLO_SCORE -10000 //boum - -#define COOLDOWN_TIME 12000 // Twenty minutes -#define MIN_ROUND_TIME 18000 - - -#define FLAT_PERCENT 0 - -//estimated stats -//80 minute round -//60 player server -//48k player-ticks - -//60 deaths (ideally) -//20 explosions - - -var/global/datum/tension/tension_master - -/datum/tension - var/score - - var/deaths - var/human_deaths - var/explosions - var/adminhelps - var/air_alarms - - var/nuketeam = 0 - var/malfAI = 0 - var/wizard = 0 - - var/forcenexttick = 0 - var/supress = 0 - var/eversupressed = 0 - var/cooldown = 0 - - var/round1 = 0 - var/round2 = 0 - var/round3 = 0 - var/round4 = 0 - - var/list/antagonistmodes = null - - - - var/list/potentialgames = list() - - New() - score = 0 - deaths=0 - human_deaths=0 - explosions=0 - adminhelps=0 - air_alarms=0 - - if(FLAT_PERCENT) // I cannot into balance - antagonistmodes = list ( - "POINTS_FOR_TRATIOR" = 6, - "POINTS_FOR_CHANGLING" = 6, - "POINTS_FOR_REVS" = 3, - "POINTS_FOR_MALF" = 1, - "POINTS_FOR_WIZARD" = 2, - "POINTS_FOR_CULT" = 3, - "POINTS_FOR_NUKETEAM" = 2, - "POINTS_FOR_ALIEN" = 5, - "POINTS_FOR_NINJA" = 3, - "POINTS_FOR_DEATHSQUAD" = 2, - "POINTS_FOR_BORGDEATHSQUAD" = 2 - ) - - else - antagonistmodes = list ( - "POINTS_FOR_TRATIOR" = 100000, - "POINTS_FOR_CHANGLING" = 120000, - "POINTS_FOR_REVS" = 150000, - "POINTS_FOR_MALF" = 250000, - "POINTS_FOR_WIZARD" = 150000, - "POINTS_FOR_CULT" = 150000, - "POINTS_FOR_NUKETEAM" = 250000, - "POINTS_FOR_ALIEN" = 200000, - "POINTS_FOR_NINJA" = 200000, - "POINTS_FOR_DEATHSQUAD" = 500000, - "POINTS_FOR_BORGDEATHSQUAD" = 500000 - ) - - proc/process() - score += get_num_players()*PLAYER_WEIGHT - - if(config.Tensioner_Active) - if(world.time > MIN_ROUND_TIME) - round1++ - if(!supress && !cooldown) - if(prob(1) || forcenexttick) - round2++ - if(prob(10) || forcenexttick) - round3++ - if(forcenexttick) - forcenexttick = 0 - - for (var/client/C in admin_list) - C << " The tensioner wishes to create additional antagonists! Press (this) in 60 seconds to abort!" - - spawn(600) - if(!supress) - cooldown = 1 - spawn(COOLDOWN_TIME) - cooldown = 0 - round4++ - - if(!antagonistmodes.len) - return - - var/thegame = null - - if(FLAT_PERCENT) - thegame = pickweight(antagonistmodes) - antagonistmodes.Remove(thegame) - - else - for(var/V in antagonistmodes) // OH SHIT SOMETHING IS GOING TO HAPPEN NOW - if(antagonistmodes[V] < score) - potentialgames.Add(V) - antagonistmodes.Remove(V) - if(potentialgames.len) - thegame = pick(potentialgames) - - - if(thegame) - - - log_admin("The tensioner fired, and decided on [thegame]") - - switch(thegame) - if("POINTS_FOR_TRATIOR") - if(!makeTratiors()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_CHANGLING") - if(!makeChanglings()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_REVS") - if(!makeRevs()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_MALF") - if(!makeMalfAImode()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_WIZARD") - if(!makeWizard()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_CULT") - if(!makeCult()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_NUKETEAM") - if(!makeNukeTeam()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_ALIEN") - if(!makeAliens()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_NINJA") - if(!makeSpaceNinja()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_DEATHSQUAD") - if(!makeDeathsquad()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_BORG_DEATHSQUAD") - if(!makeBorgDeathsquad()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - - proc/get_num_players() - var/peeps = 0 - for (var/mob/M in player_list) - if (!M.client) - continue - peeps += 1 - - return peeps - - proc/death(var/mob/M) - if (!M) return - deaths++ - - if (istype(M,/mob/living/carbon/human)) - score += HUMAN_DEATH - human_deaths++ - else - score += OTHER_DEATH - - - proc/explosion() - score += EXPLO_SCORE - explosions++ - - proc/new_adminhelp() - adminhelps++ - - proc/new_air_alarm() - air_alarms++ - - - Topic(href, href_list) - - if(!usr || !usr.client) - return //This shouldnt happen - - if(!usr.client.holder) - message_admins("\red [key_name(usr)] tried to use the tensioner without authorization.") - log_admin("[key_name(usr)] tried to use the tensioner without authorization.") - return - - log_admin("[key_name(usr)] used a tensioner override. The override was [href]") - message_admins("[key_name(usr)] used a tensioner override. The override was [href]") - - - if(href_list["addScore"]) - score += 50000 - - if (href_list["makeTratior"]) - makeTratiors() - - else if (href_list["makeChanglings"]) - makeChanglings() - - else if (href_list["makeRevs"]) - makeRevs() - - else if (href_list["makeWizard"]) - makeWizard() - - else if (href_list["makeCult"]) - makeCult() - - else if (href_list["makeMalf"]) - makeMalfAImode() - - else if (href_list["makeNukeTeam"]) - makeNukeTeam() - - else if (href_list["makeAliens"]) - makeAliens() - - else if (href_list["makeSpaceNinja"]) - makeSpaceNinja() - - else if (href_list["makeDeathsquad"]) - makeDeathsquad() - - else if (href_list["makeBorgDeathsquad"]) - makeBorgDeathsquad() - - else if (href_list["Supress"]) - supress = 1 - eversupressed++ - spawn(6000) - supress = 0 - - else if (href_list["ToggleStatus"]) - config.Tensioner_Active = !config.Tensioner_Active - - - proc/makeMalfAImode() - - var/list/mob/living/silicon/AIs = list() - var/mob/living/silicon/malfAI = null - var/datum/mind/themind = null - - for(var/mob/living/silicon/ai/ai in player_list) - if(ai.client) - AIs += ai - - if(AIs.len) - malfAI = pick(AIs) - - else - return 0 - - if(malfAI) - themind = malfAI.mind - themind.make_AI_Malf() - return 1 - -/* - if(BE_CHANGELING) roletext="changeling" - if(BE_TRAITOR) roletext="traitor" - if(BE_OPERATIVE) roletext="operative" - if(BE_WIZARD) roletext="wizard" - if(BE_REV) roletext="revolutionary" - if(BE_CULTIST) roletext="cultist" - - - for(var/mob/new_player/player in world) - if(player.client && player.ready) - if(player.preferences.be_special & role) -*/ - - - proc/makeTratiors() - - var/datum/game_mode/traitor/temp = new - - if(config.protect_roles_from_antagonist) - temp.restricted_jobs += temp.protected_jobs - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in player_list) - - var/datum/preferences/preferences = new - - if(applicant.stat < 2) - if(applicant.mind) - if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "traitor") && !jobban_isbanned(applicant, "Syndicate")) - if(!(applicant.job in temp.restricted_jobs)) - if(applicant.client) - if(preferences.savefile_load(applicant, 0)) - if(preferences.be_special & BE_TRAITOR) - candidates += applicant - - if(candidates.len) - var/numTratiors = min(candidates.len, 3) - - for(var/i = 0, i300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client) - candidates.Remove(G) - - spawn(0) - if(candidates.len) - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - if(!theghost) - return 0 - var/mob/living/carbon/human/new_character=makeBody(theghost) - new_character.mind.make_Wizard() - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeCult() - - var/datum/game_mode/cult/temp = new - if(config.protect_roles_from_antagonist) - temp.restricted_jobs += temp.protected_jobs - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in player_list) - - var/datum/preferences/preferences = new - - if(applicant.stat < 2) - if(applicant.mind) - if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "cultist") && !jobban_isbanned(applicant, "Syndicate")) - if(!(applicant.job in temp.restricted_jobs)) - if(applicant.client) - if(preferences.savefile_load(applicant, 0)) - if(preferences.be_special & BE_CULTIST) - candidates += applicant - - if(candidates.len) - var/numCultists = min(candidates.len, 4) -// var/list/runeWords = list() - - for(var/i = 0, i300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client) - candidates.Remove(G) - - spawn(0) - if(candidates.len) - var/numagents = 5 - syndicate_begin() - - for(var/i = 0, iAlert: The shuttle is going back!
" - - var/syndicate_commando_number = syndicate_commandos_possible //for selecting a leader - - */ - var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned. - - //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - - - for(var/mob/dead/observer/G in player_list) - spawn(0) - switch(alert(G,"Do you wish to be considered for an elite syndicate strike team being sent in?","Please answer in 30 seconds!","Yes","No")) - if("Yes") - if((world.time-time_passed)>300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.key) - candidates.Remove(G) - - if(candidates.len) - var/numagents = 6 - //Spawns commandos and equips them. - for (var/obj/effect/landmark/L in /area/syndicate_mothership/elite_squad) - if(numagents<=0) - break - if (L.name == "Syndicate-Commando") - syndicate_leader_selected = numagents == 1?1:0 - - var/mob/living/carbon/human/new_syndicate_commando = create_syndicate_death_commando(L, syndicate_leader_selected) - - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - del(new_syndicate_commando) - break - - new_syndicate_commando.key = theghost.key - new_syndicate_commando.internal = new_syndicate_commando.s_store - new_syndicate_commando.internals.icon_state = "internal1" - - //So they don't forget their code or mission. - - - new_syndicate_commando << "\blue You are an Elite Syndicate. [!syndicate_leader_selected?"commando":"LEADER"] in the service of the Syndicate. \nYour current mission is: \red [input]" - - numagents-- - - //Spawns the rest of the commando gear. - // for (var/obj/effect/landmark/L) - // if (L.name == "Commando_Manual") - //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) - // var/obj/item/weapon/paper/P = new(L.loc) - // P.info = "

Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

Good luck, soldier!

" - // P.name = "Spec. Ops. Manual" - - for (var/obj/effect/landmark/L in /area/shuttle/syndicate_elite) - if (L.name == "Syndicate-Commando-Bomb") - new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) - // del(L) - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeBorgDeathsquad() - var/list/mob/dead/observer/candidates = list() - var/mob/dead/observer/theghost = null - var/time_passed = world.time - var/list/namelist = list("Tyr","Fenrir","Lachesis","Clotho","Atropos","Nyx") - - //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - - for(var/mob/dead/observer/G in player_list) - spawn(0) - switch(alert(G,"Do you wish to be considered for a cyborg strike team being sent in?","Please answer in 30 seconds!","Yes","No")) - if("Yes") - if((world.time-time_passed)>300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client || !G.key) - candidates.Remove(G) - - if(candidates.len) - var/numagents = 3 - - //Spawns commandos and equips them. - for (var/obj/effect/landmark/L in /area/borg_deathsquad) - if(numagents<=0) - break - if (L.name == "Borg-Deathsquad") - - var/name = pick(namelist) - namelist.Remove(name) - - var/mob/living/silicon/robot/new_borg_deathsquad = create_borg_death_commando(L, name) - - - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - del(new_borg_deathsquad) - break - - new_borg_deathsquad.key = theghost.key - - //So they don't forget their code or mission. - - - new_borg_deathsquad << "You are a borg deathsquad operative. Follow your laws." - numagents-- - - //Spawns the rest of the commando gear. - // for (var/obj/effect/landmark/L) - // if (L.name == "Commando_Manual") - //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) - // var/obj/item/weapon/paper/P = new(L.loc) - // P.info = "

Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
#1 Work as a team.
#2 Accomplish your objective at all costs.
#3 Leave no witnesses.
You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
To make the device functional:
#1 Place bomb in designated detonation zone
#2 Extend and anchor bomb (attack with hand).
#3 Insert Nuclear Auth. Disk into slot.
#4 Type numeric code into keypad ([nuke_code]).
Note: If you make a mistake press R to reset the device.
#5 Press the E button to log onto the device.
You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
Note: Toggle off the SAFETY.
Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
Note: THE BOMB IS STILL SET AND WILL DETONATE
Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

Good luck, soldier!

" - // P.name = "Spec. Ops. Manual" - - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeBody(var/mob/dead/observer/G_found) // Uses stripped down and bastardized code from respawn character - if(!G_found || !G_found.key) return - - //First we spawn a dude. - var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned. - - new_character.gender = pick(MALE,FEMALE) - - var/datum/preferences/A = new() - A.randomize_appearance_for(new_character) - if(new_character.gender == MALE) - new_character.real_name = "[pick(first_names_male)] [pick(last_names)]" - else - new_character.real_name = "[pick(first_names_female)] [pick(last_names)]" - new_character.name = new_character.real_name - new_character.age = rand(17,45) - - new_character.dna.ready_dna(new_character) - new_character.key = G_found.key - - return new_character - - /proc/create_syndicate_death_commando(obj/spawn_location, syndicate_leader_selected = 0) - var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc) - var/syndicate_commando_leader_rank = pick("Lieutenant", "Captain", "Major") - var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") - var/syndicate_commando_name = pick(last_names) - - new_syndicate_commando.gender = pick(MALE, FEMALE) - - var/datum/preferences/A = new()//Randomize appearance for the commando. - A.randomize_appearance_for(new_syndicate_commando) - - new_syndicate_commando.real_name = "[!syndicate_leader_selected ? syndicate_commando_rank : syndicate_commando_leader_rank] [syndicate_commando_name]" - new_syndicate_commando.name = new_syndicate_commando.real_name - new_syndicate_commando.age = !syndicate_leader_selected ? rand(23,35) : rand(35,45) - - new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA. - - //Creates mind stuff. - new_syndicate_commando.mind_initialize() - new_syndicate_commando.mind.assigned_role = "MODE" - new_syndicate_commando.mind.special_role = "Syndicate Commando" - - //Adds them to current traitor list. Which is really the extra antagonist list. - ticker.mode.traitors += new_syndicate_commando.mind - new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected) - - return new_syndicate_commando - - - - - - /proc/create_borg_death_commando(obj/spawn_location, name) - - var/mob/living/silicon/robot/new_borg_deathsquad = new(spawn_location.loc, 1) - - new_borg_deathsquad.real_name = name - new_borg_deathsquad.name = name - - //Creates mind stuff. - new_borg_deathsquad.mind_initialize() - new_borg_deathsquad.mind.assigned_role = "MODE" - new_borg_deathsquad.mind.special_role = "Borg Commando" - - //Adds them to current traitor list. Which is really the extra antagonist list. - ticker.mode.traitors += new_borg_deathsquad.mind - //del(spawn_location) // Commenting this out for multiple commando teams. - return new_borg_deathsquad - - - - - -/obj/machinery/computer/Borg_station - name = "Cyborg Station Terminal" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list() - var/temp = null - var/hacked = 0 - var/jumpcomplete = 0 - -/obj/machinery/computer/Borg_station/attack_hand() - if(jumpcomplete) - return - if(alert(usr, "Are you sure you want to send a cyborg deathsquad?", "Confirmation", "Yes", "No") == "Yes") - var/area/start_location = locate(/area/borg_deathsquad/start) - var/area/end_location = locate(/area/borg_deathsquad/station) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - - start_location.move_contents_to(end_location) - - for(var/obj/machinery/door/poddoor/P in end_location) - P.open() - jumpcomplete = 1 - command_alert("DRADIS contact! Set condition one throughout the station!") diff --git a/code/unused/toilets.dm b/code/unused/toilets.dm deleted file mode 100644 index f943a1cc54..0000000000 --- a/code/unused/toilets.dm +++ /dev/null @@ -1,96 +0,0 @@ -/* -CONTAINS: -TOILET - -/obj/item/weapon/storage/toilet - name = "toilet" - w_class = 4.0 - anchored = 1.0 - density = 0.0 - var/status = 0.0 - var/clogged = 0.0 - anchored = 1.0 - icon = 'icons/obj/stationobjs.dmi' - icon_state = "toilet" - item_state = "syringe_kit" - -/obj/item/weapon/storage/toilet/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (src.contents.len >= 7) - user << "The toilet is clogged!" - return - if (istype(W, /obj/item/weapon/disk/nuclear)) - user << "This is far too important to flush!" - return - if (istype(W, /obj/item/weapon/storage/)) - return - if (istype(W, /obj/item/weapon/grab)) - playsound(src.loc, 'sound/effects/slosh.ogg', 50, 1) - for(var/mob/O in viewers(user, null)) - O << text("\blue [] gives [] a swirlie!", user, W) - return - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - t += W.w_class - if (t > 30) - user << "You cannot fit the item inside." - return - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has put [] in []!", user, W, src), 1) - return - -/obj/item/weapon/storage/toilet/MouseDrop_T(mob/M as mob, mob/user as mob) - if (!ticker) - user << "You can't help relieve anyone before the game starts." - return - if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat)) - return - if (M == usr) - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] sits on the toilet.", user) - else - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] is seated on the toilet by []!", M, user) - M.anchored = 1 - M.buckled = src - M.loc = src.loc - src.add_fingerprint(user) - return - -/obj/item/weapon/storage/toilet/attack_hand(mob/user as mob) - for(var/mob/M in src.loc) - if (M.buckled) - if (M != user) - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] is zipped up by [].", M, user) - else - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] zips up.", M) -// world << "[M] is no longer buckled to [src]" - M.anchored = 0 - M.buckled = null - src.add_fingerprint(user) - if((src.clogged < 1) || (src.contents.len < 7) || (user.loc != src.loc)) - for(var/mob/O in viewers(user, null)) - O << text("\blue [] flushes the toilet.", user) - src.clogged = 0 - src.contents.len = 0 - else if((src.clogged >= 1) || (src.contents.len >= 7) || (user.buckled != src.loc)) - for(var/mob/O in viewers(user, null)) - O << text("\blue The toilet is clogged!") - return - - -*/ \ No newline at end of file diff --git a/code/unused/traps.dm b/code/unused/traps.dm deleted file mode 100644 index 94681d1929..0000000000 --- a/code/unused/traps.dm +++ /dev/null @@ -1,225 +0,0 @@ -/obj/effect/pressure_plate - name = "pressure plate" - desc = "A pressure plate that triggers a trap or a few of them." - density = 0 - var/list/connected_traps_names = list() //mappers, edit this when you place pressure plates on the map. don't forget to make the connected traps have an UNIQUE name - var/list/connected_traps = list() //actual references to the connected traps. leave empty, it is generated at runtime from connected_traps_names - var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types - -/obj/effect/pressure_plate/New() - ..() - src:visibility = 0 - refresh() - -/obj/effect/pressure_plate/verb/refresh() - set name = "Refresh Pressure Plate Links" - set category = "Object" - set src in view() - connected_traps = list() //emptying the list first - for(var/trap_name in connected_traps_names) - for(var/obj/effect/trap/the_trap in world) - if(the_trap.name == trap_name) - connected_traps += the_trap //adding the trap with the matching name - -/obj/effect/pressure_plate/HasEntered(atom/victim as mob|obj) - if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))) - for(var/obj/effect/trap/T in connected_traps) - T.trigger(victim) - -/obj/effect/pressure_plate/Bumped(atom/victim as mob|obj) - if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))) - for(var/obj/effect/trap/T in connected_traps) - T.trigger(victim) - -/obj/effect/trap //has three subtypes - /aoe, /area (ie affects an entire area), /single (only the victim is affected) - name = "trap" - desc = "It's a trap!" - density = 0 - var/uses = 1 //how many times it can be triggered - var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types. can also be "none" to not be triggered by entering its square (needs to have a pressure plate attached in that case) - var/target_type = "mob" //if it targets mobs, turfs or objs - var/include_dense = 1 //if it includes dense targets in the aoe (may be important for some reason). you'll probably want to change it to 1 if you target mobs or objs - -/obj/effect/trap/New() - ..() - src:visibility = 0 //seriously, it keeps saying "undefined var" when I try to do it in the define - -/obj/effect/trap/HasEntered(victim as mob|obj) - if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))) - trigger(victim) - -/obj/effect/trap/Bumped(victim as mob|obj) - if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))) - trigger(victim) - -/obj/effect/trap/proc/trigger(victim) - if(!uses) - return - uses-- - activate(victim) - -/obj/effect/trap/proc/activate() - -/obj/effect/trap/aoe - name = "aoe trap" - desc = "This trap affects a number of mobs, turfs or objs in an aoe" - var/aoe_radius = 3 //radius of aoe - var/aoe_range_or_view = "view" //if it includes all tiles in [radius] range or view - -/obj/effect/trap/aoe/proc/picktargets() - - var/list/targets = list() - - switch(target_type) - if("turf") - switch(aoe_range_or_view) - if("view") - for(var/turf/T in view(src,aoe_radius)) - if(!T.density || include_dense) - targets += T - if("range") - for(var/turf/T in range(src,aoe_radius)) - if(!T.density || include_dense) - targets += T - if("mob") - switch(aoe_range_or_view) - if("view") - for(var/mob/living/M in view(src,aoe_radius)) - if(!M.density || include_dense) - targets += M - if("range") - for(var/mob/living/M in range(src,aoe_radius)) - if(!M.density || include_dense) - targets += M - if("obj") - switch(aoe_range_or_view) - if("view") - for(var/obj/O in view(src,aoe_radius)) - if(!O.density || include_dense) - targets += O - if("range") - for(var/obj/O in range(src,aoe_radius)) - if(!O.density || include_dense) - targets += O - - return targets - -/obj/effect/trap/aoe/rocksfall - name = "rocks fall trap" - desc = "Your DM must really hate you." - target_type = "turf" - include_dense = 0 - var/rocks_amt = 10 //amount of rocks falling - var/rocks_min_dmg = 50 //min damage per rock - var/rocks_max_dmg = 100 //max damage per rock - var/rocks_hit_chance = 100 //the chance for a rock to hit you - var/list/rocks_type = list() //what rocks might it drop on the target. with var editing, not even limited to rocks. - -/obj/effect/trap/aoe/rocksfall/New() - - ..() - - rocks_type = pick_rock_types() - -/obj/effect/trap/aoe/rocksfall/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way - - var/list/varieties = list() - - varieties = typesof(/obj/item/weapon/ore) - varieties -= /obj/item/weapon/ore/diamond //don't want easily available rare ores, hmm? - varieties -= /obj/item/weapon/ore/uranium - varieties -= /obj/item/weapon/ore/slag //that'd be just stupid - - return varieties - -/obj/effect/trap/aoe/rocksfall/activate() - - var/list/targets = list() - targets = picktargets() - - if(target_type == "turf") - for(var/i=0,i 0) - step(src, src.dir) - sleep(1) - t1-- - else - var/t1 = round(src.speed / 5) - while(t1 > 0) - step(src, src.dir) - t1-- - return - -/obj/machinery/vehicle/meteorhit(var/obj/O as obj) - for (var/obj/item/I in src) - I.loc = src.loc - - for (var/mob/M in src) - M.loc = src.loc - if (M.client) - M.client.eye = M.client.mob - M.client.perspective = MOB_PERSPECTIVE - del(src) - -/obj/machinery/vehicle/ex_act(severity) - switch (severity) - if (1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //SN src = null - del(src) - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //SN src = null - del(src) - -/obj/machinery/vehicle/blob_act() - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) - -/obj/machinery/vehicle/Bump(var/atom/A) - //world << "[src] bumped into [A]" - spawn (0) - ..() - src.speed = 0 - return - return - -/obj/machinery/vehicle/relaymove(mob/user as mob, direction) - if (user.stat) - return - - if ((user in src)) - if (direction & 1) - src.speed = max(src.speed - 1, 1) - else if (direction & 2) - src.speed = min(src.maximum_speed, src.speed + 1) - else if (src.can_rotate && direction & 4) - src.set_dir(turn(src.dir, -90.0)) - else if (src.can_rotate && direction & 8) - src.set_dir(turn(src.dir, 90)) - else if (direction & 16 && src.can_maximize_speed) - src.speed = src.maximum_speed - -/obj/machinery/vehicle/verb/eject() - set src = usr.loc - - if (usr.stat) - return - - var/mob/M = usr - M.loc = src.loc - if (M.client) - M.client.eye = M.client.mob - M.client.perspective = MOB_PERSPECTIVE - step(M, turn(src.dir, 180)) - return - -/obj/machinery/vehicle/verb/board() - set src in oview(1) - - if (usr.stat) - return - - if (src.one_person_only && locate(/mob, src)) - usr << "There is no room! You can only fit one person." - return - - var/mob/M = usr - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - M.loc = src - -/obj/machinery/vehicle/verb/unload(var/atom/movable/A in src) - set src in oview(1) - - if (usr.stat) - return - - if (istype(A, /atom/movable)) - A.loc = src.loc - for(var/mob/O in view(src, null)) - if ((O.client && !(O.blinded))) - O << text("\blue [] unloads [] from []!", usr, A, src) - - if (ismob(A)) - var/mob/M = A - if (M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = M - -/obj/machinery/vehicle/verb/load() - set src in oview(1) - - if (usr.stat) - return - - if (((istype(usr, /mob/living/carbon/human)) && (!(ticker) || (ticker && ticker.mode != "monkey")))) - var/mob/living/carbon/human/H = usr - - if ((H.pulling && !(H.pulling.anchored))) - if (src.one_person_only && !(istype(H.pulling, /obj/item/weapon))) - usr << "You may only place items in." - else - H.pulling.loc = src - if (ismob(H.pulling)) - var/mob/M = H.pulling - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] loads [] into []!", H, H.pulling, src) - - H.stop_pulling() - - -/obj/machinery/vehicle/space_ship - icon = 'escapepod.dmi' - icon_state = "pod" - var/datum/global_iterator/space_ship_inertial_movement/pr_inertial_movement - var/datum/global_iterator/space_ship_speed_increment/pr_speed_increment - var/last_relay = 0 - var/obj/machinery/portable_atmospherics/canister/internal_tank - var/health = 100 - var/datum/effects/system/spark_spread/spark_system = new - - New() - ..() - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - pr_inertial_movement = new /datum/global_iterator/space_ship_inertial_movement(list(src),0) - pr_speed_increment = new /datum/global_iterator/space_ship_speed_increment(list(src),0) - src.spark_system.set_up(2, 0, src) - src.spark_system.attach(src) - return - - proc/inspace() - if(istype(src.loc, /turf/space)) - return 1 - return 0 - - remove_air(amount) - if(src.internal_tank) - return src.internal_tank.air_contents.remove(amount) - else - var/turf/T = get_turf(src) - return T.remove_air(amount) - - return_air() - if(src.internal_tank) - return src.internal_tank.return_air() - return - - proc/return_pressure() - if(src.internal_tank) - return src.internal_tank.return_pressure() - return 0 - - proc/return_temperature() - if(src.internal_tank) - return src.internal_tank.return_temperature() - return 0 - - Bump(var/atom/movable/A) - if(istype(A)) - step(A, src.dir) - else - if(pr_inertial_movement.cur_delay<2) - take_damage(25) - pr_speed_increment.stop() - pr_inertial_movement.stop() - return - - proc/take_damage(value) - if(isnum(value)) - src.health -= value - if(src.health>0) - src.spark_system.start() -// world << "[src] health is [health]" - else - src.ex_act(1) - return - - process() - return - - proc/get_desired_speed() - return (pr_inertial_movement.max_delay-pr_inertial_movement.desired_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100 - - proc/get_current_speed() - return (pr_inertial_movement.max_delay-pr_inertial_movement.cur_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100 - -/obj/machinery/vehicle/space_ship/relaymove(mob/user as mob, direction) - spawn() - if (user.stat || world.time-last_relay<2) - return - last_relay = world.time - var/speed_change = 0 - if(direction & NORTH) - pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay-1, pr_inertial_movement.max_delay) - speed_change = 1 - else if (direction & SOUTH) - pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay+1, pr_inertial_movement.max_delay) - speed_change = 1 - else if (src.can_rotate && direction & 4) - src.set_dir(turn(src.dir, -90.0)) - else if (src.can_rotate && direction & 8) - src.set_dir(turn(src.dir, 90)) - if(speed_change) -// user << "Desired speed: [get_desired_speed()]%" - src.pr_speed_increment.start() - src.pr_inertial_movement.start() - return - -//should try two directional iterator datums, one for vertical, one for horizontal movement. -/datum/global_iterator/space_ship_inertial_movement - delay = 1 - var/min_delay = 0 - var/max_delay = 15 - var/desired_delay - var/cur_delay - var/last_move - - New() - ..() - desired_delay = max_delay - cur_delay = max_delay - - stop() - src.cur_delay = max_delay - src.desired_delay = max_delay - return ..() - - process(var/obj/machinery/vehicle/space_ship/SS as obj) - if(cur_delay >= max_delay) - return src.stop() - if(world.time - last_move < cur_delay) - return - last_move = world.time -/* - if(src.delay>=SS.max_delay) - return src.stop() -*/ - if(!step(SS, SS.dir) || !SS.inspace()) - src.stop() - return - - proc/set_desired_delay(var/num as num) - src.desired_delay = num - return - -/datum/global_iterator/space_ship_speed_increment - delay = 5 - - process(var/obj/machinery/vehicle/space_ship/SS as obj) - if(SS.pr_inertial_movement.desired_delay!=SS.pr_inertial_movement.cur_delay) - var/delta = SS.pr_inertial_movement.desired_delay - SS.pr_inertial_movement.cur_delay - SS.pr_inertial_movement.cur_delay += delta>0?1:-1 -/* - for(var/mob/M in SS) - M << "Current speed: [SS.get_current_speed()]" -*/ - else - src.stop() - return From aeff099189118dc709ca0747a1eee89d0811094a Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 3 Feb 2015 14:50:39 +0000 Subject: [PATCH 281/282] Fixes compiled jar being compiled under Java 8 --- tools/dmitool/dmitool.jar | Bin 200868 -> 201166 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/dmitool/dmitool.jar b/tools/dmitool/dmitool.jar index e42320873fab817001cb2783a3dd8b9e5ccf2400..34bdb5bdd459fd2f1746062a878f430c86fe8d45 100644 GIT binary patch delta 32645 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 U`Q?B4U@Ra70{j;A!wSs*0UQ{YbpQYW delta 32051 zcmZ6yQ+y`O?+03JZQHhO+qSp1`P8;;+qP|M>pt~XTes)^opbd+xtPr4ZZgRylYEo; z68O?0cm!oR@L#YXAkfet%F$Fw2)y9`W3nFqFB{=O`|l)Km~H(B4-5nZ3mgOl4Fo;o z@E8m|g$$GwKwd7Xu>Dl5nIgjhT^5`cjF~E2y(}wYWS)$;5|tu;EdCW35XK}+^hCiF zTz3!xtT|wMB~fL%%56Wg$n?+h*YUlX^ZUO41`qUBx6{s)6*1MV!hx%>+g{cjMy^pYD_Uv~%U-`c-| zWl3&6J0kKb3;-r7b5l67%Xpfmf-wS)aMNE4%Y{F2--ZFn{w^R1+E(E;_X;{tYkUKN=d zUqxX7)O$iya$OU}r-S0qeSb_(51{ekETAS5u_nLylJuu9!R8C7lG%Fe#zv^9#lwB< z>=9tXq!UsS%jXvdW@JM+kNZQMCOi|Js632&mymTX@j*38%xz`4%AHe_F1|R=CY};w z38`8uASr<i)gQ3s_?ki@f)UmL_!=S-t=$gkSrtQ4g^fbnUS%1xs#4XR zPAmG!UiB_}`L43w-7uaGM-P_bp!QO)ug9x&kuM3vwf^jWIaXqm81a_uMd#cJ8GTXE z8ETgwu-nI-iBdz`e0C7|a8gqf2YKGR9vcRTB0^&8yJ3eNRLV zVDh`;ZHUJW*Pvp<+Ab_;?Y-MI_6Nj_Hv>#Qz=~%CRA+8XGErdyfopGQ@PgT@T{Vs@c@H*k zeL|sv$USrGAwp!v;6)+~ zc#3U|f{UakUo0CtrBk*}JV8Kmn7BrW_$M!qBDgRxm@yG$`8N#O zuoSOz%8o)01>?b8@6&42DDgFDn@hfzh(t#|kCcH@a2)sas1#dr@-Oe$YE$IIEE{`< zwSjB6S-wOFy==F09NxY5dQ-K?F~i>Q&7c2kgoXXs$0>-A>VU-k=)z!g5pi0-ri>cH zr}28c_VllsU{YWa(PBdMS$z(YsQ&NFEZ4K#!+;;Z08nmG4hVuB%ynhfCbQyMk>~AgcLPKDB-{iH{D0QNUB@v?2)~ukRBO&#% zlSy!-Sy{3gF3$}UG39(lC)m8M(SP#{P}=o5+%x%oLJn9z z=n3l1I_iDKPYtBrHu$;W{%iw|Jo^HD7vy$cxt4n!?;RPw^Txs`{b{HLncu{S!rsVY z0C&efM+p#bR63tf-zDsThoeCuxyP!hAA8oEPa#2@vjurg%AYYQmhYOe0=U6H^xr*W zKaH;dizg-PZ;F%e0^`pPb|dM>GIk@KPa-0LNuv*-$-d(QmteOtdLJO{LqVecva8Ki zeoSz?IMsG#neC|lGUbeZUX{^eG8a#PSnM&oj32q0)dYU}fu`Xhi*`n8aS$=nPi0Bqyhq4f5OmbG6YN8Y&ao)YvB4IkL@~IDyqPn0Hn&BCDEmb_S&s%hC0y))?lC9EyBc^zB^r zsBX-ZTCF_O>>kh^+vwsvYjvh-)g?H3T(XuS>_D8QaOQZII%IZlx^V31jaebbhHpKx`Y8WBOW64>pw4`5P8#4iP zbq^j>7$ig{A-zc%{1J158(Gd@&GKp+QG`>^C&ngyehs}Y15&YKd$8xin1^hw2Hay7 z3$cAC&R%9`F8t(bgAuypf<=^okxh-DfvJ}6;08eHZ&RH``Go+wSIUK)qu>rU+&|?& z*~5aWWSwB`LK(79`MX48Cz-&(N_xjA)dUcJa|EerYwmBV<=`tWPluo+IUz>h$OoCE zr=1G(=7M4=0B`Q@7J|vHuF7)|={kJx)V&SGKz|*JR12L|U1#Vg;5}Qs{f1ixtRtiw z3IP;{;f(T{43Htk6VW=vjb$(in9-0*=o06l@pP#5sD2%Q)SM^a$Wn(r-UQ zyjM4j8SuE@1pnOaiatQfZwH1;KjKVfbpuZ1^G2iJvGwQMs$JXQx6PbrjHGG>`pFNI z$EzEWeYK-Yb?}ap&~|o4@Q@01B`ChdDNrR!vP6T*JG$N7?Z!pG#x6+tV9<4@goBh3 zAsVo8^MuoWEjNi($##&N6P0I&{Q~cTK&ABJ&-GB$MaI=s&%Gctj*{cv+6j;9Oa#Eg zU_?E+KE2D*G)64y#4#9Uktma61@ARP7vRlg@@-#F>kvo8`ZMCa4B=sB)?8-;K zwG!0^i^L;t*5z<}?z}^19vx2LC+4Sso)l)9{r4IIdf8%Wiv=U*1vR7PCuf>>^NiBP zet`Hll%{#7+{m>>pwf#I`O&UL|%6CmP9>{9keY*36y z`mw3*Hyt_G$comA8`2LSP$TrqhH>T9ae>U3#M)b7+ikzrNz95P9=+c6L$^UHavj!@Cv*g z*9O)z)UHjNAqmoC0saEcExJzem{N_QW$ofgWP7XWA1$^8E|?R_rB$${tu6|DGiB)S zxjZ8SJTP0%SprEzZci~hc0y}t1x3AFc%@8aQAV8QAbV|IWm8Pztt-+Sf&*?hKdX0i z@zJ9d-HrC~^^S1VM~fn9n?C?zWsy4rBKt@#6T2GTdgMLEjx|{K@~ZjfwXIA1&9n|0 zRC~K_#({h&skjy?iE(GLV<(@D^aMN|xZlRzJnWJ8%FcFckenG^g} zMW4zK{omCZ?bTYzVm^7Th;XQX`jU673+Ww62Ube#99bt^L0pq}W6}Yl#!LD5(e0Fx z!^#STmNn3QW9ZrE$VD!K?V^eiSo?3*+%FVOFDwkwTXA z@NR2XcM9`2Jh9)-&YclZU|r+E-FJyxL1eJEjClo&Bt3;~yL=}_*Si_?2+X4=I1(dR zQb55L(|0$WC{i`nt5fT23Fn)3v`tu(3dDckz@8{-Y+r+HThh!~eM#!yvT5O6&^$K_ z|0WFrHi)YIEBt^6NSQ`Q?FD+9Jb;y>Oi3{FnSY6vSG8biG1UR`{Y@1#tQfB;r*g4> z`=gCE3&P5IvZ|}Nn!zK!@q8g<9O2ssnZSg_gXk6$Kr=ooXe@T2=x&g-!vM85?OkE~ z$#V_NYhom3G9oA3suB)=9Gce>R_EHgCHCOu@EReLM22EXC_{881c%3PL<49~k&`=q_oL<3ih;Cm zU23|Q&Bg7S*X*n&SloK(?G?4}^a@|UP%U34o>eUGR^0-c*Y<{YfMR7N?U$M_(DlA6 z^)=whhT3aG$p&4#=R1DnN|vP3LuUooCXvX1y}!-j(lC=oa*D z6cF@N>QxA{@Vz3?PME0k5J_Ix5Ina9BS{W~{C_DAf167ygp2ZE0GI#sjSrfnxL|%Y zh-{J`ch6Q1sbeS_9k%|M(xb27Mt(4_j5z~-+e1L|Wtn>jgPEBW|8nxTWaFevIvPYU z)$TfG(o53AowzkA-0=94#9D-I`%%*gnvzI(%IT84c|5E+sg2}v#uL6ng>=b@GbVqb7-LPy>bbDJ2y0Xe>?sK&+U0Igm-ift z_YvUUdNfKza`l0+&HUo%a!VS=@;69jy zdl{(i1xaf{2G2n&G%o_B0e9|+E>~0;Q}}$ z3=N7AYV=0E!di@q0~2THxiw$)1(unissH@;RaIXm>6 zSt;J*H|0yW@|b9E>y#6nV4Nf0kv1z3UY?v}Pj*Khj5t+keiV!S;gbRz*+zWbBrW%+GMadM-Lk5FACpm(fa()t`}Bij(01@iB_NQHuJ#Qd!9xO06m2o_Xq1Qcryb zf6r7ZMop+^$_q-|8JE>WN||2Bc5;Jj^zdH?0_2r~xI@q*K@&rfYi0wbRvN|T9tiAt@Di5s9&<%3kO=zX9tfhr z2!B{aRbd^fZx3zRpB9@m1dTaqTViE%YMKqwc&b@5Y992{-sZz;MP_62hT#3DLsyAK z3@tQ^FebNA1-8NJZ@)A0o{yJ<67WFULG3C69bMNGHU=M60pOtZ4^Us*j9=H#}@_Lm4|1A-L& zQ_mdB=o`@*0UcERd{*IRSu%c9Wy|+?I@KXv!@5 z1j(1=z~5B$Om55Ov@L`|zQXGYw2DJ(XPefFF9=9f0EXHGl-{d*>t&4wE2umdSw!Ic z9g!HoMI8q>q$<`R`s!&!8iIsgQUe|Fvg#ckPSgNQdHtm`Q2zW8PK8MGs7!+3mZ^87 zf17)kuiP}%-vbpP0vj*pQQ3|xA1@(N8FSsLa1Mg^fD`;mltf8(0 z9ij4m0i0`hr4FmFjXjX+s;6PjuH8$GA$s@BA$xzX5LAs^w%LjRhjIyRHl@z#FPcSs z90y|r>VFespvIlaIx}clI4t_*Isr6KAsz`U*5vgx+Mk???n<(&KaIZ`ZIUUs)i01< z3yL{3Ahvr=@gYUMp z7FGO8G=X2~Rw)t(_(+bXBF|{H^Q6WLiIxCeg;fhmzG-$v3x2+-HUG2fPI5hdxZ~g- zfTS3aK^Oicf;m#=d{?mo4CNnvI$0|~5b3rIxKFE=Z3Rq|)kk6$N&F6pVm2gMI#xy( z*iC01cs$-L66STe``(8T;FsssJ$pj+RDvzuOABvS{lpv}MH0HY@i+8thZ;+E_|>;` zt-O>k`gTcE3#@O##4U~+EP+(TioC7_fND{fH>tiv#|>_-{DwW^wkYh0JTJQUH_I0h z!=XNJ9C&N2)DjMVdb%r3-9eTcWr4J%D?{FhiS87F`T_& zGgom}W6`RUCw5-7=GM=f!Ki$Gyd!~CH3KwtXEP{nSIO8`)LR92tMbWaR9jd%y=3SX z{mQRb2NV-k0+ux{|2&Dc71TRpthCj`b`NpnIk@G?b9FJ6>*;qaX>Rnj&OKxAU0xRL z=qoMX)N2_J-Yp|;L_Dd9Eg47x5cllSl{-+1ePd0#H?$+at=$HkA#d0xC^zSV^8G>n_@kSA2xxsdKXz$=Sw6Z0@1ZkWIk#DsNrOBtyMNyP5oJELU z83MT15hXxAxd*` zBXfo&zXW%isiLc4aF+{+;8_6Gb1T(=tjdo!hHQiNg5_pr`pgFC=4*PV5s1?WTWjeO zE8v{%OZ}Nlst`$zSe)!cM3;Q_{i*UKasU5<} zOs{TnS7CZ~^i>Gg)IcPmdn@8BEF8$#xON~xyuaeQNO zAIeQjB<4i^)r3co7g^-R+~$J_Mq`u(QIS9H;vbSwh>pRHfD@qNr=3Hx`HYGPNubeB zIxquhB_|Y#)=!h4+`}MpQt}L{s&zRnf*{7`?R_nDdz8Oo%TY3-g^UwBVUq9@!n7?& zIOQf7d$EEY22#qZW@8VJ7%SkPTOC2?XCEAl{DMN+xGy1~-UC+%A_>E$#g-iXKD4>W)9^#6%tM^=J{Yf%?6;5eW5P% z9+h)a)1MaK1l&X(cBHUKyLzoaH_``$IWv1V|F}ctZAj@|%KBU^>k7DTdFbl?17iS~ zdb4>4HHU=H8U{ciL>x6Bk2xk`0Ka5kHM;zo{(`f_u|s<<-UxptVY$8h0SV=?XiTUn zb-KQz^<3vfO8gK@{D|a~NIKf;Jd8pTqeLziC6qGr1|x`v))-B>pk^%2iiE5fgttku z&xbg-4X!GHJ2se*T7+N@q9a+ceUk=sgQ9jvB^2*;CU?JK`$SqUs`=%nf6Gf>%kI`o znanA)G541&p`~oaSh>Zfe;W#>*BC2DtT6C{f1rbnC%k$Mb|rgSn%e&!P8(0mYbik9 zS7d(k{kOpmR*(y3_M~NglDWlOiKBcT^_nx*g4XWCiX0QSV;XI-jo+}JpEH(v?S89&5M|_oWQ-t@jsGy~V z+r2JHbA^Zv+JSCl1LfVlTN?*3R?)5dB17j=^`NM+rx_>(w5ab(RzrHq-CS1i!qz2JwpcrR`pjklx{upHo)C>dvhrmJ>khr?1t4sa%2LfAs;>ed2BTc(Z#F zSEZ?c^s?@feFPE*LS%!zL4R7S!MxFd&EC4ieA|j^rYB1!zL*|rO>Bp<_AX_d zovMTNVbn!EA6LPKMel}RPtKvz&;5ek1NFTT9{-lXH9Uv}w6R)!FNy?xv<>};w!{(; z^`il!Yf}73oP0!Y<1$X6xVYiduD_T{k(r8UdQ;=iR;)OgO1uGnkoKp%+e0%K0fr*} zew2NamP=QDoP8tb%0dk%_=aO-ok3F0zp5^51cUJ2N@(3mVp*wFu+D#>jYbltjYZ!K&T6 z2wal>dotUq^6?`~9pX2^%W_%qYF*gBA#P;m_oz0NhNBk}z|%*;?o6dL*zo_7*7h++ZVEDR=(+;EiElxT8BQL^y zsshoP@K!W(9Kkhd_>cpUUDPTM$kuT3hHV9uEVmP5U!7cey}g7@erYMKoSFC{?KIX7 z&ZJR<-8O*WdUIBO6(>SeSnEdfA!8pGA?bCVuWEAj{KiYr$-Lb;*LRl^cmHcjP8s`Uo zdy3~=vnOuYkMp*{KrPcjnzjWw(~p5OWIqWO0Kd~u!1dwb|ELhLU9ZqfC9TuQWU|0` z0;7^g>kEW249O2>_*eY>18q5}AQY`GWKY_mIlg%UND+USEJmTuM(gl}pF9Z{bUsj( z*#~I*;-m0PRmt<`zg@cC=78Vb@g?!?mvuGffupvT0N z1+rEGVRD!De(r^>(k#V~e2FK0ty%v_QTPF94Y0u@VlQLG0zg)wY@5uZ!sH~sF$f@K zb$QN|i{n95Wj-d-(svac%q%b1+@?5PdH^2jwLJvtWQ2boxY}?9|ki^S^$Ef z{0MO)lyjRv=)o6r@V=S)d{1SxCz-)bQ47kV)*~VI3mUUSDf=h+-jLGaLEjUukb)!e zEFd<~=I??RyHE`4hj-n;7vo<*z_?+Ben?=l)B-;U}a_UOs!4 zd|-u6iYLR9RP_V_hEI_9e#XlKX11&x9w6|v3(CW)?=py!EF?;IPUWjVne+7W@q_e# zn+@z;L$XXzKtNPe6sbu8s>J_qj{(U4B>$s0Z8*PNjWi*u$JhQWKN-ptKbZ=d9c#Jm zsS*V}pzw++kj|ozDSMj}AwfP_hSkDQp3)zLHX(4jn>JV&<=2dDy&Dmi8}U4n(y zOCMb~lDoURmexxdoE^!B(8~v9R;k+NH|q=E%dYF4z#YKV;g8o{7*-SzwO_BIz^5`k zpnOTlcS=Mk;}DDYE5`3fLo=XirQzhmk@ss`ZlDN|k@mBAAq4Se#QW8uIDqljllLnj zW52k=-AAhA2V<27XCLFlmsi0?K9kM2E0o|rhdp{~mZQ{RqI6)gz5c6;@U=U_>&yP{ zQvb4y!Vcio6+2^5xwr)d*{NzdFt5R@b!B&{U*cLf@9Ks)DdOs0ztUxR?#;Wf;T>cL z9gJWIEW&0=Hfh>*N{Ybqikg>mN4(eto>DrjcaF*Fd1Z~y^tGnxS!fq6;lyeAT;Li~ zjEouPIz>f5dbPou;4r2gvKASViRDCW98to@Z~zR?%l!Si#;-W~MbGK_+yc400=I!f z3OVMRwU3x0c)0!&kvo0=L9vH5?CwGIEQRn>IILd#LEzVgx(v}X)i1pRwS(geGye><*%x6&qQx+vI zWNJ8xeO&elzgH#WJO_ggO>pnbU7jhIhXF}2@zHr|q*|RDV`}%iKIP9vk6ZELziY~B zzJyQwy20aoht`$pJGM0I=~mbBCvMu;fbcY|w?k!3IT0mMBqntSjd=o4W_?|4ampQJ zd#+C9DmN05m=On^SUFH9!$tdc{3&vlJ1t9~GlcY<12_Zd@yciWiF1+(w=#OWtbjFW z&#~Ciuh$_4>}#L*@RTfp3j@A(*149g*a|&Q#BTvhPSjo0DG zD?)Tj;9U2ST{InRf^j+aT>a``za2l;jIQViNSZ;*m+Y~DG|wcbG;^dUw+DZgjHT<% zmYZr;As>62+2g;-ZJHpmDr@fru8XkUHY1L3_Mvn4^f zz5i~%3LTej9uIPT8ExfPH{PQ`Xjrk7Bfn2G6#o01iSL>nl4w8v$*G-doiGDlL$Ivt zRCG=p5@Cg;e0%G1pBrB(5P%nQdny14h(uxfFMiiS-j(PfOe3>q@ln%onlGAUT|~Ob z$V*#)Al#mSH@CpmZ(1#)$OdN>=0%Iik!-6LCQRSt8w)a#Vd1(F`KMbiB{t&duQIn* zQfw|_iEBV3aL_7iK*$@HZL#8|7M6<8$m01C7%i;+9hzum7Y<502fU?=h^2~EaRJSq z$U+>->173;L{`!cdx41??V)E_ro~t5gR0nhSdzF{+R+>s_#~h*a*RLz+I2e)bCM92qj! z5Ym*wKKWeBSsdM00ztX%Z&je7tG-tg!zZWAs#}`*F@$3ZSmJwVJUNNz;p+;AKje@5My99TASyJ zlY1D-l6cfwq?%gzgH!Sl8+yqYz?&0$mWt)Kd62Nkh45YZ*QIAvEA7T4{We(aUe6Q` zp+DqK{5*`Gos4IsKI}~nu{XwAk+6d-ZyQ5l)TK+ifHdP7#rZj5A+p-S~$I6GREG5gnNvtXKsjpfpm*_pv{vj3!j4MaI z#5sfqaLBe)fOpB^!n8IY)Hr)k1@(%-6R^-W257Tx+_LkwLr5^@$m(8lM!*L16czV{ zA+uvRCxXqoF_DkrZu4G=99=8OtsKvmBOR9=Tyt~h%uXJ9SYneX<+>l8yE~ocLO{J7r_f42K&#BrU!l zF8nbXmXC(*1#R`h2Gdr|zje5@w&dml2um)_&>wPc+0<7qKFK*Y-Q3&mN?6p#2bTQ{u&NwSoaa@4rnarJ&O+!^IO)$V&TnfPt_{k zdO+|cZU6QSU^RU2wYFdq%t(u&n${rLraf{XLrtHVh)SME#F>H;GkBRh%dns6YBP zOlM&*jd~Tv?PSNEkJX0yY`2=|(MGyj(>brIry)F1iPsjJ<|Vu2M}WeY9HgB$(iZ zI_u4#HGQSg@7dJ-nez0J{$M4*m|nA2oC`tf5QVx?)2MZDLw^Lja4?lVqfd@sEc@=hh42wAjOdDn&9iHqRQC+nJkDB}d6WzMq7!8hjg zr48CS%&y7Qc>egGc(8~TS`;ktWkJO_e_5!AOuni`0sko&F($u~g7dsZBq*4#Qg1m=R<}{OCu#eW1gnH7H`tS^Wu^KBp^zJ;5Wkm5s#po5r&1>CW zNRJhmO(k`-*3f*_IW{+dkN`+pCN@RAY^r}vmHf(r3dglAHpc5?TGPq-!s#QMBE8Bu z%vRUZAGO_j!g|B5FY=v6X@7Zgmh z1C>rUsy&o*y|5HkkZTqz6jobdbc@-35ZUv2H|kOMAioV3@7yDouaZO@0+DtjH}53% zr7lP=%b193@ifn)1>DY689P4OqXCNlouR^%7lvsf23kSHzB* zH~MBX#GmV`Q{=L_a4>Stv8@tMn4`aaa`PKAJ@`S=6)Fz_Q{K=1^S6yVZdr<;>@Y7r zY8ZcqZZ#?{9vTJl+61q8B((g3)^m&L9+#RxgR>l>BI3ZT->6yk$~mc16w*~DtR8>a zU$Aqi5shYBE>`eORQ1jAiRkg=fbTnZSJ$yCUy3E5fhK)mba$7|Ifc&5va0bZ)({-J zwCuVORfGouOw#LEXBf_=dlV{k*6mw1SyU0{zKu)akMY(Gud&*2wx7nJAm z!LiIc4Bcc0xzg;mu{k+}?ew{p!qN+Jsz%+{3s?OGnBE5n-v_uCy2bvJ*IM*d?tsZJ z9P;$H3c?)OH^B`;+KszCBQ)z{x!=NX zM@$C*%ZkM@KNJ-WMWqq&1aR6B9zLMVqWYuX=%L!6#$i0S=74y>KhiTr5G@$O+mU+9 zO0e8rIivCh;bJ4R?^@owii58jm;6pE!3^+s+!IrXyjEJl!t>f_Bp^C*MQ}gpWEkYF z3NON>f?$7vq{f)hY{$&cYvEA@56#a_i2eh>+3A(v;YpMWW0C+3x}X9m@Q#@$0-2E+ zt+GYFYWEDz)clo@sHds+CSNMaWbLL|Qq$yzSam`G+b34n{dhQqfj}5hB(}BwEQpm;Y?Wh=DdTcwxi1{1kVF} z*9%{88@#9v`exS)DR70#*#pNLP13V{z`h+b^MBhE-Z7{rv=GI;Qj8Fi9KH)oN=$QS%&7>$kwnEstz7Q znr>mDJ+r$nVASJQhT>6#G@;Z%Zc|=_;oMX(|1ya2IzuG(ES?mEPT)+=fL;P}Q6i`g zw3N(Fb!z~?<&p?m9~0zBwGuM}U`sSXX0hFb_j9Q|<~ zQ`|6*XP7@aE_|7PUO>M>4TsRqHQovO!Z)U`dczG5>41E_Vf_;uBbGiF7V#@aviJ`Y zK#i-xF}gygv8grMYFg(2oIXH!7hVW`xQ25v=eP%eNriH=bQAPJ}^eL#GN`#S_HTe(e>$li_!Av18J zzG#Ax1oq!XGx2E$_wu&RLmZdiPRbnN-w%dMMn?JrD4ys z(NT28;(frJJg-!nvyW}gAYz@Lks|KGqD`Sqsl3O)!3YziJP0RWck z|EtsdPx3#i(}nR%U27AvY`>eI<(e`Fp9qF8qznpGfI&rE`B4kjg@Ow39Qnv&1W z0x7yJ?rg7DTGB)*b8d)+Ozd9M)VtEP)oWW{-?sT!6}0`(MVb95`0#Hb|8;fO7xC8b zyYMzI@Uq*o=X&=#oRI(!k`b4B_~Y-!r-iG3N(QC%?hTEUwjpAOcs~?9aCmIOug@HT z%`fV_DJ4iq)1dNzds8O%s_acb$sPe$uj?Gw+7>-QO<2>Z=-hYY94)BHZ+QP}3=JW_ z^c6ZJ;YlTv4nrxuUBpn$&)6e1Vf;}&1kYc6Zbdw_1cS)zuNx5{?$qq`*!cm%bOHIm z3-tH2ZF*qK7k`9O;zm?}!%@nKd-G9O^f`^gKNFKji~`cs3R=U$&aoM|H+Jv5datA- zHuPs|!&_bdzAk!z>^L64@!AvZsOHy`P=Cq*`KQRM z=7GgaR8DnD(&wftlRO z=kM}|t{O61vSYNQlj?hhEjRuy8(cNx-?Uj%lF3^uWKs3lDRj6>mYKBah>~`#6R3HC z%wtRU=KOqsyeS(-+E5GXV+fRHk|l?&VTuzN_moYs zyv3N2<=D=)@Q}UyZCaAN9byU@X+xS94nfmXwKh6HAj3}#Z3sEY?KpnY3dgEVFlHC* zv#!cqk90qKtu%g}b1A}5N{cfe`w!}jsjgBv8_L4`w7dCqWt-^Jwu^uzd0a;g1LL;K z2)|CNWHlY1lo@_;U-V~jHnVfgq7}w`^ay{ww~94Cf$MS-V(i~p+ZNt=bG&`Bm?zsT zTSZ#H9?I0b;UCN>fct_H-OMUFS$f)HaQ#M>V@oqLAlrK)|nnVe=QHHHv-R<83 zSxZ^^7AAXBtF`rtlS%P)F;pg~8BUg}1XXQK@!G1|trg8#^XNW=F&yh%=g}HB6_#>z`C*g2R_13bQ60+o5NVU094=6`=2&z0l zPV^uu8I*|*pEUQFxQPVN)X2Hbx&zn5Il5vz#v)s7i>IpIyj3`IG~5odDc(V0^I~Kp z`BJuH-0n{jKeM7&rW+GUlLjU`KUrS9n=OZ!Kc&#{jzT~x5nJcR2|+K~e|?-`dTQGC zthf#--W6dztW8dBrL{K3%O)2%y)!3(3Ga?6p#!SSVDJpYzO|fBav_U{mCx8Ip%Y7m zZBft6*0fvpH>uCiDWS6ow|qNWwl|&t!Y}w;G{yQBP=20v!JPQkXsU^}^WqlH^!Sb; zct~CxAXtbv{;RGU>&n_Xreho#?6A{5BTPgr=BDAiG)#Z7{M0x$&efwVE`lY1C1>I6 z^3lT-WvdY(Tmq}<+4+lLB_cysQs?YZvUy8e%91lzAq>qa*r{Cr(-6Z5PcA%6co8~f zorCmObFdN^z0i8Li1LHNLNjXC)VE;-Q(aU&wK`6GDB8U|XRZz0Rc_*a)HHo})J&}h zDz?q_w6=!<{Ns6l^a&5_l0yK%2O+Z8+3Q0G(`?onAcZu%V3oDC`YYZ!)RQ|cetcQ8 z7?CNhwBN1}`mijKsMbFFi=uK~nCLIc>}tBAyRnHWPTik%ZAv&fo!G14tVvy+uE~se zi*8gMhU_uH4gvGwtD~r2n)tW!;<{!_{8OFyW8B(1mV7D>CUVcJ_BtbgKdI)P^$R&v z%>y>~57p2G%YMQ3Vog;H5%36>yk>PrD4Ud~bz8X&Km}7=Nsr;eHG5RfC~+GCbN#J2 zjjM%!i(d2wRA%F5&udFTsSxenHU*x8f1PZ}X>=n)*%onj8LK==v1f1BcA)>8>gHyE zM0VUtcnpYrV0Ry;M_M}v_>S3K520OFKs(DBbapZF_b~QWGVTVKL)f!zpGh2MlWVsQ z&p&5rv!X4K8rt}42Hshgda2S|oH|wRmPcEKjPj8>vCXK8Rv2(%32YW^w|$UHXmJWL zFJex$R&=APBw@B=6vrZOLAD=ZZD$~@wVSD*s}=vwmB-M5tZAbMBrEX>Ix6_-+vSGM zqbp=Im+Ki3=@2bgwP3xPyBPJ@CgH1Q$>aCvZyNfREZ~jTF4fQfs`4zNh=_ZBgt}- zg0;sygyS(=U%q?-JSCa$DjJ7{nHJw>UK3roC%Lh!4WROMtj(09$K!E1WXaQEz@Nzh zu_)J^0OOPYPgiFF7RS=1VHkqDyE{RHdvFNu2^!oTf-}M0Wq{xwoZt}LA-Dy1cL^># zgn#e;cLyH2-|w8#t{%F&tGeQTjP_tGO?LinTDPKvA2_ePrps0cI-rdjtoji2jgz}M z(Nrm8c&!x6WYYQLCJmieu=`~lEoDhh@9>%tYvixElG=8?CJjnExrAy_5o|gj;mmvN zSfoWRVHH()mJ)Hq(H{Gy;XkD~Cz4D-A?4h@jX0D?ks+j5l%KJN?a;WIQ-3$8Z*)#$ z9?;ClcLFg>tW21jS&=f~W{&VnIu=sb#0?lHH;crXJdA3LO$hkxqlH`FX0&H~Qv&y*D{q%;RAXI`c zfXJnH=pjsP2wKArIK4T0vqRH1(uNkstpt_&Ap4X!(6-I3jGX$A1Ysu|iLqPH!Ww8M zp1Z-XqAar#D41UfQrj?|wv(7mJ%=#nd`V2r&1Fms@#M919Fh;zG$s#B4nU#W98ce$#aJ>ZgWa;Dn{sU zhQnWYZzw}02uy6HI1$pjw#j>(oxx*rO0s&b8Equ&V2PHVAevNhD7sue$(`RKNhXFo zhY>}szY#F`2B!!&TQl{64yXV>%fV92`6<+1%&Bwko4Ux)`84Ahkci1-CYkQ7#Q^8P zRFkn#ErLJ8E>}`uWffgnkHpsMW{eo7*mTq- zpK}&4SS>mYB6Ng=RaSI4Dqt!Jqq02Nufh+Vh214x?uK>my$c;Cj0 zBHEv(cPNN|KwmM#mX1l7`euSV*SyE5B=%eEl@bE^6&r@Sxs^eH`nwRO^-pw>2g#{- zk$B0(hq|N7r^S>mZx6H%a$NW*HD^&aH5Z~anFT-M5K9w+=N{Ip;+A!m9-EbC_na*! zFb42H2R=`3M&B643j^2MQXll=#0F;+@Mh7c zXLHn8PKSn#jnuMYsyviLMroTpKpPIQ3-<`3Zc@4fxdTR zkgJ7jG8p9 za>3v@_|;?mNtfeP&}|(|+AGJ*$uU zCh0kM?fMsBEFr3D^?x4rk%c3EZ+mOn&0fvVSG_dP0_tbdUcL^V!ct5Ohxeu>8sIQu z4+@RfpyURk7}}RXI;k^iV=+(byDzAD#eW|gm0VX*_R4jOxls!jXC7Ie=Ul`;Kyg%> z@z*o*%+)1MM^xpBun0#jjw+xT@;hB`rR?{AYH=oAzJ_8aVM1(U;}0R7p+a3f8kZIp45_z3 zAG_WIk_#?%UBVTyy6tA?nZqd$R5cG&xxw=8M5Sn6Z#tX#mke@xy+tl7ag?`ojz(^D zjU5sp)Lops-l=Ma`?JAhEF_xYmfR8~YE< zt(H4#Hr7r2ykoeIMb2Ot^+xlL>fPv`^xL5W3Ycwt@2kccEs`plsx{(=_XmT0SDIfFyt5xdGW`iv5W>mR|cd+MrGHej}#jXAX#gdvfceJgP1d zu;D}360(Zs15^(p#S)ERplB~(16M`}gtJ8VziQF8L!J(!UbAHzIi*Ng+18ZqEPqHe zY+Yl`tf91K*J`r9#A<@60lr0s9k)g30*Xl{Mepa2lcVajIMW3M3h?h$O6Cu!N&lHx z^N(glphUu7tCezNGvrohLCJ3RwPG$bOt{L%%wZG5>vm?=Qn++74&L z9jQxnen@tT5V~J2@yFZ7@)aC=A<##^ zpJgBQ_gDJ&p%DD$I!1f81Z_NcC_%1c0llB;&=}yM!4vnyek)irisAlHK)9`$|J>W8 z=jJ@e%%_6U10$&3(jK2eFeJ9sT;yxPPR!UspJd6!POW}Qf){*#i>dX6{>xm9W`w<5F3YB8h9oXL zhoD*JxzPnc@X-1+*eiO%q1@bm&l*k|2y;hW=fARLPA{iHz+i*KM=&TV!k_r~CfegN zCo=Ad6lfdnAfz>5pe!KoMg?n4v+Tw>-@_qfPe0#qzjIB7Iwt6gP5J~l+5%>OzCGjf zEOq5d_@hK{Du-O({6-JnEh%W!9`Pr{sWo!uE;@JwrW1!(0{JObJFR(xB)kB^Y3P@x z2`Dlj_xSX3)|_Iw3G6cgetmq8jrr$WgJXK|JPeBFL78tBt<(ICRTOGxd7g;Ki0V9R z&ioe4Q`&1knoSjjJ%3?(CWHe8QxUIrvp*Ltl6=~-V=Z}zS{Tqa;j4=|SY!CAy(e=P zbz28Yn^=)$1?uG?$mR_yMwpTCZqm7T+J}_ zjs4q5Y-O#0hLAZ?0}X~>3PbD%bFQcXg1UYcbs^5^aOdH>!ks9(fe8Dt zb(s>z8&c>-+r6pib}g3#HitD7VjOvM>@_xzMHNsMfG4lvT#Gd`OWtdbu2Iuw3obc% z(N&AnnCFmuc>2L5kYzt1mVh*o_+rcvbcEzPn-ei))-VM zU3whJvOX z=_a^~*&Y7An`1p#q>bzg)OZ0pDy+Q7B4Rf~kg;PS@%~$W$%%?;ksSykM3Caay7=nbD)JKwoa&8g z@jq0DW4wyVedb3vfnto${la@WX5QmYdgB+FP#KE%!t4Gs8`$WJ6u z+Y~1OKJ?bKF6(b2X9;zg$tG_X69%Ll96qdOOLWf($Y}a@Q|}#5E+*_feR8s4)_iK8 z{J3siR9Y+!e9Ia5Ax~4C7hY7?gCWk{X!?Ej<^kl^{Krs)2VfP+K8aeB3v_3ijtO)l z;I}Lcaa}8G>8_{i(|wTWmwUtO*^=B3M~_WvS5^tED^u{tLa7ewIwh0iJSReb zb-f!5OT4_y3)^h+Y?Y+rTfxmymvFqth50HDef}J{{cO~y=kVWz&gctbnvZQiX5_Y9 zAO%Ekbifw?xIhE(mgM#Ihp`9e%~O`^zK0{{x@XE~l4l{JZ5>A>7u&2A3S-mNWOo7N z+!SZJc{Yx3QCYkkkqYhPmGCX`=0fQat7)>cV**WysSY#g(d@?qJeAB@#5@IpP>Odk zBdcxWhRb5IL?~MO_7m@<;F(+l%ma-WB#8RPKlBY?xd2PElPTqGqMW`jIY9Ri&yHL6 zMNauXa_sG9Cv4nL?YV_aL@gz_{FK*?x;8J{Fv60A-2Z}-i#&qvTwa|t;-rvwk*>N2 zFr(DnOq0juSImwa$#)K|j%0Sx`|vGIbJAqw+aAIcNRux!rzDMKtUe8xZO1R1Za{C==O#a+!u-96QKR+{4WfybRiry{la-Gi*4*`S^``uRa0 z&ki`DmmA%xrao1OVi-)&qre%YYl+c3jc#4ESE`2TIW2lsB4J%jO{6r`AYQhrGCe3V z-D|?ovt!{bb=41LQ-!7+qa^`Xn#`1Vo=_b_d^UH_W%CSv|6qU)NvYJzJ6- zv}GJTaG&x#%L^>83}HU-yM;YF2n{~JAq8##qYCf!H;f+b&K#arE|8w31SZ>p6;Dq# zK0OI#*hFpdni7w)(mKTRrYOF{Js;S%@G5Rh!%c?QGuIm^Owl|uybuza^ojv}W4ZXW zP586(fmrHS%Ob(&D3}K#M5MK=cJiMzN<+lHGzu^{4h)q6lfHCj0QeD@AB)(#>n=cF zL^toxh_0|6Zepu!LM*3Pncz84EO0+Nabfhf!lCRgdfRcmWJ3K}nAqG@LkB>K3FnE_ zVz207jT9;=35I8oo}JS_!UWuO10?4_J*@P^PGwg=?3R-eWlrw8@ZbicLTgtpq6z5?=Po%HHSu193a zd0TYp72%lroqjG{OKw}Mgc%u7Sk$AogHze+hnl=AYObq<(DWvA?n)Ujvo2M2!L87UD*!b?S{@4in1a+fR! ziGRlF&NnMF32UT;4)fs;FOJA}+WI4>rpnvAM)L3US@Dt`PlZyg$*)yXMD!ynQ-uiT zqfTf-U+O!D80nA_JHMAfW&A3~B-rTjgwZSsoc!~Qd*jEqXzNM}M1Dr7#lgdAMI(&x z_*`lfa4*ZZ7?&{$VM`>?%VyXQ_vx!mP0KoicaU8G&#G^W5vuyOC${Cyj&UUsCwAJs zWEy$}HTAP+u*>ZTOV+Pg&rR39tR$gc-a`chB*J?-;`+qJu49(sbgsd1ZGDJ86VzLv zZA7}h$BVQ{Y@dg?x{OgsGI1CK@Ak{Iu2_oVa1|-@BKSYbeiuY4JljDDZj$ zIZzcJnT6&7_1oB82xc#bkF?WOc2L#(8m3^A#AUUyGY&9B=w=kM*khp_Ma5lxP*>QFd0er6V3Z@gj|uP-ouOo;4sp zX$#1$jUah$m+HiyxDF39jk&3P$k_JXq^jg$JE`aRe3&U*aI3zCk!#S-=2Pil+vE?P zUHWI{We&+(8>R(|_=ovk4`}LnZMjOMb`KFlW{?$Q`3>p62fCZ7e5i;(f`A~6x6>p8 zk`lf?Fnv*8J}sJvZt>IjK8m)_nU^deh`^#i0ELZMS&F-uKX)UX+Q0)PbMKofa?BU4M+zZrPm$4E_ym)$nUJDPSr^TW(FVi1is3@6DTsM zjtcgoYo9fKvWFz;$c4V)tLr~SMqat>jJ6A{>@)t&&{YQzh?3$IQ2u)Kn>;@KotJiy zu4v_gQ~?UIrx#uTZD80h)GXC8F8nW^ja8a6R|BUB$#tqhW$zBp*MaPyHm+quKA*6e5B7M;&JIYn762vT_Q6QHG@jgYD2f4ntd_LtH z>e=q{LAZgZoWyNoXR^c<2RDg~KeIRF*EX*!Tz*pb3Ri5{5Vwt=Y4c8;c;S6TA#R(s zf8RxlgWo+o5MaL9I)GrE+Ws#F~_{b^;{G~;_&tISnX za7Ub7GGJ01+9j>ftoKKOk|TpIX4HVQTY11wnP12KUkWOL56`PPm};>Z5!&p5t@$Rm zjkK#=3NQr8(TyIq zaabpjeg^x)JO%h8h&4r|;6w%yij9Yc_SS9NGxD0adpA(yhfcPM4M|U zNZ{Szg(G?S0SRt!h2EXo5xpDA(sY%w;IUqXiz46&+6eMP`Tzqvo1hAQX1aA0Uh|<5 zc}qDp+nED@u*55fK`E#J0eKn9rQsLkfv88#;n;F&gObvY;ZK80N z@WcSjP&Y%l&=lkiI-AY_cmU`=R_`V7_)K?wM9W+-Ti`z&u8d7SC7dQrIAR=FYL`==O@Zsx^AgUPrxaXS1$ z5JEMA-+bx~d6ibLQPTEzvMYAQJYHjh@wd5Yrs7)p)R+Bw*$WgFx)S**e?UKc<+N0b zYH5B7SS)K_%+(uiQ#Id|ipgk(ryLE;O-QC*0A-zI95v4e9cHCA*bvScQR=^$o#>`6 zh_XL)`B7IT5+RsvDyL~i2H&!?5vao@m`Z12ncdFFwnW8ZdNNhfq|Y`@$sJl_bqTCd z+hm(t)raII#I=-ij1DK7$>hvVswCexG>aZ?sIpGPkF54z0dR`PUN67A&sMS!8-}_iGi7nr{}H$7olN->)=kN442ps5eUH z;V(hf5A#UJ4DZ4>07%v@Kc?9w!s-z3){~;}W#vFgr0-_-2(S(dWDTmeA|8J&#Ds(u zw+iZN$kje9v{y8x08Og$)((hU;sWK{ZB)}t6&PDcVr}=!(2WnK8305}tvlJmPNopKc<(6{BoGz4 z(&>6>kh;a_I=Hr1hw%KkS+VTcu1?t2Ge0*t=01+_e-F&p3XR>D zOtUfV7rmid$XcY?9#5y^hz&kR5;u^Xi5>pQ{5ne zJ>JWsGu28Yn|xtQ)vwkm7+%aNKb=|-=OG3cbNm;*C{9*YQf?nlASD1-43H8?9jqzAO# zbzSgCnIHz^c$6VB?6@$6wBuFhF=nKLcKl5*-8dH1ofsqqY7Tl0AZ(Bw@6$F)wY&7` z5Iz#?Vh>MdHqkJvh5 z0T%{i@!4c@OxpMZIIn^e1wlU&8ahSaHLAOJ<@tnrLPv~z6|j>|&c)In0qX-O2_u}b zF58z=i5UfWHD7V$*x&{~$9#Y5-v(uJzxI6sswqL{b}=2!R`gLJ;&(8@Am60^oNsl2 z^=3TJw@RoT=helC$I$^`>zDOMTt`>D^IHnURdK6qwr7q)_=2l< zvl4&{^Yf~p@i>zVD<})`4R(P!?Yq!g=UC&0Y>r7}B;@7U`Y3XtQPte?IjZ#@0U_@hZd*9Mi|g#s0VIX7%An z)0$~YwF?5Z&ENKal&YE${Z5~;tW6yT`{6%uBpx67Zx$IK;o$_=LA53L?$T$jPm0BpE?HV!mJ_DdwOV@R zKz#P*U-r+@roVptvM(I|Oxi@XK&br~Kfvz^CGa$V)N!=8qlx?t;}p+KJ0*D`*(dr! z@ZpXA(t@%t@#4zB>@G7-x9wsd?2zhj|J+?Qy+ie$--R@5^ht-4`(FfdXH=>a?yU=) zkTa`Y2eng)Hkib<2xSz0o9w7r{ZiSiFq5t&a7E``Rj*&Sy`b0Z=e`#-os&_H2>6m# zA+9Ltqy0SOD~9L#CUINUR)GLZ>9EDraQXWGb!hZ8DbTm#vyAD1TmO0WzfGLBBBlsd z-}9tx^TLm@e5GT}vmZ+U32}+=K?xD*adD*3R+|N6#w6yXvb9*;%m)}D&eVQHn$+Kh z9Bg;{v!_;Qe||YPRu7~(ZR>15T>W}@x<7*b%JwTL+kh?rE~ru3k*%|5nl*HswcLO) z;-G_72|<^GnBlhRb!tcK?wq(lYyejTXStY(Bs zimP)tjQ^5|2l1}y2csEf-L1*)3wCry|&l^bD?3-ql@k0yd>ge)Wxug7j#)YXNG#Zs=8Y^n?H`2 zU_Q>+-bSOy?a4<|^G1@=ih546+2#g~Y{}rz7e5{QCZZhSLDCgE4n3X${QsZ`^+*6# zBu<1+q@b@j%hwpQ6RRW_5BRuF<(wmXd4NVG_c0CFL(8bJfs3=V#=&71y^XweS_+>V zwyN2`CypIf@KdbMH6Y`NoT#isl)6w$!rNnKB@@cEEA}39`X1U&O^#ADk06#qlooZz z`um?#9_;mF2~zaSN#-{zLRk2?9s_J&!%2R7GOUd`!EZnTCT!PnDeTZsPiTB7ewcgt z+Qn!9@%d7G-aVQ)$J58sC!$lczcEh6T% zcOBiVVQ)7t;I**hN)L_Xf`nugliJ)+Z^)-F2CnV7%51`&Eaqppf+w)Dp%yBHNtSJt zjIYC%Ez2ejhGWn^`9DMct7{J<>6Ba4iW=W<#sozD&#B-Nw_rQ@9xdouK8+7qA(cdW zQWRlrio=)hJui&II8ID{kq83iOwn1NSR(jbp>t1K!2jLFnnU=!E3WSw5*h7N?D*1ubXFb9yjOkfZSdz8${o``W0mM)-yT=i&gAcvRVq%h z+u+~upH=Qi*)1-AWpFwgbAr|7j!UDJ5IY(YJN^@_61djx({f>HC5*CM563((HX)w; z{Mg*a<%ZRk-U+MYsI8{q-ql$+2gYG{FatPORP#(!Xg(jc_BDUotwkLspN8Qg+lR!MQ<~0E6<~7iAj4n4l29Y6+L!Ur zt(y3KkL^dPWX`4`c(CuoFL8K$9^&c%I*dHIuO$II{+fzw>N?rWZT2FZ%X{vqseNP_0&er34(~+N-q(zw!FmF7-x$ zY&Dla2*+1>?4jYS5rGhTM@=VigtqGjizH%o@+RVQCiZE}*HL)4kK!cghYdlaQc9sL zA!RIKce&_Z@cJ`n*vPaL$mP&4`^Ywg2 zkGgqTdhHTT;C`{p57q&VKemDGG==ef>GRfRW$E52U*6UaSu1L*09gyWc)D8 zKR2h;t566%<<)dy#b-C&RH;DL_ie+QDUdYuhf_lfPvg1w3UoJB$BF+uWc`$I{Cl*< zv%DpUc*;KGUAd|`S>Qo&F|E~G;Br1wTRJ!Pwm!Sdq1UX#@TH(`&ySlWB!0OqPMtCP z*p`|7%PqdrvN}+b1JE=n+!e}o9UtnTs-s;J@>}IxJ5EQP;WytSzx+3g6cNOJoJNET zEqOgii(v~$HS2X4%nR-9%!?fycntx_1U`nVg>EzLPKKxMY>(_6KFmVem6Pp=H-Vi$ zt5jWp{cg#chRt+UNr>G6NDpCCJ8J&!(s|Y?utM!iMvuFIsZQQ4@53w$+ zr?hK7eT4~c5T8ES$;@*V@e3@fJrO>Q%!Kjl8s8E$oY6dW;4kiV^Lw}<%&>4-@L?51 zlKh#u^8V@j@hcER`O8*AD`_FuV#4@%Q@+kyv!*BxqeO1&I3_)*+z(6z3zVv#N!IPv z^HrwPvd8QxgB*K2Sz@l31x;5K#K&?|4A`_zR>-$dbub)Mc$*A&Z-s7U-NQ&c`gvzpBrAggF6h!2xhAL3< zc|(k+Iwi+$xSZz9Hp$B=ig#&zI0BH|LgHL83 z@MILr8Dojw2e#>jTR16fgth5K?^U&12+(dD&Et3X=*tQFr-<8z?EP55oIKVYM>~{~ z=6n<1I?C<;yEiu$7*#kb&(@;xJIC>5{TjW<`HR*wP zk>9UfAl^3Fc3f>11)a);f&tF0>W75ry<(vGBU@zUu?5aZG*@S#l2`*0N>reJoA<$M5 zD1JuH=$7XRhtYXYxsv1J7Rz)`!1S{t$vgbW1Bm?%8>s#r|95fH`I#(PzJ^ioe4y!8 zmIQIH!XH+yBB?69bi;!qlbRN~u7!waTQ3Na+K}I{p@HT*ZVoKI$DJhl5xDlKk9%I- zdVMY392WA)<{%;3nT{k)k{Ov_!6>ybI9m_9>YTe2I9Z&hknBO`;|xhjUI!i#F>dN|ty*DOJuS>7HT%fANqA0DFp zq1ZB^s(Z411!|uqzxo|KN zqa&!Gd-JXtPg*6df+EJ-VQE6xnVdk;LloI4w~R$xI=W=*x0Un=`X&v9%yxM;o(J&x zMyxeFRa$Z*K{`X6Zr-gf=$LRM3ds(a0q%s%1sB#8wa=EN@4&X=*2(%l-uj%~`c#wt z7N=?2`HLR)RY~FllSXuerI^N?y;?@u6Pn{b`sOrz!#)B^5pW}fpz~3PG|EG4wi~kA z9pCsyC7`Gg@QH`0Hj$`O4{i$wK0_8?x52_<<2*O+SI_rN<*MCB(G4U7KS>1p}5 z`i|IdL!77<>#L4{r%Mm|jP$u4nb)O6?ZY~hYGs@Lvu_@s|9uq_c)E-iKj@eQloyaA z_n)H*Ql8q53mt+f&qM1g4UM~Unop3|nSRp3xcJDb%x2%!p7VZ6qxEYMLie{;Ykoke z$yV_yI%2-1i>(-0-TGXqndP8M#&K;u(R1UXWmQ~>JM!FoOzVVu8y=!wan$=CT0rZC z)=2|vb=}!BO|2i34#^`^hjj=7zzX&6TmtnZ{q3LBhfU9JdZ8f28s#fUV&(%(l^0?w zO!BFhju65JmuRTQlk7A&-Qzp7qCHcW2r6c_Y%}GGkB@GV&Ex}}pYiImw6*Yh;sVi) znKomvzqW6#RA(H1PdYMBT-H*1NaCtbX{ok{bwysRwkM^cLV!tvE_kj^2e$VQ1ej^_ zD^RYQ(OKkUI=ap}*!bQ~>_sYukJ0vy-%db8Dnt#pA0)o%{Q%Wd;}fd~8r+iFEFl{o z$Mvt=fWj5`9cAg_#$U_y6Mc5fj#iphju?+(Uoa-gA5DlR8&ri2Nw|Ow@qzQjT+7Eh zLMscTny}`NkkLSBvEuRn4y<&iA)@S*2G5T^=UE}WNH>o>QRrDVqEn3T@40e$_XvG9 zOj*!N{_C7p95wb=J|3x|xjvK`5Y{U|Le4mLjcr$dXAcrthMb_>1ro*vhdxeTHJS+f z6WKI%#!TbXK-kg-cJt3^?W*uS`yRjsPtKlb?0{U+oJ3l#B05*Z0S*u11?|6^hKXK& zLcF7k08m+579fK4)H|)qa-gMcT9DY9ALDze@dg{K6GLS!T+s-nsj4Zw%;dS44BlfG z_A)nzJr`aEamSu{WsCLx&*K^VD%uv6AsrQ(gmQrm6hF)t{LA)qxD#Iyt9rr&sAD$c zc?H+ipw<&&9sP`S@TKH$;-)otG24o9vQ3Pv37}y}#=WkHP9Jet$ypYqWc|;L@$N4V z{KvI7{fUoWc*yt6joUbU^2ed9SWCTMuixLsiPv&po)w~rM;D%;b%38Z znJ{od8PicJ?1zjlg#6l}W%dn<#!@DQ%CJ=7m>xD4lWQLJ9N(F0w{E`m_soLi{?8J7 z3pG_Tni^JE=;|`A^6CfDboq>2+s7z2n_O)n)U~N3tU_r z?ksRL>VLaE^IvaAtNl!10-;F-Y~|MCju zg@`BT!vx810g(Pi_|Fq@@Uw92f4OF9fZVqLlz+Yc-ev;#syE;K{|KFoKtI8+;rQ$I zw+9aPiUY4-iu13y(o8`QTL7xRUjOcN{hwQn?}a(&{WgI9Zxy|KDS{lf0XTpthZhwW zlm+gb{f*$|q_Ba6fKUe~^`9sBe`Bff<#GlsZUdwMr!FAs9RN2}Y9K`XS`Zeug2=0&{x3*;d9eEiroVcgWUH3C;*NqQ0N|j9bgv)YTW~H1InX7*Lwf~sPia@c;1+| zpx@WvXxonfZ$J+F00O|9M9|tHxF~u107*bA=r6<*rXYb(55Rf(koh7I#206wg8J?O zXz`voC@B9|KY6}l*)I-cpvnWlJ3w6SE4(=b!`FgW_;?6l1w2*1041pG#Ufny0;&L) z?w2hANa+Z`2QcmX2f&M59D&2s41rdU0P29m(U&c0{M{HD$o&F<2KsUg&iC-dUlmk! z4B!B`ue<;j=>8bM2PM4&5g)xv4*GNgV1ODtf`~^yp$3(J0g!zRnmqw1LZzO7kHIN9 z=))=4Bl+|N2;=Y05JBlLLiO2S0km}rK3x6hufTT(V29eic!lsYa5AueAmSCS=s>4u z;4siv5b>3_cp%Pmz&j|5n-?Gfg`9)a#DM}qUV!U&=p39+Z^Rc+24o|@Y)L^*7vOS= z;k*DLsQm)K1$f8s3YeDwPJkNYE0|n@k7pUjE1>-WAHR-Ea6K|`|Dy;1!g*i8UJw!q zMiux+!AN9)LIZ980oR+0&_5~yXjK>z2E=p)&L)aDDE1D34YIugya${~yuyl_WP1J*c%Dd;sgl?^0@)Wh~e^&3@)GhKL7(d^niqasa`Y?+buXo z2Cr9J#Vt5B^ILG8%EkPn@PM1|3*dmBZvn!9n}io21?k^`-3F6hKod}!{MRGt9v}n= zNPYEQ{RW8*65Ism$o>F)vUuKu6Vgk2wUyli!~rH5FMtVZ&4eTZgucqmv6# zcmT)%#0o)Yj{tnoj|Xs3qW%I2=%^HY5%RVo% zTluTJSOE_5Z~~U6Uu4&s7g+-^Rrj)`0tq#MEBDvSY0=dE|BjJg*J}(dPXIxHR_`mc z_Ccb8=%2xPlI(j`oSwn0Yi$%{00~728hQq|9E^#-kVpab4lp|Py6+C&hn{`iAA@2A zpsc*?zXbtT|F_>1$! zqJ#oK`1`#Da>oSxy8(+}yt-7q_$Oe!!aX+FADkK*hyog%Q4ZW!Ssxng^N#ct>R#Z1 z`W292pm+dDw6E|;_rIytF#%9OF)&a_03XIzTN?~GRN%W;IAjMqlEH!t6~ObNP=IV< zq1XY-La)&C0veL9&?*Ihe=Pzh95_pLA6{g2fTzN%c@PeY6TqVkf`kW)&uTAQ3Xlgp zID!oAR~UZ*dBazrLx2(ikQ%>2Bmxu{Aj0e=B683+0u(nu#PSv1BZ70QZ1)00pg2S* zJ^;|+74{Lq1vd5qjiEsifP|2s=m8a8pez(9e9(JjaJ7;6fX~3c=Ry$@IJa2-|7ANu z0tfvb@{b}0pon^f3}h&AfLrP-JifqF+AHX00PtQ*AAkamPw@MTtOf8ddD+r|B+#I6 zKzyiRi*MD7LIGMpg+c}eqJkUiSoJ@OAYiod6$H?rcmd2UFWILCrJ;e{irQX49k4U- YD$1dQ>p^Go6^hZJNMIJ$Uhduh582DX Date: Tue, 3 Feb 2015 18:44:26 +0300 Subject: [PATCH 282/282] Stupid typo & missing constants --- code/modules/clothing/head/misc_special.dm | 2 +- code/modules/mob/living/living_defines.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 22f9295b82..5eb7e0c65b 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -159,4 +159,4 @@ desc = "You can hear the distant sounds of rhythmic electronica." icon_state = "richard" body_parts_covered = HEAD|FACE - flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR \ No newline at end of file + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR \ No newline at end of file diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index d265e8fc15..a9cbcbe0dd 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -40,4 +40,4 @@ var/silent = null // Can't talk. Value goes down every life proc. var/mob_size // Used by lockers. var/on_fire = 0 //The "Are we on fire?" var - var/fire_st + var/fire_stacks