From 29e15c8750709f0a50b4a71e5691abc6468788d7 Mon Sep 17 00:00:00 2001 From: DZD Date: Thu, 13 Aug 2015 11:13:12 -0400 Subject: [PATCH 01/62] Prevents vampires sucking blood from monkeys --- .../mob/living/carbon/human/human_attackhand.dm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index a8d9d90958b..4a42d73357b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -101,16 +101,19 @@ if(M.zone_sel && M.zone_sel.selecting == "head" && src != M) if(M.mind && M.mind.vampire && (M.mind in ticker.mode.vampires) && !M.mind.vampire.draining) if((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH))) - M << "\red Remove their mask!" + M << "Remove their mask!" return 0 if((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH))) - M << "\red Remove your mask!" + M << "Remove your mask!" return 0 if(mind && mind.vampire && (mind in ticker.mode.vampires)) - M << "\red Your fangs fail to pierce [src.name]'s cold flesh" + M << "Your fangs fail to pierce [src.name]'s cold flesh" return 0 if(SKELETON in mutations) - M << "\red There is no blood in a skeleton!" + M << "There is no blood in a skeleton!" + return 0 + if(issmall(src) && !ckey) //Monkeyized humans are okay, humanized monkeys are okey, monkeys are not. + M << "Blood from a monkey is useless!" return 0 //we're good to suck the blood, blaah M.handle_bloodsucking(src) From e39b60b4073f53f4af2f5fb52a83b189f1915e20 Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 13 Aug 2015 22:01:00 +0200 Subject: [PATCH 02/62] NTSL update --- code/__HELPERS/time.dm | 26 +- code/_globalvars/misc.dm | 4 +- code/modules/mob/hear_say.dm | 6 - .../scripting/Implementations/Telecomms.dm | 79 +++--- .../scripting/Implementations/_Logic.dm | 255 ++++++++++-------- .../scripting/Interpreter/Evaluation.dm | 2 +- code/modules/scripting/Scanner/Scanner.dm | 3 +- code/world.dm | 2 + 8 files changed, 188 insertions(+), 189 deletions(-) diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index cbc7fd08920..af4de68fd7a 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -4,25 +4,14 @@ #define HOURS *36000 //Returns the world time in english -proc/worldtime2text(time = world.time) +/proc/worldtime2text(time = world.time) return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" -proc/time_stamp() +/proc/time_stamp() return time2text(world.timeofday, "hh:mm:ss") - -/* Preserving this so future generations can see how fucking retarded some people are -proc/time_stamp() - var/hh = text2num(time2text(world.timeofday, "hh")) // Set the hour - var/mm = text2num(time2text(world.timeofday, "mm")) // Set the minute - var/ss = text2num(time2text(world.timeofday, "ss")) // Set the second - var/ph - var/pm - var/ps - if(hh < 10) ph = "0" - if(mm < 10) pm = "0" - if(ss < 10) ps = "0" - return"[ph][hh]:[pm][mm]:[ps][ss]" -*/ + +/proc/gameTimestamp(format = "hh:mm:ss") // Get the game time in text + return time2text(world.time - timezoneOffset + 432000, format) /* Returns 1 if it is the selected month and day */ proc/isDay(var/month, var/day) @@ -35,3 +24,8 @@ proc/isDay(var/month, var/day) // Uncomment this out when debugging! //else //return 1 + +//returns timestamp in a sql and ISO 8601 friendly format +/proc/SQLtime() + return time2text(world.realtime, "YYYY-MM-DD hh:mm:ss") + \ No newline at end of file diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index cd38e6e34d8..00a878bf27f 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -64,4 +64,6 @@ var/score_dmgestjob = null var/score_dmgestdamage = 0 var/score_dmgestkey = null -var/TAB = "    " \ No newline at end of file +var/TAB = "    " + +var/timezoneOffset = 0 // The difference betwen midnight (of the host computer) and 0 world.ticks. \ No newline at end of file diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 9264feaa869..edee5035f2d 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -115,12 +115,6 @@ if(vname) speaker_name = vname - - if(istype(speaker, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = speaker - if(H.voice) - speaker_name = H.voice - if(hard_to_hear) speaker_name = "unknown" diff --git a/code/modules/scripting/Implementations/Telecomms.dm b/code/modules/scripting/Implementations/Telecomms.dm index dcff5244f6d..f93bbb0cb67 100644 --- a/code/modules/scripting/Implementations/Telecomms.dm +++ b/code/modules/scripting/Implementations/Telecomms.dm @@ -66,7 +66,7 @@ interpreter.SetVar("$science", 1351) interpreter.SetVar("$command", 1353) interpreter.SetVar("$medical", 1355) - interpreter.SetVar("$engineering",1357) + interpreter.SetVar("$engineering", 1357) interpreter.SetVar("$security", 1359) interpreter.SetVar("$supply", 1347) interpreter.SetVar("$service", 1349) @@ -79,6 +79,12 @@ interpreter.SetVar("$job" , signal.data["job"]) interpreter.SetVar("$sign" , signal) interpreter.SetVar("$pass" , !(signal.data["reject"])) // if the signal isn't rejected, pass = 1; if the signal IS rejected, pass = 0 + + var/datum/language/speaking = signal.data["language"] + if(speaking) + interpreter.SetVar("$language", speaking.name) + else + interpreter.SetVar("$language", "Unknown") // Set up the script procs @@ -102,49 +108,9 @@ */ interpreter.SetProc("mem", "mem", signal, list("address", "value")) - /* - -> Delay code for a given amount of deciseconds - @format: sleep(time) - - @param time: time to sleep in deciseconds (1/10th second) - */ - interpreter.SetProc("sleep", /proc/delay) - - /* - -> Replaces a string with another string - @format: replace(string, substring, replacestring) - - @param string: the string to search for substrings (best used with $content$ constant) - @param substring: the substring to search for - @param replacestring: the string to replace the substring with - - */ - interpreter.SetProc("replace", /proc/string_replacetext) - - /* - -> Locates an element/substring inside of a list or string - @format: find(haystack, needle, start = 1, end = 0) - - @param haystack: the container to search - @param needle: the element to search for - @param start: the position to start in - @param end: the position to end in - - */ - interpreter.SetProc("find", /proc/smartfind) - - /* - -> Finds the length of a string or list - @format: length(container) - - @param container: the list or container to measure - - */ - interpreter.SetProc("length", /proc/smartlength) - /* -- Clone functions, carried from default BYOND procs --- */ - - // vector namespace + + // Vector interpreter.SetProc("vector", /proc/n_list) interpreter.SetProc("at", /proc/n_listpos) interpreter.SetProc("copy", /proc/n_listcopy) @@ -153,19 +119,22 @@ interpreter.SetProc("cut", /proc/n_listcut) interpreter.SetProc("swap", /proc/n_listswap) interpreter.SetProc("insert", /proc/n_listinsert) - interpreter.SetProc("pick", /proc/n_pick) - interpreter.SetProc("prob", /proc/prob_chance) - interpreter.SetProc("substr", /proc/docopytext) + interpreter.SetProc("prob", /proc/n_prob) + interpreter.SetProc("substr", /proc/n_substr) + interpreter.SetProc("find", /proc/n_smartfind) + interpreter.SetProc("length", /proc/n_smartlength) - // Donkie~ // Strings interpreter.SetProc("lower", /proc/n_lower) interpreter.SetProc("upper", /proc/n_upper) - interpreter.SetProc("explode", /proc/string_explode) + interpreter.SetProc("explode", /proc/n_explode) + interpreter.SetProc("implode", /proc/n_implode) interpreter.SetProc("repeat", /proc/n_repeat) interpreter.SetProc("reverse", /proc/n_reverse) interpreter.SetProc("tonum", /proc/n_str2num) + interpreter.SetProc("replace", /proc/n_replace) + interpreter.SetProc("proper", /proc/n_proper) // Numbers interpreter.SetProc("tostring", /proc/n_num2str) @@ -176,8 +145,20 @@ interpreter.SetProc("round", /proc/n_round) interpreter.SetProc("clamp", /proc/n_clamp) interpreter.SetProc("inrange", /proc/n_inrange) - // End of Donkie~ + interpreter.SetProc("rand", /proc/n_rand) + interpreter.SetProc("randseed", /proc/n_randseed) + interpreter.SetProc("min", /proc/n_min) + interpreter.SetProc("max", /proc/n_max) + interpreter.SetProc("sin", /proc/n_sin) + interpreter.SetProc("cos", /proc/n_cos) + interpreter.SetProc("asin", /proc/n_asin) + interpreter.SetProc("acos", /proc/n_acos) + interpreter.SetProc("log", /proc/n_log) + // Time + interpreter.SetProc("time", /proc/n_time) + interpreter.SetProc("sleep", /proc/n_delay) + interpreter.SetProc("timestamp", /proc/gameTimestamp) // Run the compiled code interpreter.Run() diff --git a/code/modules/scripting/Implementations/_Logic.dm b/code/modules/scripting/Implementations/_Logic.dm index af422c4f04c..4034315aab3 100644 --- a/code/modules/scripting/Implementations/_Logic.dm +++ b/code/modules/scripting/Implementations/_Logic.dm @@ -1,15 +1,16 @@ // Script -> BYOND code procs #define SCRIPT_MAX_REPLACEMENTS_ALLOWED 200 + // --- List operations (lists known as vectors in n_script) --- -// Clone of list() +// Creates a list out of all the arguments /proc/n_list() var/list/returnlist = list() for(var/e in args) returnlist.Add(e) return returnlist -// Clone of pick() +// Picks one random item from the list /proc/n_pick() var/list/finalpick = list() for(var/e in args) @@ -23,7 +24,7 @@ return pick(finalpick) -// Clone of list[] +// Gets/Sets a value at a key in the list /proc/n_listpos(var/list/L, var/pos, var/value) if(!istype(L, /list)) return if(isnum(pos)) @@ -39,12 +40,12 @@ else L[pos] = value -// Clone of list.Copy() +// Copies the list into a new one /proc/n_listcopy(var/list/L, var/start, var/end) if(!istype(L, /list)) return return L.Copy(start, end) -// Clone of list.Add() +// Adds arg 2,3,4,5... to the end of list at arg 1 /proc/n_listadd() var/list/chosenlist var/i = 1 @@ -58,7 +59,7 @@ if(chosenlist) chosenlist.Add(e) -// Clone of list.Remove() +// Removes arg 2,3,4,5... from list at arg 1 /proc/n_listremove() var/list/chosenlist var/i = 1 @@ -72,34 +73,26 @@ if(chosenlist) chosenlist.Remove(e) -// Clone of list.Cut() +// Cuts out a copy of a list /proc/n_listcut(var/list/L, var/start, var/end) if(!istype(L, /list)) return return L.Cut(start, end) -// Clone of list.Swap() +// Swaps two values in the list /proc/n_listswap(var/list/L, var/firstindex, var/secondindex) if(!istype(L, /list)) return if(L.len >= secondindex && L.len >= firstindex) return L.Swap(firstindex, secondindex) -// Clone of list.Insert() +// Inserts a value into the list /proc/n_listinsert(var/list/L, var/index, var/element) if(!istype(L, /list)) return return L.Insert(index, element) -// --- Miscellaneous functions --- +// --- String methods --- -// Clone of sleep() -/proc/delay(var/time) - sleep(time) - -// Clone of prob() -/proc/prob_chance(var/chance) - return prob(chance) - -// Merge of list.Find() and findtext() -/proc/smartfind(var/haystack, var/needle, var/start = 1, var/end = 0) +//If list, finds a value in it, if text, finds a substring in it +/proc/n_smartfind(var/haystack, var/needle, var/start = 1, var/end = 0) if(haystack && needle) if(isobject(haystack)) if(istype(haystack, /list)) @@ -111,65 +104,41 @@ if(istext(haystack)) if(length(haystack) >= end && start > 0) return findtext(haystack, needle, start, end) - -// Clone of copytext() -/proc/docopytext(var/string, var/start = 1, var/end = 0) + +//Returns a substring of the string +/proc/n_substr(var/string, var/start = 1, var/end = 0) if(istext(string) && isnum(start) && isnum(end)) if(start > 0) return copytext(string, start, end) -// Clone of length() -/proc/smartlength(var/container) +//Returns the length of the string or list +/proc/n_smartlength(var/container) if(container) if(istype(container, /list) || istext(container)) return length(container) -// BY DONKIE~ -// String stuff +//Lowercase all characters /proc/n_lower(var/string) if(istext(string)) return lowertext(string) +//Uppercase all characters /proc/n_upper(var/string) if(istext(string)) return uppertext(string) -/* -//Makes a list where all indicies in a string is a seperate index in the list -// JUST A HELPER DON'T ADD TO NTSCRIPT -proc/string_tolist(var/string) - var/list/L = new/list() - - var/i - for(i=1, i<=lentext(string), i++) - L.Add(copytext(string, i, i)) - - return L - -proc/string_explode(var/string, var/separator) - if(istext(string)) - if(istext(separator) && separator == "") - return string_tolist(string) - var/i - var/lasti = 1 - var/list/L = new/list() - - for(i=1, i<=lentext(string)+1, i++) - if(copytext(string, i, i+1) == separator) // We found a separator - L.Add(copytext(string, lasti, i)) - lasti = i+1 - - L.Add(copytext(string, lasti, lentext(string)+1)) // Adds the last segment - - return L - -Just found out there was already a string explode function, did some benchmarking, and that function were a bit faster, sticking to that. -*/ -proc/string_explode(var/string, var/separator) - if(istext(string) && istext(separator)) +//Converts a string to a list +/proc/n_explode(var/string, var/separator = "") + if(istext(string) && (istext(separator) || isnull(separator))) return text2list(string, separator) -proc/n_repeat(var/string, var/amount) +//Converts a list to a string +/proc/n_implode(var/list/li, var/separator) + if(istype(li) && (istext(separator) || isnull(separator))) + return list2text(li, separator) + +//Repeats the string x times +/proc/n_repeat(var/string, var/amount) if(istext(string) && isnum(amount)) var/i var/newstring = "" @@ -182,7 +151,8 @@ proc/n_repeat(var/string, var/amount) return newstring -proc/n_reverse(var/string) +//Reverses the order of the string. "Clown" becomes "nwolC" +/proc/n_reverse(var/string) if(istext(string)) var/newstring = "" var/i @@ -193,45 +163,92 @@ proc/n_reverse(var/string) return newstring -// I don't know if it's neccesary to make my own proc, but I think I have to to be able to check for istext. -proc/n_str2num(var/string) +// String -> Number +/proc/n_str2num(var/string) if(istext(string)) return text2num(string) +/proc/n_proper(var/string) + if(!istext(string)) + return "" + + return text("[][]", uppertext(copytext(string, 1, 2)), lowertext(copytext(string, 2))) + + +// --- Number methods --- + +//Returns the highest value of the arguments +//Need custom functions here cause byond's min and max runtimes if you give them a string or list. +/proc/n_max() + if(args.len == 0) + return 0 + + var/max = args[1] + for(var/e in args) + if(isnum(e) && e > max) + max = e + + return max + +//Returns the lowest value of the arguments +/proc/n_min() + if(args.len == 0) + return 0 + + var/min = args[1] + for(var/e in args) + if(isnum(e) && e < min) + min = e + + return min + +/proc/n_prob(var/chance) + return prob(chance) + +/proc/n_randseed(var/seed) + rand_seed(seed) + return 0 + +/proc/n_rand(var/low, var/high) + if(isnull(low) && isnull(high)) + return rand() + + return rand(low, high) + // Number shit -proc/n_num2str(var/num) +/proc/n_num2str(var/num) if(isnum(num)) return num2text(num) // Squareroot -proc/n_sqrt(var/num) +/proc/n_sqrt(var/num) if(isnum(num)) return sqrt(num) // Magnitude of num -proc/n_abs(var/num) +/proc/n_abs(var/num) if(isnum(num)) return abs(num) // Round down -proc/n_floor(var/num) +/proc/n_floor(var/num) if(isnum(num)) return round(num) // Round up -proc/n_ceil(var/num) +/proc/n_ceil(var/num) if(isnum(num)) return round(num)+1 // Round to nearest integer -proc/n_round(var/num) +/proc/n_round(var/num) if(isnum(num)) if(num-round(num)<0.5) return round(num) return n_ceil(num) // Clamps N between min and max -proc/n_clamp(var/num, var/min=-1, var/max=1) +/proc/n_clamp(var/num, var/min=-1, var/max=1) if(isnum(num)&&isnum(min)&&isnum(max)) if(num<=min) return min @@ -240,52 +257,60 @@ proc/n_clamp(var/num, var/min=-1, var/max=1) return num // Returns 1 if N is inbetween Min and Max -proc/n_inrange(var/num, var/min=-1, var/max=1) +/proc/n_inrange(var/num, var/min=-1, var/max=1) if(isnum(num)&&isnum(min)&&isnum(max)) return ((min <= num) && (num <= max)) -// END OF BY DONKIE :( -// Non-recursive -// Imported from Mono string.ReplaceUnchecked -/proc/string_replacetext(var/haystack,var/a,var/b) - if(istext(haystack)&&istext(a)&&istext(b)) - var/i = 1 - var/lenh=lentext(haystack) - var/lena=lentext(a) - //var/lenb=lentext(b) +// Returns the sine of num +/proc/n_sin(var/num) + if(isnum(num)) + return sin(num) + +// Returns the cosine of num +/proc/n_cos(var/num) + if(isnum(num)) + return cos(num) + +// Returns the arcsine of num +/proc/n_asin(var/num) + if(isnum(num)&&-1<=num&&num<=1) + return arcsin(num) + +// Returns the arccosine of num +/proc/n_acos(var/num) + if(isnum(num)&&-1<=num&&num<=1) + return arccos(num) + +// Returns the natural log of num +/proc/n_log(var/num) + if(isnum(num)&&0 SCRIPT_MAX_REPLACEMENTS_ALLOWED) break - else - if (count < SCRIPT_MAX_REPLACEMENTS_ALLOWED) - dat+=found - count+=1 - else - //diary << "Script found [a] [count] times, aborted" - break - //diary << "Found [a] at [found]! Moving up..." - i = found + lena - if (count == 0) - return haystack - //var/nlen = lenh + ((lenb - lena) * count) - var/buf = copytext(haystack,1,dat[1]) // Prefill - var/lastReadPos = 0 - for (i = 1, i <= count, i++) - var/precopy = dat[i] - lastReadPos-1 - //internal static unsafe void CharCopy (String target, int targetIndex, String source, int sourceIndex, int count) - //fixed (char* dest = target, src = source) - //CharCopy (dest + targetIndex, src + sourceIndex, count); - //CharCopy (dest + curPos, source + lastReadPos, precopy); - buf+=copytext(haystack,lastReadPos,precopy) - diary << "buf+=copytext([haystack],[lastReadPos],[precopy])" - diary<<"[buf]" - lastReadPos = dat[i] + lena - //CharCopy (dest + curPos, replace, newValue.length); - buf+=b - diary<<"[buf]" - buf+=copytext(haystack,lastReadPos, 0) - return buf \ No newline at end of file + var/found = findtext(text, find, last_found, 0) + . += copytext(text, last_found, found) + if(found) + . += replacement + last_found = found + find_len + continue + return + +// --- Miscellaneous functions --- + +/proc/n_time() + return world.timeofday + +// Clone of sleep() +/proc/n_delay(var/time) + sleep(time) \ No newline at end of file diff --git a/code/modules/scripting/Interpreter/Evaluation.dm b/code/modules/scripting/Interpreter/Evaluation.dm index 02cdc929c5c..0b612608e7f 100644 --- a/code/modules/scripting/Interpreter/Evaluation.dm +++ b/code/modules/scripting/Interpreter/Evaluation.dm @@ -134,7 +134,7 @@ else if(isobject(b) && !isobject(a)) RaiseError(new/runtimeError/TypeMismatch("/", a, b)) return null - if(b==0) + if(b==0 || b==null) RaiseError(new/runtimeError/DivisionByZero()) return null return a/b diff --git a/code/modules/scripting/Scanner/Scanner.dm b/code/modules/scripting/Scanner/Scanner.dm index 35f21b39fd0..a667becea17 100644 --- a/code/modules/scripting/Scanner/Scanner.dm +++ b/code/modules/scripting/Scanner/Scanner.dm @@ -118,13 +118,14 @@ for(, src.codepos<=lentext(code), src.codepos++) var/char=copytext(code, codepos, codepos+1) + var/nextchar=copytext(code, codepos+1, codepos+2) if(char=="\n") line++ linepos=codepos if(ignore.Find(char)) continue - else if(char == "/") + else if(char == "/" && (nextchar == "/" || nextchar == "*")) ReadComment() else if(end_stmt.Find(char)) tokens+=new /token/end(char, line, COL) diff --git a/code/world.dm b/code/world.dm index 2086f563590..5378d235fe6 100644 --- a/code/world.dm +++ b/code/world.dm @@ -42,6 +42,8 @@ var/global/datum/global_init/init = new () // dumb and hardcoded but I don't care~ config.server_name += " #[(world.port % 1000) / 100]" + timezoneOffset = text2num(time2text(0,"hh")) * 36000 + if(config && config.log_runtime) log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log") From 85c4b9997332b23a1e002ef62694ce3c52e7c5ce Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 01:39:28 +0200 Subject: [PATCH 03/62] You can now click on an inventory slot instead of a specific item --- .../objects/items/weapons/storage/storage.dm | 7 + .../mob/living/silicon/robot/inventory.dm | 4 + .../mob/living/silicon/robot/robot_modules.dm | 366 +++++++++--------- 3 files changed, 201 insertions(+), 176 deletions(-) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 6aa5340245d..a8551e96fd6 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -165,6 +165,7 @@ if(display_contents_with_number) for(var/datum/numbered_display/ND in display_contents) + ND.sample_object.mouse_opacity = 2 ND.sample_object.screen_loc = "[cx]:16,[cy]:16" ND.sample_object.maptext = "[(ND.number > 1)? "[ND.number]" : ""]" ND.sample_object.layer = 20 @@ -174,6 +175,7 @@ cy-- else for(var/obj/O in contents) + O.mouse_opacity = 2 //This is here so storage items that spawn with contents correctly have the "click around item to equip" O.screen_loc = "[cx]:16,[cy]:16" O.maptext = "" O.layer = 20 @@ -310,6 +312,7 @@ src.orient2hud(usr) if(usr.s_active) usr.s_active.show_to(usr) + W.mouse_opacity = 2 //So you can click on the area around the item to equip it, instead of having to pixel hunt update_icon() return 1 @@ -345,6 +348,7 @@ W.maptext = "" W.on_exit_storage(src) update_icon() + W.mouse_opacity = initial(W.mouse_opacity) return 1 //This proc is called when you want to place an item into the storage item. @@ -442,6 +446,9 @@ return /obj/item/weapon/storage/Destroy() + for(var/obj/O in contents) + O.mouse_opacity = initial(O.mouse_opacity) + qdel(boxes) qdel(closer) return ..() diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 1b5c2df4cff..da2157f44bc 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -12,6 +12,7 @@ if(!O) return 0 + O.mouse_opacity = 2 if(istype(O,/obj/item/borg/sight)) var/obj/item/borg/sight/S = O sight_mode &= ~S.sight_mode @@ -44,6 +45,7 @@ src << "Already activated" return if(!module_state_1) + O.mouse_opacity = initial(O.mouse_opacity) module_state_1 = O O.layer = 20 O.screen_loc = inv1.screen_loc @@ -51,6 +53,7 @@ if(istype(module_state_1,/obj/item/borg/sight)) sight_mode |= module_state_1:sight_mode else if(!module_state_2) + O.mouse_opacity = initial(O.mouse_opacity) module_state_2 = O O.layer = 20 O.screen_loc = inv2.screen_loc @@ -58,6 +61,7 @@ if(istype(module_state_2,/obj/item/borg/sight)) sight_mode |= module_state_2:sight_mode else if(!module_state_3) + O.mouse_opacity = initial(O.mouse_opacity) module_state_3 = O O.layer = 20 O.screen_loc = inv3.screen_loc diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 9128fa216a5..4ff0c7f0425 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -30,6 +30,15 @@ src.modules += new /obj/item/device/flash/cyborg(src) src.emag = new /obj/item/toy/sword(src) src.emag.name = "Placeholder Emag Item" + + +/obj/item/weapon/robot_module/proc/fix_modules() + for(var/obj/item/I in modules) + I.flags |= NODROP + I.mouse_opacity = 2 + if(emag) + emag.flags |= NODROP + emag.mouse_opacity = 2 /obj/item/weapon/robot_module/proc/respawn_consumable(var/mob/living/silicon/robot/R) if(!stacktypes || !stacktypes.len) return @@ -85,15 +94,16 @@ name = "standard robot module" - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton/loaded(src) - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/crowbar(src) - src.modules += new /obj/item/device/healthanalyzer(src) - src.emag = new /obj/item/weapon/melee/energy/sword/cyborg(src) - return +/obj/item/weapon/robot_module/standard/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/weapon/melee/baton/loaded(src) + src.modules += new /obj/item/weapon/extinguisher(src) + src.modules += new /obj/item/weapon/wrench(src) + src.modules += new /obj/item/weapon/crowbar(src) + src.modules += new /obj/item/device/healthanalyzer(src) + src.emag = new /obj/item/weapon/melee/energy/sword/cyborg(src) + + fix_modules() /obj/item/weapon/robot_module/medical name = "medical robot module" @@ -105,36 +115,37 @@ /obj/item/stack/nanopaste = 5 ) - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/device/healthanalyzer/advanced(src) - src.modules += new /obj/item/device/reagent_scanner/adv(src) - src.modules += new /obj/item/weapon/borg_defib(src) - src.modules += new /obj/item/roller_holder(src) - src.modules += new /obj/item/weapon/reagent_containers/borghypo(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - src.modules += new /obj/item/weapon/reagent_containers/dropper(src) - src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - src.modules += new /obj/item/weapon/extinguisher/mini(src) - src.modules += new /obj/item/stack/medical/advanced/bruise_pack(src) - src.modules += new /obj/item/stack/medical/advanced/ointment(src) - src.modules += new /obj/item/stack/medical/splint(src) - src.modules += new /obj/item/stack/nanopaste(src) - src.modules += new /obj/item/weapon/scalpel(src) - src.modules += new /obj/item/weapon/hemostat(src) - src.modules += new /obj/item/weapon/retractor(src) - src.modules += new /obj/item/weapon/cautery(src) - src.modules += new /obj/item/weapon/bonegel(src) - src.modules += new /obj/item/weapon/FixOVein(src) - src.modules += new /obj/item/weapon/bonesetter(src) - src.modules += new /obj/item/weapon/circular_saw(src) - src.modules += new /obj/item/weapon/surgicaldrill(src) +/obj/item/weapon/robot_module/medical/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/device/healthanalyzer/advanced(src) + src.modules += new /obj/item/device/reagent_scanner/adv(src) + src.modules += new /obj/item/weapon/borg_defib(src) + src.modules += new /obj/item/roller_holder(src) + src.modules += new /obj/item/weapon/reagent_containers/borghypo(src) + src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + src.modules += new /obj/item/weapon/reagent_containers/dropper(src) + src.modules += new /obj/item/weapon/reagent_containers/syringe(src) + src.modules += new /obj/item/weapon/extinguisher/mini(src) + src.modules += new /obj/item/stack/medical/advanced/bruise_pack(src) + src.modules += new /obj/item/stack/medical/advanced/ointment(src) + src.modules += new /obj/item/stack/medical/splint(src) + src.modules += new /obj/item/stack/nanopaste(src) + src.modules += new /obj/item/weapon/scalpel(src) + src.modules += new /obj/item/weapon/hemostat(src) + src.modules += new /obj/item/weapon/retractor(src) + src.modules += new /obj/item/weapon/cautery(src) + src.modules += new /obj/item/weapon/bonegel(src) + src.modules += new /obj/item/weapon/FixOVein(src) + src.modules += new /obj/item/weapon/bonesetter(src) + src.modules += new /obj/item/weapon/circular_saw(src) + src.modules += new /obj/item/weapon/surgicaldrill(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) + src.emag = new /obj/item/weapon/reagent_containers/spray(src) - src.emag.reagents.add_reagent("facid", 250) - src.emag.name = "Polyacid spray" - return + src.emag.reagents.add_reagent("facid", 250) + src.emag.name = "Polyacid spray" + + fix_modules() /obj/item/weapon/robot_module/medical/respawn_consumable(var/mob/living/silicon/robot/R) if(src.emag) @@ -155,115 +166,113 @@ /obj/item/stack/tile/plasteel = 15 ) - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/rcd/borg(src) - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/weldingtool/largetank(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/weapon/wrench(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) - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/device/analyzer(src) - src.modules += new /obj/item/taperoll/engineering(src) - src.modules += new /obj/item/weapon/gripper(src) - src.modules += new /obj/item/weapon/matter_decompiler(src) +/obj/item/weapon/robot_module/engineering/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/borg/sight/meson(src) + src.modules += new /obj/item/weapon/rcd/borg(src) + src.modules += new /obj/item/weapon/extinguisher(src) + src.modules += new /obj/item/weapon/weldingtool/largetank(src) + src.modules += new /obj/item/weapon/screwdriver(src) + src.modules += new /obj/item/weapon/wrench(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) + src.modules += new /obj/item/device/t_scanner(src) + src.modules += new /obj/item/device/analyzer(src) + src.modules += new /obj/item/taperoll/engineering(src) + src.modules += new /obj/item/weapon/gripper(src) + src.modules += new /obj/item/weapon/matter_decompiler(src) - src.emag = new /obj/item/borg/stun(src) + src.emag = new /obj/item/borg/stun(src) - var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) - M.amount = 50 - src.modules += M + var/obj/item/stack/sheet/metal/cyborg/M = new /obj/item/stack/sheet/metal/cyborg(src) + M.amount = 50 + src.modules += M - var/obj/item/stack/sheet/rglass/cyborg/R = new /obj/item/stack/sheet/rglass/cyborg(src) - R.amount = 50 - src.modules += R + var/obj/item/stack/sheet/rglass/cyborg/R = new /obj/item/stack/sheet/rglass/cyborg(src) + R.amount = 50 + src.modules += R - var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src) - G.amount = 50 - src.modules += G + var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src) + G.amount = 50 + src.modules += G - var/obj/item/stack/cable_coil/cyborg/W = new /obj/item/stack/cable_coil/cyborg(src) - W.amount = 50 - src.modules += W + var/obj/item/stack/cable_coil/cyborg/W = new /obj/item/stack/cable_coil/cyborg(src) + W.amount = 50 + src.modules += W - var/obj/item/stack/rods/Q = new /obj/item/stack/rods(src) - Q.amount = 15 - src.modules += Q + var/obj/item/stack/rods/Q = new /obj/item/stack/rods(src) + Q.amount = 15 + src.modules += Q - var/obj/item/stack/tile/plasteel/F = new /obj/item/stack/tile/plasteel(src) //floor tiles not regular plasteel, calm down - F.amount = 15 - src.modules += F + var/obj/item/stack/tile/plasteel/F = new /obj/item/stack/tile/plasteel(src) //floor tiles not regular plasteel, calm down + F.amount = 15 + src.modules += F - return + fix_modules() /obj/item/weapon/robot_module/security name = "security robot module" subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor) - - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src) - src.modules += new /obj/item/weapon/melee/baton/loaded/robot(src) - src.modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src) - src.modules += new /obj/item/taperoll/police(src) - src.modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src) - src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) - return +/obj/item/weapon/robot_module/security/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src) + src.modules += new /obj/item/weapon/melee/baton/loaded/robot(src) + src.modules += new /obj/item/weapon/gun/energy/disabler/cyborg(src) + src.modules += new /obj/item/taperoll/police(src) + src.modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src) + src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) + + fix_modules() /obj/item/weapon/robot_module/janitor name = "janitorial robot module" +/obj/item/weapon/robot_module/janitor/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/weapon/soap/nanotrasen(src) + src.modules += new /obj/item/weapon/storage/bag/trash/cyborg(src) + src.modules += new /obj/item/weapon/mop(src) + src.modules += new /obj/item/device/lightreplacer(src) + src.modules += new /obj/item/weapon/holosign_creator(src) + src.emag = new /obj/item/weapon/reagent_containers/spray(src) - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/weapon/soap/nanotrasen(src) - src.modules += new /obj/item/weapon/storage/bag/trash/cyborg(src) - src.modules += new /obj/item/weapon/mop(src) - src.modules += new /obj/item/device/lightreplacer(src) - src.modules += new /obj/item/weapon/holosign_creator(src) - src.emag = new /obj/item/weapon/reagent_containers/spray(src) - - src.emag.reagents.add_reagent("lube", 250) - src.emag.name = "Lube spray" - return - - + src.emag.reagents.add_reagent("lube", 250) + src.emag.name = "Lube spray" + + fix_modules() /obj/item/weapon/robot_module/butler name = "service robot module" +/obj/item/weapon/robot_module/butler/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) + src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) + src.modules += new /obj/item/weapon/pen(src) + src.modules += new /obj/item/weapon/razor(src) + src.modules += new /obj/item/device/violin(src) + src.modules += new /obj/item/device/guitar(src) - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) - src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) - src.modules += new /obj/item/weapon/pen(src) - src.modules += new /obj/item/weapon/razor(src) - src.modules += new /obj/item/device/violin(src) - src.modules += new /obj/item/device/guitar(src) + var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) + M.matter = 30 + src.modules += M - var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) - M.matter = 30 - src.modules += M + src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) + src.modules += new /obj/item/weapon/lighter/zippo(src) + src.modules += new /obj/item/weapon/storage/bag/tray/cyborg(src) + src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) + src.emag = new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) - src.modules += new /obj/item/weapon/reagent_containers/robodropper(src) - src.modules += new /obj/item/weapon/lighter/zippo(src) - src.modules += new /obj/item/weapon/storage/bag/tray/cyborg(src) - src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) - src.emag = new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) - - var/datum/reagents/R = new/datum/reagents(50) - src.emag.reagents = R - R.my_atom = src.emag - R.add_reagent("beer2", 50) - src.emag.name = "Mickey Finn's Special Brew" - return + var/datum/reagents/R = new/datum/reagents(50) + src.emag.reagents = R + R.my_atom = src.emag + R.add_reagent("beer2", 50) + src.emag.name = "Mickey Finn's Special Brew" + + fix_modules() /obj/item/weapon/robot_module/butler/respawn_consumable(var/mob/living/silicon/robot/R) var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules @@ -307,19 +316,19 @@ /obj/item/weapon/robot_module/miner name = "miner robot module" - - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/borg/sight/meson(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/device/t_scanner/adv_mining_scanner/cyborg(src) - src.modules += new /obj/item/weapon/storage/bag/ore/cyborg(src) - src.modules += new /obj/item/weapon/pickaxe/drill/cyborg(src) - src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) - src.modules += new /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(src) - src.emag = new /obj/item/borg/stun(src) - return +/obj/item/weapon/robot_module/miner/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/borg/sight/meson(src) + src.modules += new /obj/item/weapon/wrench(src) + src.modules += new /obj/item/weapon/screwdriver(src) + src.modules += new /obj/item/device/t_scanner/adv_mining_scanner/cyborg(src) + src.modules += new /obj/item/weapon/storage/bag/ore/cyborg(src) + src.modules += new /obj/item/weapon/pickaxe/drill/cyborg(src) + src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) + src.modules += new /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(src) + src.emag = new /obj/item/borg/stun(src) + + fix_modules() /obj/item/weapon/robot_module/deathsquad name = "NT advanced combat module" @@ -332,7 +341,8 @@ src.modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src) src.modules += new /obj/item/weapon/crowbar(src) src.emag = null - return + + fix_modules() /obj/item/weapon/robot_module/syndicate name = "syndicate robot module" @@ -347,38 +357,42 @@ src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/weapon/pinpointer/operative(src) src.emag = null - return + + fix_modules() /obj/item/weapon/robot_module/combat name = "combat robot module" - New() - src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/borg/sight/thermal(src) - src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) - src.modules += new /obj/item/weapon/gun/energy/plasmacutter(src) - src.modules += new /obj/item/borg/combat/shield(src) - src.modules += new /obj/item/borg/combat/mobility(src) - src.modules += new /obj/item/weapon/wrench(src) //Is a combat android really going to be stopped by a chair? - src.emag = new /obj/item/weapon/gun/energy/lasercannon/cyborg(src) - return +/obj/item/weapon/robot_module/combat/New() + src.modules += new /obj/item/device/flash/cyborg(src) + src.modules += new /obj/item/borg/sight/thermal(src) + src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) + src.modules += new /obj/item/weapon/gun/energy/plasmacutter(src) + src.modules += new /obj/item/borg/combat/shield(src) + src.modules += new /obj/item/borg/combat/mobility(src) + src.modules += new /obj/item/weapon/wrench(src) //Is a combat android really going to be stopped by a chair? + src.emag = new /obj/item/weapon/gun/energy/lasercannon/cyborg(src) + + fix_modules() /obj/item/weapon/robot_module/alien/hunter name = "alien hunter module" - New() - src.modules += new /obj/item/weapon/melee/energy/alien/claws(src) - src.modules += new /obj/item/device/flash/cyborg/alien(src) - src.modules += new /obj/item/borg/sight/thermal/alien(src) - var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src) - S.reagents.add_reagent("ether",250) //nerfed to sleeptoxin to make it less instant drop. - src.modules += S - var/obj/item/weapon/reagent_containers/spray/alien/smoke/A = new /obj/item/weapon/reagent_containers/spray/alien/smoke(src) - S.reagents.add_reagent("water",50) //Water is used as a dummy reagent for the smoke bombs. More of an ammo counter. - src.modules += A - src.emag = new /obj/item/weapon/reagent_containers/spray/alien/acid(src) - src.emag.reagents.add_reagent("facid", 125) - src.emag.reagents.add_reagent("sacid", 125) +/obj/item/weapon/robot_module/alien/hunter/New() + src.modules += new /obj/item/weapon/melee/energy/alien/claws(src) + src.modules += new /obj/item/device/flash/cyborg/alien(src) + src.modules += new /obj/item/borg/sight/thermal/alien(src) + var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src) + S.reagents.add_reagent("ether",250) //nerfed to sleeptoxin to make it less instant drop. + src.modules += S + var/obj/item/weapon/reagent_containers/spray/alien/smoke/A = new /obj/item/weapon/reagent_containers/spray/alien/smoke(src) + S.reagents.add_reagent("water",50) //Water is used as a dummy reagent for the smoke bombs. More of an ammo counter. + src.modules += A + src.emag = new /obj/item/weapon/reagent_containers/spray/alien/acid(src) + src.emag.reagents.add_reagent("facid", 125) + src.emag.reagents.add_reagent("sacid", 125) + + fix_modules() /obj/item/weapon/robot_module/alien/hunter/add_languages(var/mob/living/silicon/robot/R) ..() @@ -398,27 +412,27 @@ /obj/item/stack/cable_coil/cyborg = 30 ) - New() - src.modules += new /obj/item/weapon/weldingtool(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/weapon/wrench(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) - src.modules += new /obj/item/device/lightreplacer(src) - src.modules += new /obj/item/weapon/gripper(src) - src.modules += new /obj/item/weapon/matter_decompiler(src) - src.modules += new /obj/item/weapon/reagent_containers/spray/cleaner/drone(src) - src.modules += new /obj/item/weapon/soap(src) +/obj/item/weapon/robot_module/drone/New() + src.modules += new /obj/item/weapon/weldingtool(src) + src.modules += new /obj/item/weapon/screwdriver(src) + src.modules += new /obj/item/weapon/wrench(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) + src.modules += new /obj/item/device/lightreplacer(src) + src.modules += new /obj/item/weapon/gripper(src) + src.modules += new /obj/item/weapon/matter_decompiler(src) + src.modules += new /obj/item/weapon/reagent_containers/spray/cleaner/drone(src) + src.modules += new /obj/item/weapon/soap(src) - src.emag = new /obj/item/weapon/pickaxe/drill/cyborg/diamond(src) + src.emag = new /obj/item/weapon/pickaxe/drill/cyborg/diamond(src) - for(var/T in stacktypes) - var/obj/item/stack/sheet/W = new T(src) - W.amount = stacktypes[T] - src.modules += W + for(var/T in stacktypes) + var/obj/item/stack/sheet/W = new T(src) + W.amount = stacktypes[T] + src.modules += W - return + fix_modules() /obj/item/weapon/robot_module/drone/respawn_consumable(var/mob/living/silicon/robot/R) var/obj/item/weapon/reagent_containers/spray/cleaner/C = locate() in src.modules From 748da30bb6c2b4b3d96a290638e2edff7d0fc43d Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 13 Aug 2015 14:39:29 -0700 Subject: [PATCH 04/62] -tg- underware overhaul This commit overhauls the underwear/undershirt system to -tg-'s text-based version. No more magic numbers, just text states. Note, this modifies the SQL Schema, and existing databases must be modified by the following SQL: ALTER TABLE server_db.characters CHANGE underwear underwear MEDIUMTEXT NOT NULL, CHANGE undershirt undershirt MEDIUMTEXT NOT NULL; --- SQL/paradise_schema.sql | 4 +- code/__HELPERS/global_lists.dm | 34 +- code/__HELPERS/mobs.dm | 16 +- code/__HELPERS/sanitize_values.dm | 2 +- code/_globalvars/lists/flavor_misc.dm | 13 +- code/game/dna/dna.dm | 4 +- code/game/gamemodes/nations/nations.dm | 3 +- code/game/gamemodes/vampire/vampire_powers.dm | 3 +- code/game/machinery/computer/hologram.dm | 2 +- code/game/objects/structures/dresser.dm | 31 +- code/modules/admin/verbs/honksquad.dm | 12 +- code/modules/admin/verbs/one_click_antag.dm | 41 +-- code/modules/admin/verbs/randomverbs.dm | 9 +- code/modules/admin/verbs/striketeam.dm | 12 +- .../admin/verbs/striketeam_syndicate.dm | 12 +- code/modules/client/preferences.dm | 65 ++-- code/modules/client/preferences_mysql.dm | 12 +- .../mob/living/carbon/human/human_defines.dm | 4 +- .../mob/living/carbon/human/update_icons.dm | 8 +- code/modules/mob/new_player/new_player.dm | 6 +- .../mob/new_player/preferences_setup.dm | 29 +- .../mob/new_player/sprite_accessories.dm | 344 +++++++++++++++++- icons/mob/human.dmi | Bin 77672 -> 46361 bytes icons/mob/underwear.dmi | Bin 0 -> 33606 bytes 24 files changed, 472 insertions(+), 194 deletions(-) create mode 100644 icons/mob/underwear.dmi diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index c05e74a467a..5bd9322806c 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -50,8 +50,8 @@ CREATE TABLE `characters` ( `eyes_red` smallint(4) NOT NULL, `eyes_green` smallint(4) NOT NULL, `eyes_blue` smallint(4) NOT NULL, - `underwear` smallint(4) NOT NULL, - `undershirt` smallint(4) NOT NULL, + `underwear` mediumtext NOT NULL, + `undershirt` mediumtext NOT NULL, `backbag` smallint(4) NOT NULL, `b_type` varchar(45) NOT NULL, `alternate_option` smallint(4) NOT NULL, diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 210e5ed891e..c69742b94c8 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -4,32 +4,16 @@ ////////////////////////// /proc/makeDatumRefLists() + //hair + init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_list, hair_styles_male_list, hair_styles_female_list) + //facial hair + init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, facial_hair_styles_list, facial_hair_styles_male_list, facial_hair_styles_female_list) + //underwear + init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f) + //undershirt + init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f) + var/list/paths - - //Hair - Initialise all /datum/sprite_accessory/hair into an list indexed by hair-style name - paths = subtypesof(/datum/sprite_accessory/hair) - for(var/path in paths) - var/datum/sprite_accessory/hair/H = new path() - hair_styles_list[H.name] = H - switch(H.gender) - if(MALE) hair_styles_male_list += H.name - if(FEMALE) hair_styles_female_list += H.name - else - hair_styles_male_list += H.name - hair_styles_female_list += H.name - - //Facial Hair - Initialise all /datum/sprite_accessory/facial_hair into an list indexed by facialhair-style name - paths = subtypesof(/datum/sprite_accessory/facial_hair) - for(var/path in paths) - var/datum/sprite_accessory/facial_hair/H = new path() - facial_hair_styles_list[H.name] = H - switch(H.gender) - if(MALE) facial_hair_styles_male_list += H.name - if(FEMALE) facial_hair_styles_female_list += H.name - else - facial_hair_styles_male_list += H.name - facial_hair_styles_female_list += H.name - //Surgery Steps - Initialize all /datum/surgery_step into a list paths = subtypesof(/datum/surgery_step) for(var/T in paths) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 4658e6691ea..cf23b83bc96 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -1,4 +1,16 @@ -proc/random_hair_style(gender, species = "Human") +/proc/random_underwear(var/gender) + switch(gender) + if(MALE) return pick(underwear_m) + if(FEMALE) return pick(underwear_f) + else return pick(underwear_list) + +/proc/random_undershirt(var/gender) + switch(gender) + if(MALE) return pick(undershirt_m) + if(FEMALE) return pick(undershirt_f) + else return pick(undershirt_list) + +proc/random_hair_style(var/gender, species = "Human") var/h_style = "Bald" var/list/valid_hairstyles = list() @@ -29,7 +41,7 @@ proc/random_hair_style(gender, species = "Human") if(SOUTHEAST) return NORTHWEST return 0 -proc/random_facial_hair_style(gender, species = "Human") +proc/random_facial_hair_style(var/gender, species = "Human") var/f_style = "Shaved" var/list/valid_facialhairstyles = list() diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index 4b521f9bfbb..1be69032cf1 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -14,7 +14,7 @@ /proc/sanitize_inlist(value, list/List, default) if(value in List) return value if(default) return default - if(List && List.len)return List[1] + if(List && List.len)return pick(List) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 8ec230cc13b..882331d21de 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -8,12 +8,13 @@ var/global/list/facial_hair_styles_male_list = list() var/global/list/facial_hair_styles_female_list = list() var/global/list/skin_styles_female_list = list() //unused //Underwear -var/global/list/underwear_m = list("White", "Grey", "Green", "Blue", "Black", "Mankini", "None") -var/global/list/underwear_f = list("Red", "White", "Yellow", "Blue", "Black", "Thong", "None") -var/global/list/underwear_list = underwear_m + underwear_f - //undershirt -var/global/list/undershirt_t = list("White Shirt", "White Tank top", "Black shirt", "Black Tank top", "Grey Shirt", "Grey tank top", "Lover Shirt", "Blue Ian Shirt", "UK Shirt","I Love NT Shirt", "Peace Shirt", "Band Shirt", "PogoMan Shirt", "Matroska Shirt", "White Short-sleeved shirt", "Purple Short-sleeved shirt", "Blue Short-sleeved shirt", "Green Short-sleeved shirt", "Black Short-Sleeved shirt", "Blue T-Shirt", "Red T-Shirt", "Yellow T-Shirt", "Green T-Shirt", "Blue Polo Shirt", "Red Polo Shirt", "White Polo Shirt", "Gray-Yellow Polo Shirt", "Green Sports Shirt", "Red Sports Shirt", "Blue Sports Shirt", "SS13 Shirt", "Fire Tank Top", "Question Shirt", "Skull Shirt", "Commie Shirt", "Nanotrasen Shirt", "Striped Shirt", "Blue Shirt", "Red Shirt", "Green Shirt", "Meat Shirt", "Tie-Dye Shirt", "Red Jersey", "Blue Jersey", "None") -var/global/list/undershirt_list = undershirt_t +var/global/list/underwear_list = list() //stores /datum/sprite_accessory/underwear indexed by name +var/global/list/underwear_m = list() //stores only underwear name +var/global/list/underwear_f = list() //stores only underwear name + //Undershirts +var/global/list/undershirt_list = list() //stores /datum/sprite_accessory/undershirt indexed by name +var/global/list/undershirt_m = list() //stores only undershirt name +var/global/list/undershirt_f = list() //stores only undershirt name //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") diff --git a/code/game/dna/dna.dm b/code/game/dna/dna.dm index 2835a1614ed..716d563a6e7 100644 --- a/code/game/dna/dna.dm +++ b/code/game/dna/dna.dm @@ -74,7 +74,7 @@ //Hair var/hair = 0 if(!character.h_style) - character.h_style = "Bald" + character.h_style = random_hair_style(character.gender) var/hrange = round(4095 / hair_styles_list.len) var/index = hair_styles_list.Find(character.h_style) @@ -84,7 +84,7 @@ //Facial Hair var/beard = 0 if(!character.f_style) - character.f_style = "Shaved" + character.f_style = random_facial_hair_style(character.gender) var/f_hrange = round(4095 / facial_hair_styles_list.len) index = facial_hair_styles_list.Find(character.f_style) diff --git a/code/game/gamemodes/nations/nations.dm b/code/game/gamemodes/nations/nations.dm index 52df698a96f..f0cc2f28cbe 100644 --- a/code/game/gamemodes/nations/nations.dm +++ b/code/game/gamemodes/nations/nations.dm @@ -293,8 +293,7 @@ datum/game_mode/nations else new_character.gender = pick(MALE,FEMALE) var/datum/preferences/A = new() - A.randomize_appearance_for(new_character) - new_character.real_name = real_name + A.copy_to(new_character) if(!new_character.real_name) if(new_character.gender == MALE) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index eff70300720..1b60f3fb006 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -198,7 +198,8 @@ if(M.current.vampire_power(50, 0)) M.current.visible_message("[M.current.name] transforms!") M.current.client.prefs.real_name = M.current.generate_name() //random_name(M.current.gender) - M.current.client.prefs.randomize_appearance_for(M.current) + M.current.client.prefs.random_character() + M.current.client.prefs.copy_to(M.current) M.current.regenerate_icons() M.current.remove_vampire_blood(50) M.current.verbs -= /client/vampire/proc/vampire_shapeshift diff --git a/code/game/machinery/computer/hologram.dm b/code/game/machinery/computer/hologram.dm index c21e3cf8b4f..bfd95d46457 100644 --- a/code/game/machinery/computer/hologram.dm +++ b/code/game/machinery/computer/hologram.dm @@ -36,7 +36,7 @@ I.Blend(rgb(- src.lumens, -src.lumens, -src.lumens), ICON_SUBTRACT) I.Blend(new /icon('icons/mob/human.dmi', "mouth_m_s"), ICON_OVERLAY) - I.Blend(new /icon('icons/mob/human.dmi', "underwear1_m_s"), ICON_OVERLAY) + I.Blend(new /icon('icons/mob/underwear.dmi', "Mens White"), ICON_OVERLAY) var/icon/U = new /icon('icons/mob/human_face.dmi', "hair_a_s") U.Blend(rgb(src.h_r, src.h_g, src.h_b), ICON_ADD) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 6a773177c59..10898e80a47 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -6,47 +6,26 @@ density = 1 anchored = 1 -/obj/structure/dresser/proc/convUnM(mund) - return underwear_m.Find(mund) - -/obj/structure/dresser/proc/convUnF(fund) - return underwear_f.Find(fund) - -/obj/structure/dresser/proc/convUs(us) - return undershirt_list.Find(us) - /obj/structure/dresser/attack_hand(mob/user as mob) if(!Adjacent(user))//no tele-grooming return if(ishuman(user)) var/mob/living/carbon/human/H = user - var/choice = input(user, "Underwear, or Undershirt?", "Changing") as null|anything in list("Underwear","Undershirt") + var/choice = input(user, "Underwear or Undershirt?", "Changing") as null|anything in list("Underwear","Undershirt") if(!Adjacent(user)) return switch(choice) if("Underwear") - if(H.gender == FEMALE) - var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_f - if(new_undies) - H << "\red You selected [new_undies]." - var/freturn = convUnF(new_undies) - H.underwear = freturn - - else - var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_m - if(new_undies) - H << "\red You selected [new_undies]." - var/mreturn = convUnM(new_undies) - H.underwear = mreturn + var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_list + if(new_undies) + H.underwear = new_undies if("Undershirt") var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list if(new_undershirt) - H << "\red You selected [new_undershirt]" - var/usreturn = convUs(new_undershirt) - H.undershirt = usreturn + H.undershirt = new_undershirt add_fingerprint(H) H.update_body() \ No newline at end of file diff --git a/code/modules/admin/verbs/honksquad.dm b/code/modules/admin/verbs/honksquad.dm index 9b383a93d17..e64cbf66574 100644 --- a/code/modules/admin/verbs/honksquad.dm +++ b/code/modules/admin/verbs/honksquad.dm @@ -79,13 +79,13 @@ var/global/sent_honksquad = 0 var/honksquad_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") var/honksquad_name = pick(clown_names) - new_honksquad.gender = pick(MALE, FEMALE) - var/datum/preferences/A = new()//Randomize appearance for the commando. - A.randomize_appearance_for(new_honksquad) - - new_honksquad.real_name = "[!honk_leader_selected ? honksquad_rank : honksquad_leader_rank] [honksquad_name]" - new_honksquad.age = !honk_leader_selected ? rand(23,35) : rand(35,45) + if(honk_leader_selected) + A.age = rand(35,45) + A.real_name = "[honksquad_leader_rank] [honksquad_name]" + else + A.real_name = "[honksquad_rank] [honksquad_name]" + A.copy_to(new_honksquad) new_honksquad.dna.ready_dna(new_honksquad)//Creates DNA. diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 6bb2f96ba06..93e5bb5c078 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -396,16 +396,8 @@ client/proc/one_click_antag() //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) + A.copy_to(new_character) new_character.dna.ready_dna(new_character) new_character.key = G_found.key @@ -418,14 +410,13 @@ client/proc/one_click_antag() 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) + if(syndicate_leader_selected) + A.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]" + A.age = rand(35,45) + else + A.real_name = "[syndicate_commando_rank] [syndicate_commando_name]" + A.copy_to(new_syndicate_commando) new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA. @@ -610,14 +601,7 @@ client/proc/one_click_antag() var/mob/living/carbon/human/newMember = new(L.loc) - newMember.gender = pick(MALE,FEMALE) - A.randomize_appearance_for(newMember) - if(newMember.gender == MALE) - newMember.real_name = "[pick(first_names_male)] [pick(last_names)]" - else - newMember.real_name = "[pick(first_names_female)] [pick(last_names)]" - newMember.name = newMember.real_name - newMember.age = rand(17,45) + A.copy_to(newMember) newMember.dna.ready_dna(newMember) @@ -639,14 +623,7 @@ client/proc/one_click_antag() var/mob/living/carbon/human/newMember = new(L.loc) - newMember.gender = pick(MALE,FEMALE) - A.randomize_appearance_for(newMember) - if(newMember.gender == MALE) - newMember.real_name = "[pick(first_names_male)] [pick(last_names)]" - else - newMember.real_name = "[pick(first_names_female)] [pick(last_names)]" - newMember.name = newMember.real_name - newMember.age = rand(17,45) + A.copy_to(newMember) newMember.dna.ready_dna(newMember) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index feb735baef2..d01ff7de39e 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -433,14 +433,11 @@ Traitors and the like can also be revived with the previous role mostly intact. else new_character.gender = pick(MALE,FEMALE) var/datum/preferences/A = new() - A.randomize_appearance_for(new_character) - new_character.real_name = G_found.real_name + A.real_name = G_found.real_name + A.copy_to(new_character) if(!new_character.real_name) - if(new_character.gender == MALE) - new_character.real_name = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) - else - new_character.real_name = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names)) + new_character.real_name = random_name(new_character.gender) new_character.name = new_character.real_name if(G_found.mind && !G_found.mind.active) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 347f461dca8..c4fda49439a 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -104,13 +104,13 @@ var/global/sent_strike_team = 0 var/commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") var/commando_name = pick(last_names) - new_commando.gender = pick(MALE, FEMALE) - var/datum/preferences/A = new()//Randomize appearance for the commando. - A.randomize_appearance_for(new_commando) - - new_commando.real_name = "[!leader_selected ? commando_rank : commando_leader_rank] [commando_name]" - new_commando.age = !leader_selected ? rand(23,35) : rand(35,45) + if(leader_selected) + A.age = rand(35,45) + A.real_name = "[commando_leader_rank] [commando_name]" + else + A.real_name = "[commando_rank] [commando_name]" + A.copy_to(new_commando) new_commando.dna.ready_dna(new_commando)//Creates DNA. diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index 3113e58c2be..42a635feafb 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -108,13 +108,13 @@ var/global/sent_syndicate_strike_team = 0 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.age = !syndicate_leader_selected ? rand(23,35) : rand(35,45) + if(syndicate_leader_selected) + A.age = rand(35,45) + A.real_name = "[syndicate_commando_leader_rank] [syndicate_commando_name]" + else + A.real_name = "[syndicate_commando_rank] [syndicate_commando_name]" + A.copy_to(new_syndicate_commando) new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA. diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6c985f2a002..744ddd8a04a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -30,7 +30,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts num2text(BE_REV) = 14, num2text(BE_VAMPIRE) = 14, num2text(BE_BLOB) = 14, - num2text(BE_REVENANT) = 14, + num2text(BE_REVENANT) = 14, num2text(BE_OPERATIVE) = 21, num2text(BE_CULTIST) = 21, num2text(BE_RAIDER) = 21, @@ -104,8 +104,8 @@ datum/preferences var/age = 30 //age of character var/spawnpoint = "Arrivals Shuttle" //where this character will spawn (0-2). var/b_type = "A+" //blood type (not-chooseable) - var/underwear = 1 //underwear type - var/undershirt = 1 //undershirt type + var/underwear = "Nude" //underwear type + var/undershirt = "Nude" //undershirt type var/backbag = 2 //backpack type var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color @@ -185,14 +185,17 @@ datum/preferences var/volume = 100 /datum/preferences/New(client/C) b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+") - if(istype(C)) - if(!IsGuestKey(C.key)) -// load_path(C.ckey) - if(load_preferences(C)) - if(load_character(C)) - return - gender = pick(MALE, FEMALE) + + var/loaded_preferences_successfully = load_preferences(C) + if(loaded_preferences_successfully) + if(load_character(C)) + return + //we couldn't load character data so just randomize the character appearance + name + random_character() //let's create a random character then - rather than a fat, bald and naked man. real_name = random_name(gender) + if(!loaded_preferences_successfully) + save_preferences(C) + save_character(C) //let's save this new random character so it doesn't keep generating new ones. /datum/preferences proc/ShowChoices(mob/user) @@ -316,11 +319,8 @@ datum/preferences dat += "\[...\]

" else dat += "

" - if(gender == MALE) - dat += "Underwear: [underwear_m[underwear]]
" - else - dat += "Underwear: [underwear_f[underwear]]
" - dat += "Undershirt: [undershirt_t[undershirt]]
" + dat += "Underwear:
[underwear]
" + dat += "Undershirt:
[undershirt]
" dat += "Backpack Type:
[backbaglist[backbag]]
" dat += "Nanotrasen Relation:
[nanotrasen_relation]
" dat += "Preview
" @@ -984,10 +984,10 @@ datum/preferences if("f_style") f_style = random_facial_hair_style(gender, species) if("underwear") - underwear = rand(1,underwear_m.len) + underwear = random_underwear(gender) ShowChoices(user) if("undershirt") - undershirt = rand(1,undershirt_t.len) + undershirt = random_undershirt(gender) ShowChoices(user) if("eyes") r_eyes = rand(0,255) @@ -1006,7 +1006,7 @@ datum/preferences /*if("skin_style") h_style = random_skin_style(gender)*/ if("all") - randomize_appearance_for() //no params needed + random_character() if("input") switch(href_list["preference"]) if("name") @@ -1176,16 +1176,17 @@ datum/preferences var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in underwear_options if(new_underwear) - underwear = underwear_options.Find(new_underwear) + underwear = new_underwear ShowChoices(user) if("undershirt") - var/list/undershirt_options - undershirt_options = undershirt_t - - var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_options - if (new_undershirt) - undershirt = undershirt_options.Find(new_undershirt) + var/new_undershirt + if(gender == MALE) + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_m + else + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in undershirt_f + if(new_undershirt) + undershirt = new_undershirt ShowChoices(user) if("eyes") @@ -1340,7 +1341,7 @@ datum/preferences gender = FEMALE else gender = MALE - + underwear = random_underwear(gender) if("hear_adminhelps") sound ^= SOUND_ADMINHELP @@ -1410,7 +1411,10 @@ datum/preferences close_load_dialog(user) if("changeslot") - load_character(user,text2num(href_list["num"])) + if(!load_character(user,text2num(href_list["num"]))) + random_character() + real_name = random_name(gender) + save_character(user) close_load_dialog(user) if("tab") @@ -1420,7 +1424,7 @@ datum/preferences ShowChoices(user) return 1 - proc/copy_to(mob/living/carbon/human/character, safety = 0) + proc/copy_to(mob/living/carbon/human/character) if(be_random_name) real_name = random_name(gender,species) @@ -1517,12 +1521,7 @@ datum/preferences W.buckled_mob = character W.add_fingerprint(character) - if(underwear > underwear_m.len || underwear < 1) - underwear = 0 //I'm sure this is 100% unnecessary, but I'm paranoid... sue me. //HAH NOW NO MORE MAGIC CLONING UNDIES character.underwear = underwear - - if(undershirt > undershirt_t.len || undershirt < 1) - undershirt = 0 character.undershirt = undershirt if(backbag > 4 || backbag < 1) diff --git a/code/modules/client/preferences_mysql.dm b/code/modules/client/preferences_mysql.dm index f098ff77989..c76ef2e3ee9 100644 --- a/code/modules/client/preferences_mysql.dm +++ b/code/modules/client/preferences_mysql.dm @@ -87,8 +87,8 @@ r_eyes = text2num(query.item[23]) g_eyes = text2num(query.item[24]) b_eyes = text2num(query.item[25]) - underwear = text2num(query.item[26]) - undershirt = text2num(query.item[27]) + underwear = query.item[26] + undershirt = query.item[27] backbag = text2num(query.item[28]) b_type = query.item[29] @@ -147,8 +147,8 @@ r_eyes = sanitize_integer(r_eyes, 0, 255, initial(r_eyes)) g_eyes = sanitize_integer(g_eyes, 0, 255, initial(g_eyes)) b_eyes = sanitize_integer(b_eyes, 0, 255, initial(b_eyes)) - underwear = sanitize_integer(underwear, 1, underwear_m.len, initial(underwear)) - undershirt = sanitize_integer(undershirt, 1, undershirt_t.len, initial(undershirt)) + underwear = sanitize_text(underwear, initial(underwear)) + undershirt = sanitize_text(undershirt, initial(undershirt)) backbag = sanitize_integer(backbag, 1, backbaglist.len, initial(backbag)) b_type = sanitize_text(b_type, initial(b_type)) @@ -204,7 +204,7 @@ message_admins("SQL ERROR during character slot saving. Error : \[[err]\]\n") return return 1 - +/* /datum/preferences/proc/random_character(client/C) var/DBQuery/query = dbcon.NewQuery("SELECT slot FROM characters WHERE ckey='[C.ckey]' ORDER BY slot") @@ -218,4 +218,4 @@ load_character(C) return 0 load_character(C,pick(saves)) - return 1 \ No newline at end of file + return 1*/ \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 39e0f052f2b..bc10d54b1c8 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -29,8 +29,8 @@ var/age = 30 //Player's age (pure fluff) var/b_type = "A+" //Player's bloodtype - var/underwear = 1 //Which underwear the player wants - var/undershirt = 0 //Which undershirt the player wants. + var/underwear = "Nude" //Which underwear the player wants + var/undershirt = "Nude" //Which undershirt the player wants. var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack. //Equipment slots diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f7db0be92ab..1ba23b125d2 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -318,10 +318,14 @@ var/global/list/damage_icon_parts = list() //Underwear if(underwear && species.flags & HAS_UNDERWEAR) - stand_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY) + var/datum/sprite_accessory/underwear/U = underwear_list[underwear] + if(U) + stand_icon.Blend(new /icon(U.icon, "uw_[U.icon_state]_s"), ICON_OVERLAY) if(undershirt && species.flags & HAS_UNDERWEAR) - stand_icon.Blend(new /icon('icons/mob/human.dmi', "undershirt[undershirt]_s"), ICON_OVERLAY) + var/datum/sprite_accessory/undershirt/U2 = undershirt_list[undershirt] + if(U2) + stand_icon.Blend(new /icon(U2.icon, "us_[U2.icon_state]_s"), ICON_OVERLAY) if(update_icons) update_icons() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 15456b3fa7c..dab6510418c 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -468,11 +468,9 @@ if(is_alien_whitelisted(src, client.prefs.language) || !config.usealienwhitelist || !(chosen_language.flags & WHITELISTED)) new_character.add_language(client.prefs.language) if(ticker.random_players || appearance_isbanned(new_character)) - new_character.gender = pick(MALE, FEMALE) + client.prefs.random_character() client.prefs.real_name = random_name(new_character.gender) - client.prefs.randomize_appearance_for(new_character) - else - client.prefs.copy_to(new_character) + client.prefs.copy_to(new_character) src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 363675b723c..b60ebe12c5d 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -1,11 +1,12 @@ datum/preferences //The mob should have a gender you want before running this proc. Will run fine without H - proc/randomize_appearance_for(var/mob/living/carbon/human/H) - if(H) - if(H.gender == MALE) - gender = MALE - else - gender = FEMALE + proc/random_character(gender_override) + if(gender_override) + gender = gender_override + else + gender = pick(MALE, FEMALE) + underwear = random_underwear(gender) + undershirt = random_undershirt(gender) if(species == "Human") s_tone = random_skin_tone() h_style = random_hair_style(gender, species) @@ -16,12 +17,8 @@ datum/preferences randomize_eyes_color() if(species == "Unathi" || species == "Tajaran" || species == "Skrell" || species == "Vulpkanin") randomize_skin_color() - underwear = rand(1,underwear_m.len) - undershirt = rand(1,undershirt_t.len) backbag = 2 age = rand(AGE_MIN,AGE_MAX) - if(H) - copy_to(H,1) proc/randomize_hair_color(var/target = "hair") @@ -256,12 +253,16 @@ datum/preferences var/icon/underwear_s = null - if(underwear > 0 && underwear < 7 && current_species.flags & HAS_UNDERWEAR) - underwear_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = "underwear[underwear]_[g]_s") + if(underwear && current_species.flags & HAS_UNDERWEAR) + var/datum/sprite_accessory/underwear/U = underwear_list[underwear] + if(U) + underwear_s = new/icon(U.icon, "[U.icon_state]_s", ICON_OVERLAY) var/icon/undershirt_s = null - if(undershirt > 0 && undershirt < 45 && current_species.flags & HAS_UNDERWEAR) - undershirt_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = "undershirt[undershirt]_s") + if(undershirt && current_species.flags & HAS_UNDERWEAR) + var/datum/sprite_accessory/undershirt/U2 = undershirt_list[undershirt] + if(U2) + undershirt_s = new/icon(U2.icon, "[U2.icon_state]_s", ICON_OVERLAY) var/icon/clothes_s = null var/uniform_dmi='icons/mob/uniform.dmi' diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 24959d7e151..45fe53c3d82 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -17,16 +17,29 @@ conversion in savefile.dm */ +/proc/init_sprite_accessory_subtypes(var/prototype, var/list/L, var/list/male, var/list/female) + if(!istype(L)) L = list() + if(!istype(male)) male = list() + if(!istype(female)) female = list() + + for(var/path in subtypesof(prototype)) + var/datum/sprite_accessory/D = new path() + + L[D.name] = D + + switch(D.gender) + if(MALE) male += D.name + if(FEMALE) female += D.name + else + male += D.name + female += D.name + return L + /datum/sprite_accessory - - var/icon // the icon file the accessory is located in - var/icon_state // the icon_state of the accessory - var/preview_state // a custom preview state for whatever reason - - var/name // the preview name of the accessory - - // Determines if the accessory will be skipped or included in random hair generations - var/gender = NEUTER + var/icon //the icon file the accessory is located in + var/icon_state //the icon_state of the accessory + var/name //the preview name of the accessory + var/gender = NEUTER //Determines if the accessory will be skipped or included in random hair generations // Restrict some styles to specific species var/list/species_allowed = list("Human") @@ -935,3 +948,316 @@ icon_state = "default" icon = 'icons/mob/human_races/r_skrell.dmi' species_allowed = list("Skrell") + +/////////////////////////// +// Underwear Definitions // +/////////////////////////// +/datum/sprite_accessory/underwear + icon = 'icons/mob/underwear.dmi' + + species_allowed = list("Human","Unathi","Vox","Diona","Kidan","Grey","Plasmaman","Skellington") + + nude + name = "Nude" + icon_state = null + gender = NEUTER + + male_white + name = "Mens White" + icon_state = "male_white" + gender = MALE + + male_grey + name = "Mens Grey" + icon_state = "male_grey" + gender = MALE + + male_green + name = "Mens Green" + icon_state = "male_green" + gender = MALE + + male_blue + name = "Mens Blue" + icon_state = "male_blue" + gender = MALE + + male_black + name = "Mens Black" + icon_state = "male_black" + gender = MALE + + male_mankini + name = "Mankini" + icon_state = "male_mankini" + gender = MALE + + female_red + name = "Ladies Red" + icon_state = "female_red" + gender = FEMALE + + female_white + name = "Ladies White" + icon_state = "female_white" + gender = FEMALE + + female_yellow + name = "Ladies Yellow" + icon_state = "female_yellow" + gender = FEMALE + + female_blue + name = "Ladies Blue" + icon_state = "female_blue" + gender = FEMALE + + female_black + name = "Ladies Black" + icon_state = "female_black" + gender = FEMALE + + female_kinky + name = "Ladies Kinky" + icon_state = "female_kinky" + gender = FEMALE + +//////////////////////////// +// Undershirt Definitions // +//////////////////////////// +/datum/sprite_accessory/undershirt + icon = 'icons/mob/underwear.dmi' + + species_allowed = list("Human","Unathi","Vox","Diona","Kidan","Grey","Plasmaman","Skellington") + +/datum/sprite_accessory/undershirt/nude + name = "Nude" + icon_state = null + gender = NEUTER + +//plain color shirts +/datum/sprite_accessory/undershirt/shirt_white + name = "White Shirt" + icon_state = "shirt_white" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_black + name = "Black Shirt" + icon_state = "shirt_black" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_grey + name = "Grey Shirt" + icon_state = "shirt_grey" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_red + name = "Red Shirt" + icon_state = "shirt_red" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_blue + name = "Blue Shirt" + icon_state = "shirt_blue" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_yellow + name = "Yellow Shirt" + icon_state = "shirt_yellow" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_green + name = "Green Shirt" + icon_state = "shirt_green" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_darkblue + name = "Dark Blue Shirt" + icon_state = "shirt_darkblue" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_darkred + name = "Dark Red Shirt" + icon_state = "shirt_darkred" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_darkgreen + name = "Dark Green Shirt" + icon_state = "shirt_darkgreen" + gender = NEUTER +//end plain color shirts + +/datum/sprite_accessory/undershirt/shirt_heart + name = "Heart Shirt" + icon_state = "shirt_heart" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_corgi + name = "Corgi Shirt" + icon_state = "shirt_corgi" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_jack + name = "Union Jack Shirt" + icon_state = "shirt_jack" + gender = NEUTER + +/datum/sprite_accessory/undershirt/love_nt + name = "I Love NT Shirt" + icon_state = "shirt_lovent" + gender = NEUTER + +/datum/sprite_accessory/undershirt/peace + name = "Peace Shirt" + icon_state = "shirt_peace" + gender = NEUTER + +/datum/sprite_accessory/undershirt/mondmondjaja + name = "Band Shirt" + icon_state = "shirt_band" + gender = NEUTER + +/datum/sprite_accessory/undershirt/pacman + name = "Pogoman Shirt" + icon_state = "shirt_pogoman" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_ss13 + name = "SS13 Shirt" + icon_state = "shirt_ss13" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_question + name = "Question Mark Shirt" + icon_state = "shirt_question" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_skull + name = "Skull Shirt" + icon_state = "shirt_skull" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_commie + name = "Communist Shirt" + icon_state = "shirt_commie" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_nano + name = "Nanotrasen Shirt" + icon_state = "shirt_nano" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_meat + name = "Meat Shirt" + icon_state = "shirt_meat" + gender = NEUTER + +/datum/sprite_accessory/undershirt/shirt_tiedie + name = "Tiedie Shirt" + icon_state = "shirt_tiedie" + gender = NEUTER + +/datum/sprite_accessory/undershirt/blue_striped + name = "Striped Blue Shirt" + icon_state = "shirt_bluestripe" + gender = NEUTER + +/datum/sprite_accessory/undershirt/brightblue_striped + name = "Striped Bright Blue Shirt" + icon_state = "shirt_brightbluestripe" + gender = NEUTER + + +//short sleeved +/datum/sprite_accessory/undershirt/short_white + name = "White Short-sleeved Shirt" + icon_state = "short_white" + gender = NEUTER + +/datum/sprite_accessory/undershirt/short_purple + name = "Purple Short-sleeved Shirt" + icon_state = "short_purple" + gender = NEUTER + +/datum/sprite_accessory/undershirt/short_blue + name = "Blue Short-sleeved Shirt" + icon_state = "short_blue" + gender = NEUTER + +/datum/sprite_accessory/undershirt/short_green + name = "Green Short-sleeved Shirt" + icon_state = "short_green" + gender = NEUTER + +/datum/sprite_accessory/undershirt/short_black + name = "Black Short-sleeved Shirt" + icon_state = "short_black" + gender = NEUTER +//end short sleeved + +//polo shirts +/datum/sprite_accessory/undershirt/polo_blue + name = "Blue Polo Shirt" + icon_state = "polo_blue" + gender = NEUTER + +/datum/sprite_accessory/undershirt/polo_red + name = "Red Polo Shirt" + icon_state = "polo_red" + gender = NEUTER + +/datum/sprite_accessory/undershirt/polo_greyelllow + name = "Grey-Yellow Polo Shirt" + icon_state = "polo_greyellow" + gender = NEUTER +//end polo shirts + +//sport shirts +/datum/sprite_accessory/undershirt/sport_green + name = "Green Sports Shirt" + icon_state = "sport_green" + gender = NEUTER + +/datum/sprite_accessory/undershirt/sport_red + name = "Red Sports Shirt" + icon_state = "sport_red" + gender = NEUTER + +/datum/sprite_accessory/undershirt/sport_blue + name = "Blue Sports Shirt" + icon_state = "sport_blue" + gender = NEUTER +//end sport shirts + +/datum/sprite_accessory/undershirt/jersey_red + name = "Red Jersey" + icon_state = "jersey_red" + gender = NEUTER + +/datum/sprite_accessory/undershirt/jersey_blue + name = "Blue Jersey" + icon_state = "jersey_blue" + gender = NEUTER + + +//tanktops +/datum/sprite_accessory/undershirt/tank_white + name = "White Tank-Top" + icon_state = "tank_white" + gender = NEUTER + +/datum/sprite_accessory/undershirt/tank_black + name = "Black Tank-Top" + icon_state = "tank_black" + gender = NEUTER + +/datum/sprite_accessory/undershirt/tank_grey + name = "Grey Tank-Top" + icon_state = "tank_grey" + gender = NEUTER + +/datum/sprite_accessory/undershirt/tank_fire + name = "Fire Tank-Top" + icon_state = "tank_fire" + gender = NEUTER +//end tanktops \ No newline at end of file diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index a7bbaf50f7cfe689f275282b12115e4fb2ee3f2f..e7aefc86107bf43010e34d725a4be3091365f80a 100644 GIT binary patch literal 46361 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 HG~|B(Vud** literal 77672 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ℜK9~v`&wW5hTyCPBW3i8$V`K8N~De7|j}kQ4lCX0FQ8c z89iz`x+a`$Z=Y8M?45JQ@&aQ}_@8XxNqWW}eo1?TH^I!aB(^p;Uoo3D2U@e7Jbz?i zVG(8akN@#aiu#QheyAmVe{Zjd6&)rv{Be78lb(g;SE*1@@!I4{Y-icio6RHxu3j+k z6YVB1iT>+VEKhIfw;|Tc66_`ZoL=8#{cmpe@X$-j(2Bq-4|z5QfPSF9gd79N3MgTt zmJ#MZB|e9jn<-MbfLKMybz*s5QknjPDlO9FM1AzSVLqAk!k2bIGC z(SDkMJ>dU)PWvo}+V3)V)A%vsO4_7KOLhscVV&{%kmqgC-M8v^84%6l7_odFZDMvX zkQc-C!qHt0&RNBi8Rk8GBXhb)NP-_CxbpQ&JN1K1mb}S85G_i+72?fSf6DBogc_kN z_)8}O!}SYY^6ZTb%de?YuE)sVzkk7Ldd<<3<;34x|P?$6N{G_69466y@2vv<6tTGbg9QpT&+7uGV4Q(_f}3>;P2hUC-ltCnjg}*n!=7>-OFU4Fsq*BDuwr;g#~R z-;oO89Qo6OypPPrBaCVz_Rs2e5bfbqHqW|A+YCw}_AJ8Z6Qgcnw(`*>$@{sJJ^-;J4$Hu$xX~PB2h^{C1&yc61Sq+^KuJ^6SoiObU;<#= zY8mUQR&oP3L9evi&^@NRfL!V!bEO7^=Vy&jN;<-9HqZXVDso}bPdlMkwM)RE?8c|cW1j05S^WDe_NtDW1Ye%EJx3?$CWY+u=AzS|Ad}jgoM%`c%E2ehd*4%fC@R%540VMKIFyJ-wb9{Ebl8;OI z)jPP|P8_pMAKTCCR>ay(<8GIP%9}$GHuFql*}h#R&anS;pN(&8o(1Z&ay}}<9Yy2` z3@kQ)8B;&Rr+6;fJ|8-sF&W=O(l~-%dHvH3^Lf$bO9716pZqBuvH`_+D=CoOtg)BC znSYYo`;fC<_7@0)#a$=76>3(_?>c|wvn0#YM&vRI^4=yW69hb%yVK}rmjF^=)KZ=; zh5USKw_}sPy&c~<&>ENCR09Oy!VxFWiLpn4!m|J2{hOD6a)2-*j|38{}hThl9!KS*D3nSN=jBu+N?o@7V>yBH0thZR4}ChSCL@c zPe(|e%mLn*F!=1RV?&735^I3{RU6WS!WcJZTDa59yt_x3p! zUtWE8+?NEj%y`A%PpA1^0{NdF;6T3Iqj~!SQkbhw7m$^uIfm%_=j6jTnl+yG<(#9} zJ&z@Rdt7!led0b{xAVvNGPzoy`$xWCT_t<#o3fRNgtq`jMqcLc1Z6ArhkEHFzah{| zmfszO_HehZ)%l$VI2cOKIa%5efaRK&mKLpE>~8LuaPZIJ|=NZ zCD-^Kd6mfO84&UrwYW0N<(Xw?$5xb-oY?JBcfY#rrM_VqB?O#TY-foS$V_6(ZT?Ux zGap7p)&C^uK)Y@!UmXAxi~a>wApCWy=;lyKeDOoKyk3gA{ciDnt)qYb{^=q_XRu^>hCS;$KXu-NZ*WLj z+C$WYy4q26%5F#Q?x(EE^4hG}V^2P_Qal47Kg5Sq145{J@Kyv^s=*9FQ&$J z2WKq_XZK zqI?PBRW|`fp@a#cHpNcd&?Kpr|E&N?!3b&^j$UZ68-7WXz{M3J>ujv1{HJTb=b=De ze0HIrjP%&n{_FB55I^0z#I$?4E-b!XEGF@?&CuLN#_dNLm z2vh)iym{C{;S$Q=nH~uV|A!ABqP0scXCJoV>SOxAiM)pgli6Roz!CI*AzQD`ZyP4~ z)I$5ZFcBLQ(;_(}1Z$AsTHpaGNYm$%psC$#zs#Y4MCwPS0(Oaw(}lX3BC5J* ziZq)UIBPP&Ad4RWa0_^an`GCVNf!i>4A!clEiJ?V-oVQZKlviCcj>%rmJe2-Ka8t8 zz-LoZVVEF6B%lYDv}m}^+??Lj3=L)kF5wBXVN^rTLzN)Gz^%OI8z)X_8TgE0jCS#i zGCz^X=d*TkMXm!ho|bo=+a1Y1UkZvW^vdcx$9e7_6@-)&tM+XKD%`_dza3~iwNfV$a3+6j}_VIuwBZaJLfx$q>B!UG5+t0z|td%UY zcA8G&=#Haj?x!=HqB=|3Lhaq}D_v|-E4$uI_$mOxlcxy(IVhI;XK`VcA?ba94J!i* zN*JAU3eBV**kWPG39prhZHokDL)&&p$6ZKCK!5FBO;lB}j8TWP166a+ zVz5?jK7T!tUDip9{k%qZVy%m{Ge@J*T@2aY!Mqdu@t&N;6Mu~6|FHJeaZz>MzeBfl zcL@rDG$Jra3DO3jbR&&|AT=~dBP!iUNh2W$Ln9I+(k&p}9mCAr&GWqP{oQ}>{aijU z%$&3LKKtxhXRYsExf|v&$iqW5_=I)(d9j^60#s9aK_ zGquN>2A4@P1%BMCBbdu$j2=%n0-Dth{vJGAM9ey(t2Jm(bi-Aa?5X=12f^w>CiAl! z`nvDd)$0u2?&NZx*-zJdn@0%r7a`C8QB536Q#rVlMu_vrXw;NcR@#B*m*|52vyQ6g7dfhr3Ko*z1s zG2fs0KomY)P)TT`PfU>hoz*wJOW_xwd&WDCEsPBF`VaS4Z0d%<=P>QQSIB+!D0e$W z8Dw11uc;GH8P>59^UsfofHbn8=R&tM?^2C2pC5b0x8^|u-z2^58noLjT#k1`%%#P_ zS84o!74No=8Se8L1HGL9ikrR3C88;SljKf)IXI_rGH+x7{8snvC07IThPf030E@QY z_p|NnD;^jFThyod3)x!CFRUWXZLr_S1-wO>JobTk<7~cPw@Np^(CyXB?9rCLA!Rr_ z+xI7;9XAkCo${zkGYnw2ct=0X4x9W^(#j!$=>&YQ7NX;u!^CnuDTx?a>K3u1#1N6$V3Po=rk-74bJ#zR21>kr%ye$UWkZ@$f31$5>rwLU!l6Xl#3AHG-Ddl-Okol^lw%q(LJwS7Ld|7 z+^RS3?d%nB&yQ>^z<`a7l^gDmx|+hn*L}VSUQSl`@2&V1siA*ma*}XK+vMdm3Vkos zIlgNCv+Vl7)0npdGPJ6pwjawOqImUKIV-ribyQ+}@$b7Q*9?hi9iipxb;7E1fIM#K zOuB@f%`Xe8OGa76&bprlHMjdAxgiR4_Lw3jQ=^!CEy0cu2EZFA*uA1h>LPE&0#5!5 zCpPZKTE-gN!?DUDprV+`ulKZF`nuLnAtB8MfMM`h8}4>L*11jYc`p{ymkC)zjWZAJ zarpzCgi(6K_)gg!55=D~aF7vinJcQ_m+M=WiA?&TVX$H*dynww0wm_vefo5Ck!8Za z`XvK7#C!MK8bb{)@GJUFM^%AL0DSpX;v=2Chr1(iR)0NM!_D7%^vBzZ94>NynpSK1 zknLX06fFW@lfQ!7CI0kQv#nA^eLUy=dUAp@0LFnMOomLWwPO5A9TqMwE1LmtB=6`@ z7lTxmGPh;d~=AJWHytn`USWW+_Cn6~`BNC@p^9c&W=k z&q`ND8TZB>k$lfN>=F0U){Wh$_tf5gmwWhKuMu*+3BIdmVMPS!ia$ety1Tl(N6$U+ zfxgrTCciX(hGvqJ%&~4;Vdg-)=PnLn|Ctw(-zD2Wx!!!k13uKBD>2f&!_rF5C5=`N z>zYqqrb5&ItWpy?h}0}k&XfxQtV$Qvum1tO)u25kOmY6vLXkOxV`In@$0`^9A3crR zqt}Fx1h}(fG|uUeQc}iVbA# zCBEip9r#2~LO+qeZN&aqBy34Qj4NRdU{%S(UKrwBZiAgtp0GxNNbTT!Xnzb^RP8nE zPXZPak%_$ilze-WlHH4hi|J>z#nzjmtzUPuDj0mOq)#5STgW^&aws*&Te~0ft%R-4 zKv++>Wt36qh0-q{?P!Bf(?yVr@C-Uqd?kXU2YFEIX4N#XRZ_9E{;!QXr*%D3okkh}P_vU>wVwu^9##$P@kTO}}cO;&vftmI^#X;96D;`}Q?=@fgGR?&W zzG*0KEos8R zEHk}E5$ZHKxMJ;^!7Qdom?3wt=>GK#X;Cjt8lRzt zJZ~08YzJi}CO$w(C1hm{RlKN+;vJU%%`QG+hCKFCH5*A^z^;{K2w1oaI#m>Z7ol8*4_)-g#lA4#S56LVsgg7 z4Y>doqXsWQY_ds5-Mmi~bVDcdnfY-ivb%sfmyg$n1qTZ<0DQG~+%X1KT8)IST!Y|S zi4^V(HO*vGHxl6U@vsd1A9Wue@!r0DJEPI~+e_C7wP_{Nc*WencJmw`OvP*gISn!1 zS(+qJ>ogQqZp3r1|MYvm=Hd+RBY3jD;`I3cFv5XSZC`5t`2UYl?tHJ))25w%^(LFU z+^38;P8rRwU$(Kr6Pz0^Q-hVWb>>2%Sdt`=Ngc0*T?LHZC}En|M1ggY#qh@N5OtM6#i3 z7eugX1%rmR*DkDG?H~jh0_&=OyxlPiJ}PQG7Z>;xIXvzZOh(!o;F_P~toB?wg7#ha zJ~;_ERFASM&$;@?+;XLyzP;_#j>M=govAXr@C3M?!CcRM#qstW0u+^FGl&kESw~-5 z|9IlYdUb)%p*%`>b6Pct4brAOlOcVvlQT!KJFwQqoSR$Gsm^&xt->#(a(JV_KVoJHZwmRzl(2y6kh`wkW+0+-zod7nPlNtXODyxj zk1wzX7zk;6p4!00~=wGvmBT1KSzAiXvVJnPmR&)<^&n(>2Ei1o3TexE5CTFK`d5H}2phH!9ky34 z45;K-NhZXA#n}gy%H7V`DJeNqh&+ohH5f}&Wq%;mvb&=Z&RG_eRg*flp2CoMJF#J* zE4NBg+_LxZS3bE=k*ho*n=zZro9mC`;i|jyRV7ALn7R+D)j4NAF>6sMOQ;Xr7Dq^DoRn}@MH^x9Q6gsT;xc6dMRQE&CQSJd=axb11GNIe)XSD& zckJDh?2?6OUv%`zUNshP$Q=>(zt8z`Xt*5ylG0}%y)^GUdAhVm^uqYKstl zBFKJOzb|Lb#Mbcm`06nQm1;gE$dUlb*vmfk@VHi@Ff;eR+%L;VI669Jk}_&FZth*0 z5_&(zu<>#3Al(NN`x8$IC&7cYZ>H1Ktek*LL3Og}*5NaNnW*xAs^qS1^!Q-^*A|%- zZ>|Tm-VYQtPJNu6GP{2^Fm@0X0!FDeHfg?#Dt9I`7N^O{CR|Ai#FZ|b?{j@%jspI1 z7G>`Z@Qfps3t}W(tM!yD_ah2K_@Ukm!&a(G#(G4Xr4{BU(fuV6xyh|48D{q_it~P2 z^L9lp>P{c^_|4b!iQlXlJ<(x%-+N9CR2A3?+G5~WM0W-UCr=S)79Xe0C0-o#P)C>4 zTP)tMtj39$#Z4Vtc(>qG-_}z#3Sv8f4_;q|!p$Ti+girQB{ZU`q%xV>3Dz`JcqF8x zf8!*iq(BN-?YjZrjBn%*M@}00cFmaI1wH{erKQAMR#3#uWgx6e1_cS%8_HP6{Y)C4 zAJ2+CBn!9Lf3{m>u51~ImFD13l1`puf~hW52QnoG4K~9-1014xQ_0P(DrYrhe`0K` z-C7h2qIomPd^KtRXab78(@gnXkZ$veF1owV51V4Z4;v0e`O;vm6iW4CG4w`bv$gxx zuu|_30%Oqxe*t7z*!AdIz*^)vPrAd_4JXjB_2%$=r_X8$g#7RPn&d~~0(SweQL5WV zA_kAVk$ouv3o*D$@T9P2}eh$+adnja=v3NB)M- zz(n6aIQt_IqDU-WYBLj6JfhDyL7UP3LrJnltADmjz~hFYniteOX=5Jkzf=Q8SwfTmMi# z%r|V`)~TSD`(BG*?ijVz=<{f$20yQ~{j)c>DUv*rn|3m>g=nwLmmSf1AmtEy-T8DJnbbaQsExT~VtwN>6*Ser%OdVA$%j)Pd3NgVBvAlEIFEy=5;b`&g3{t$Iv+4ML`$*M@ zuz^&We~0LYYoOo*&ef##<&76P(F>RNnc2LkTW?87j{esdK+Y5Qg|mc{K3!6gcK7i; zoic+d+Y^uN?aDn_RGQtEqC9F^V4J&AHiEXY0_4@Dot&OFudPmzUnA1Y zlA)CpASthBTF8Ci7ik&SbN=G9tA2HA!kKlo zMl37id*h}~X4H=#YLiZaTpu2VlI{Zi<>}4c3{0aAENVX-ZN1M&$p?5G@c&8b!wpkx zXBA_L1y)%B*tcPJ0%4}>R1{RK(bTb)xVX5GK#rT@w{H`x<|jrg{InKr-*N-5kkbtq zV3Ebe{H1q-G{t_lnUMLqejf=Z>Ysw-5#z z9UK|lH+QT%N*}cS`uv6aemeG5&1?GIY$Wb`dPH|Ne+or)7dhNmj=V}T(B@!%2}7{5 zZn*waxZUX`tq^g~w61>v3(AE(s4Q7OZ}2yM?PpqO1{7<&Q;Xx$aXcWV$^z$Ltas|% zQi%>bgtp4?j#|^2sb5O~P7m~wBABbQdav^iVGQY6BihIS^~LCNBJ&#;sETSk7(Dem zDgs@@0P+#!o^l%=EM& zkr!#>m`epf_T4tcKdc)HajEx*4rR%uYbaoE_dy}WY49NhX?5nvo1pG*p)EQf{?f~p zIDkcRKX&}NIr{lSMkcf)aN`*_sU2l5>-8&A`%8&6$e-<)`+7kas}eJDfJ~dXu`3;m zUOS-fv;pus4yn}J+9K;wmc&?40EIbkTyrbe0_Cr)iKk6De_Qw_+G_+!D7h7P7v{Sf zZ#~)1c@ZlaP3v2~W@XlXGG=Q#p#JM0%WgEVR%g=$=9d$Q9TIrBR6Ic z%jUY^PmbS)Q)_3{{XY4?d|L2t`9h??vuBOEudvSw<-+@hJKfg?A}pL8mD1}5moJTG zrkg%PaR>`BlhFAHfa!A0O(eDTGw>W8J27ahTXdKUmG~s#=S?597HaU(j~Pp2v?iO} zaUR=!wixxNF4@!}RaH?58)M|`W1ly`xWw$86x7w)#XTgSO zFJ}kb3ypYEv{-g4LCiX9X^#{j4Bgv1o(3;f(6d3Vgjh%)%~uHVKc!HSw=c@+0IvJx zPzTx8z(O;h?EMaWlj8CwB|+L;DT5m)9W&h*NhEvccH{hWcBWBiFuPaot}`or-MrWpNsp z95pcQhS$og4A;BvV`|S<5A?>)&=|)W&6~{DyqsM;fswekYxvERnT7ei1&$r|=%r>K ze<~f*FYnGioqy$c^6B(;9lvL{!$9*<+BG;C%!}b5AL-X9#k4wTs*@>k+dGtUM;5D zRj*asf^XKJ(f zy=K=I&+5|HgNOMGU#Y4gz3N`LyRX2>zM$Zzdka0jI^X#}qlC{7AG5e;^xR9nqvYjJ zeT9a!O8W~1-@2@faQOMCH*fZ(ns}<)YKT%w!zwY$)@IwRu&H1f>iOxr^0$4OeAzFt zxmH7@@+H&BfLo)T^N-sC0w2GBmwg6pwx&ZreiAJ#WJ2XROP?&%Zsy>SXd7i)Wk$A5c5(w@kKlIQnn7WFPg)h^0!^* z7l%h)C7RtIgCg_BryTiKEIiUkxHZ-KZ~+DjNw~DT49WDB?u|63%-S*vd+<}a;GrGd z)zT*q9?6qJ<#sVBwbTjSZ9g4^-VLM0!!n~_^AetQk@E2|-v5S5X}A>q;J?BZ+R6F- z{D)OxyjM#ceCHB}CL@#c2}RGs8x$7%o)4?A{9(#1mK(X-0`wO1oBe-YBZo(pgJ*Wa zd*`A9g(Iu-%#o|?DcbDvQT?v1ltefEle^W`)Y^VByDINsTH_Qr0vBYzu?7^;V`a0; zH!!!G>l(Cp<6>js%Cenj$enj4>2NcU<}H?=Rjro_ct~)Rp%&)Q*!8aHppDEO;Xeb3 z`d0_lMF+qyXi2ydeIwfSJ25Q4hu*>L>Q0kRHsx>hqAp>>$2*MrNZ~UrNvx=^r#*+C0?-9i4a9_q>~s=FI7X59?7?eml9^R29g#gmKu8P@=I*xbeYU#Dx$1{dm* zPTSmK8CUNW28yfTP$U1s&SSX8flBd(FYBvELrNf(%Jsj&g{}S1(Zat?plnwsHRqEt z-i*N2mCVrFlsSoQe~0{d;?CBkE%FYX##3hhtZB2Wj+a~_qDUJBQvYRh*=vK7wIou5M z;1T_IY&_SUD_$WJq-$vaKSNI*%p?qszC3GsBUgKBcXF7W1Ws0msqfMj_$Fql@9&x69aXdJV56ElA@xOwz zOZZ=I8cBaW6P|=`kvFa!uoJt&AP%P>{k)sqb6vEQE0rOgrWXo1o{GL&g1V~fLBreVtS?c2A~YRlAz@;6%+x3Vo7X7Z=A z@3eQFUq4l(_A$FpC9%}+Q>vefstY#PQzAHfjI9>qEk_?u(37yI&+nhGi)7$@vam#k zjzXnM?DYcBuiM&A?T~e1t0z3So0+V(cUm5z)hXxDI75hdmGQUtirx5QRwm3M`uAo+ zwJ;ZfRHXQeXUO5LSGh$+1P|j`L!cCa6U$*U%MYYkdIrg7zZkzk;9F~@#ps?3lBr3D zmZ>MXPsuU69pRkaUUXyVou7-34`?PpD?s+PuO#G4FRA4NP^{;u0NjuVPL~LR57!q0 z7cBBkZp`DaVs{Md-RUuKffMaKWO85Jq%B5|IU4$%(1P;xU7icgPYjU@r$68VU}&?; z%V)(tmV9*np1d+?AVEb>B`3>`PRBj@Et$39dU*ee;$4Qe-b#2#3j)JLUuGIdQehmF zk3@%?^Alzxq%3A&E2}dJA3lV(Jx|+hC)BJ_(CcUn*ur@{4b`_5mXl)z2{XVCaEyME z{CC(k-O^^mW7xH#o8^h`hk$oT>EG#&o)Z)AL3m0;XKv4j zZkL8mhq}^!;e%>vmKz|y-+Cc^CF=F-*ZG^-Qr$5K4J0`fr&NSC`tT^*3L3)7$C`Ml zYHB37V>o3%DRMgK6hHkj8^c1!`36by^Tv&SpZF~LXrenjjT7hxKe2d^HBR!sUaM-|d=h>ZD-Pcf+IC8Rj0 z4u8NluD+1u;p0`(>qu!?()iKzN7h@;^sliu+iF>9VCCMhn}(EWbV6?gxRR`CytV`- zCry-QMYZP{$M#ugh6IsI19Ol9h$Fn2GT5g!NPDJSI?y2-+G*iEYkH27_qd;_);FYV zsTOp9J!C4QY)jC-6@_Ytl)?@NJ_zfZhTQvd+YP;9rmEv5<&&X3V0yqS*lcqr4YQ{6 zHRng(T2IVt-{oB=|c0TL1 zjKeQpCw~0+xj8@ zYHG(gS&eR=p_lV9+LBEbZTttb2NKKUFioWbFBHslI(sZk&E$=Xx(S*so*5aL$t9b{I?Z0|SA?Ry_fa0Fzt zw<|z6E9uMi1z7GlpZ8ZRaI@$q+m~qdY7_^ZaV)K?YeF{H@t~=G` z&CErYyv4hl{$$8!mX~}19n^X$H#HfFs?=}aI>_1e^8Iskp?ijG*zaRs2m=WlCx*lN zrRHTtW}s7~GaDmd*dH!1$YiU3^E-q~b>B@!Mn(txsGVzJZ-qSFX-a{X2Y7ikIQUJ* zkNa(uRDLclCcF{B{iwF2L_HJt@6ml~*cSJ~dNLZqh6uS?F(**WVj33GqwT zjG5O0J?fsoi`sHF0u+0H$>z~q6_c~vNq9`ii2m~My}0&G822S#XRY*c1jB!<%L~z;ro=7NCON~ePjY&tFGRc7E^Xn`^Tj=@5>_3Z-hYm-`9m)-&#nbMnbZ$ zrR{wTio1L3XsLt%<}vQ>ceJ=C@QH>b;B;;;eRujYJL;Ag?fA%!+CX|tPB}?Q*th+9 zFD_0I%GL^(t5Z9j^oomJ)<^s_9gZ_uzw6{GzU|%M<(&#PZ;LnQ$9=7jZ(DxOb@=K? z7cJA87W=Ky=KgXk311(uGg7v=jtEt^ShfsvHdDE=N` zle4z5u{iwO=RhY2@Wq!e8t2RWsq((ZJiaW2iC}4`w+~Xdw#;SgVZU_=x~}f-VA@m! z#W;Qv%E}=9M_Ldu?GN3FnQ#cZO8S2YI>}N$_j%b;KVyVoSo#X3=nD`PJ7Eq8$&Lvd3a9p7-k{fVbb&up@5>4W&xxqK&j}ewzKcN>B%H!digePhSNCVf z*2JGbt_vM8QJ?pHzJt)QU={O;bUGME;Jhh)a63hzfpLsgmEOvnbLp7 za4zVkWVtSu9zPTS!-3z4RY`PQJO1q1z-)Sk-$Ox)=e|DZ|D)ADOJ?~#1F33Ol!y&6 z71fCuCV>x7(c3459CC6dCWrhq#GJ^yx6;R}@}6|9YNn_?J}sn~H(4!Ml}(IcEcf0O zJNoKaNcPQM$nR-PUACN!%=xR2rEoMoCM=o#O4w=PDuieZ9S=n}zMD2PMdBp#dKuE+ zMY?}8{;g@~;vxhv6hH-I+4J+Jx5R!0MH1D`>^Q8(+bG#UN#=_gdW?|qf zz7=mMJuLmG9qHsbGk}=al@4WlSR~UaUBC|{Ec{P=vl$MD53L{`Y!<~tXND3cJQ=Jf zjObW*_u!(rp>9Md&p^7A1Z|CYnQR>STtFy@_gMfw55tYp%Q{ySr5Xk1;^7XvMP5CW z0yWuZ=ok`plbag{IEv_9f|uXNd@{@BDCh#HPu+zJ#^ag=y8NLXpXoU) zR5?5R8Tolx6um0H~#nOUYQ-8*d*v6>R~SbLFkoElq|cioCO*_31L`F5m-3cZOa zJ6|cZEuy*9{MKM%UVnapk=s@5*}+Eo-cs}zgU&5_45!+ERxCBBd}nuHaFF(p|3`H( z!aVxd+3D#L$m*XsjvDe_`Did2f&D`~4@__VGJB779oLtNN~D@7qH~{sD|$HMqgsy& zQH1+ym;2}ht3uK0I|iSTmks%?yO5y_=?dGnjz9s zWS8U+;XrRjfc#wDwj9g#m;*@%7|{;mnm@)^)nCPH#*7niSy5ipNym1$G=NlL9&O8a zRV+PFTP4tKQv1>Ah=V3`E7_VS{HW;o{)m^4M9uW#8)FPG(Oq&;;vn;>M?3SOtT%T= zpxTn-M1YA1H=YUXe(;B7le-Z}TUjJkuJOJN4MHH|khovH@6F=Q00{yVX9`DyV!iB!0Iv4LACJ#JBFTEu!;^~;0j;oZf(woN2eNL}1 zP}C;xxYd_Zv+k#vC66bUnW-odF@j#q=}S4yeyX-3+=zO6-pew*bBYzO!LoOmm(0vW zCTbIr_^}9#{r(Sovp|~(vzUpgMeEqNqRC{ zEEzEL+s5PZE%&}cqpE}5`yS<(Sg(a#UxMr z^k#u%3x@Hr4X`KnNWO4IdzdTqLxncYfS{`B1IgKJ@ulhXN@_Ih?1W6}HjpDUg0~*F zU-0U(%-NS-3It~^)gVUE!(6oM!IrLdRnWW$fD14Sgvwp0 zM-QJ=HlX*L|7_h&xv++>*o5)uKtzle)-R=AnDyg2U`GGad_U@8`zOZX|loXk5FIZqd9!!*APtqb*jJ;!jf0&eqcQMoIj+z!- zGr#vM213u%wio^o!f-4zhIi`k&O0uSLN~G725ybG6|adIE=-Y!DpI0yf^mabfBids zyQ+gX)iusqT3W?rWlxo%M7?VMS%5kJ{rk6V(M@g4<|zQJ^4a9~?%n%si(xjwa2-eZ z(eOQ>z`g!m?_2Ywll}L@!M6}n{(s+cejL8j8HzrDkaG8!GnDB3+c+jpFBYpDTm`rY zjHT+dw6xeeIJ~#T761wykUz=ut`h*fKtA+^QvEZy-wg(LdRbTbsakc|^by;u*RKhz zc~x|uKQH;ay1G;(w^wpG5cBgFA7L;D_#KMVi^sCjAiw&$CZ{>1({{PP;7Q`ZKOTXJ z>$@O2e~IwbtNwQ$6js@KjK9D=PC7|K+MJ2#7w6*cW@$7Mf}D(swFzZgsBiLvGgLy@ z5YRw0_n)~?WK*l!D2$AZJnKwOOblA15>f<#rJxvQXk6#)x7S4_<>hxCQAaW?RiAqc z{WBjzOAcr!3fMDMQWPH4F;wrP{% z4cctKX{Nzxe7&Yky|ucgRZI%DYom*J?dHG4M*|Ws4=73y>+9>f5Dq95rpXYXFDzOi zck7n=yU*0Fa6*5MQ%p9gKlgFCqP{H1tNmmF=C$D8@Uj@ib+XL)*o--Xw0x06EDPkg zx>fD5v_qdu-i5{_jj>VJq0V;azO-WWD~w+tl&3*VV(&_IFsr=k1TYPUvXAql#~o6=ws_s(WtCuU@jLZto9t6oUj4Y5EHx3@u@ zSg0SxO40Vuo~~Nvk^tRRx>rNet*~2(tDzaR+i1H-~F1ZcTN{| zo)$krElf@pfBN|GBUa>hjFFL1m>-49Oug1ELBY`e6>P|d4o(pf~UW>0-vtZB;9~MR@qe3ipftw%VmHsAQ$AsSo zHV0LZ#~kwKSFV!76dt`X1hRkOC;jSgBn5S&*Pf|OPYffVZfpp^!R?mSZCfV*1d~8? zU%ZH-=F=vW$VJE_%WBNqu_1wTE(T}u`mdjY+Ew3;S#i>`vV>-@x}$i+!sGa)s# z#5Q{>_Lps~`e2*LNMG-whs^NgB>!k=O})8i*&N;H{w)xmNoEgAJwZr=FOJr>E9MgW zvA+JbcQ=vL_4?=`si>*P&S3mBQMX5Ca7F#$3*>YUeSPm=1waREUysVyP6-Z#iXMS- z7C@tb1p(P&usC|J4&3j8>kZG&3eHAW|L==|^(Fu3V&^B7u=1}B4LEmqNz^PXI4hcW zWfoHrjAFLRI~v;B`tWnd2)0dU?9^7oTFAr}9t7+{Pe}OT!o0jHDMbFKQ+6Lg+IVhI zQYDE`2Or|$<%JWOGCXV_XHU9LCN-M_ctdGn{2hpyu5RGr;j7uVYndGri~o=-_&DZQ zfCn0%xTy;A(bxT)1d66BCdI7_a9$2sqzVU9{!ie9I#M!JC?!^L;WWjcMln zF8$=e0&+`9c^S^FbdKq0YASnqNqsjJ7Nm=I5C>VuK{AuP-6Nlt_1#@nOUpc$%L72> zATxP*w@L+F);8Hv2}*bf4rdZcZOgqs$t3r92h=G09A2;cO4Y4B<$oGrCXVK&FW9XXWx96wH z_t=%{T?`BW2fjZ&GXrd|pLTa$0HJoeG<-2x^0`*mWKC?H+_*cpv$Nx1@O{qZp}zhn zaEYd-CSC9a1FC$u!%PO4zGW>@wqH(y}yeC;*{Yf*M zQS7Or94*RFhKlW2Kc(;c`B6Ztj3`Mr z@xQ(R$pCxje)-}UNVEe804&b=^6@6N*|%4p-|@1f$cv>2B2zwor2Pz?-rdigtg;B% z_}iBx{q~SY(rGd$3kDPb`I0U9X?WRyW^FCf($ezS`fr5*u>lk``9KHb913Wh6Q5?C zeW9m`AyeD#X@eAIQMlv$zL|Jt8w{Q1K zQ5WPey`K09_Mz&$NUwnB;T&0?21FwNr{U|e=x;#xu!Dbg;ioqRrR>r90?n{eX=m2S z0%5-7>#58)@;8I+*u@9-59Sv07MoEQ4A%bVSSYbySjAQcH)U#iEc(Wy@aixMHys82y4QJ~@$sxg+@d+RZruVJq)qQyaDN{@eG2x3P42vz z6roN}6-MHB1pxSy-2&v{-CBR(#Hg*cwN94^F_^;~+G##|{X$rFnshsgRzMSw zox>Zn8lxxv*RNm29q44Y=%`;proI89&$De${`Be5U?39_Gv-rzI!WzR%_j)smdYm7m&g<*%M zfHEHI4&Y)yx{k^R2(H>csqSoFI|{m^ZVevv?V>^3kj_N~J-y-L9?lq=Q>-6!kWZ+f zA8aZ=F_LLOSYcu4x$0taT>Z+IjxH<%7AfV>^{$F(RD1oO^rAaz-z4WErgO^62NO~; z3K(UIh)zyVY+`OczK3JB@Yrxq^?0c}Z1uZ*a0v7llu@nce8!tm{`poyPjGDChg`%& z&_J00xtI}<5Bhu@eFe?UM%VoctEwo<%gedZ&6IbP%>ar7G}vibT^wyLhGX5Oc>Mhh z;9}oREBEa>$j7_+j`U(wH+$1*c#)tApvm+2P981>lsFIfF~QbS(gnXN_sOzW)O!@a zT6slTuLTulOaRk+%F7Tf-1ip@n*W?+ibWT*clXh$*uZ1&=BV~4{1*m;)tdvDu@5NR zEvq@WxjQMArRXgG0fNCCs=dY8q00Y3s`-m$Wc=yj!s)fCm;XW0486r<#S>f4*x?sH z1uE6{E(5@BTXVZQ!&;f>AK)nujhPO7AxP)B!OP7k;QpVHI;}?WKfu_&Cjy$>K!o4? z7c{FPib?H#e46InGbF4;ZvGdz=8NXcG`LDlIY}zrWPfR)^LeV(|Nfo!e`j@Y&wSKm z|5}Fj^#vi;lmM)o9lKD`11k!c8W31H4GjkM|Jf9XJW{>l;rVymU}K0(XGoV>^YDr5S9xw-y><+?C+*S6J`VjQ;w0rX#y7w zLtPh-BB2x1jV-oMS$x-UC#|cis~FU1(ELz{+O9>Esv4bo_6AF3bIrg&!InpWEByZb z`z{Q9#h-a`wD!g3irG?jqc*d=-a=BI~163HKnBB4_ zRG-CdCUlF8F?t4{ae}S5ShsZi(rU9xrsT!e!<;-tHPWCc;?Ji;+Ye40_Xg++5sq4= z<=sKa2DzI*B|B%};FZPuE$z**apKtSb!6r6W%ZKz4A)6`6rOZ55>uRo2M71VD9e8lnKu0T6d?hkw;`Q-56pVKLi*ws+KgRj*baCA~5FAXJ$RxJz_*@agFrz%V+t zPJog_1EIzy=kxTQ`w}kXVoKLm)@~pr=y|Oz5oWc2-VGRLUcP+k);uTeb6ouHV>N1< zK@QH?Gh!Dx9#2a^9{stn5Fc3j6=ynZYj5>`x`PAhidNZkG|-}ljO{l%7n{0@l-M}I z7DRk(^OiQg5RS()UiY$rmNq<%98`2E(bxShUPH-8*HYQCbg%NUubm`Svfu-wXSCzr z^~7^fUn-oGhSMYn$Hp!DPPOM|pr6q9g)6c9m7_-2md!m)k+Bq@z1|5#txvIZ$^cTP ztyouQc<5(FrK*4g-?}-AZ1x%w6DgMS{o<>k;59fxtTAuARK?3aNEfjRcTlzZ7(Lox zD5$2c{s3fq2Pxvrs|^d*9ZM=IdO-A0LVEfaTWb|Z(M-URHPa=@@-MK(sJ^Mws=iyxc&HIA@6v3@lA97aoU7G`F0P-dz=1Gxo_vr@?7e#1`S>DQ{bOa z)%`C{&zMD6Yu(*XrsUf%-Q8#MjuSo+j4?zNc)x^aN#4M!x->iVhiGBID7^O;BG*Jdt=UEpakv+!n62kEU8YO=RVp!8c?fmSSnsE)Tpjdi&^B;wp z=PVhVcKFhzrXIn&nCjtq%*gNG1#_4S((S2v%)>Ffg|V^Ety%K^G7b(7d8h9}Q_VOm z6|HvY%NOS7+3G4=T1?X95g?`Y*o0^V*8U4WQm$(fc)8H(znPxh(kI`1X{4s1(P?J@ zBT@Jp+wOu5OgbYw%*Fb!i^CO>c%xRoZxsG_z`@Q|f8;1LCq+qg*XYx)F6Tjnef%$^ zt|0G9N*r2n64QmFHC#(4j5N=CnNh2i-nahL=e`|s5Jxz~(O&X|dV2d40vY?yh)j32r- z>PRT@3S)2sQ(Op5voYg+f8bbA+xWv-&4q=k&+DBSADNn&z?azG|fKSzC#BrFupj48QlkI>7kT{UPvwMI7mZ63+TsA%T=j#1qj~HxH zg8aE!kfZ$gkw)dma{C3`m+Lk@x{z=4GL^_$l>|aOWEN*zrrNhSksn80!d@GlIK%gf zbT#nxnP-Glve1()W${EAv+(zYX=n!gXgxl#!P9zp`}T*Y5IKM76ojd=5gU>~%t6`a z^uUTEH9&7cQp|VGz!Fm3Y3izotSUm^w8=zGJ7Q#Vx`U_i(WVdkhy8KXR( zr10+-CP^*j{gJR{m~U6RxMZWrfU`uf3wAFOXpqI)%n$RQ&X2Q(rh2GPJCLx))J`64XZ6x zJ}k46XyEkal$6}s1Q6Ntx-cR20$t7B8dUm(zmET)-O@R#Cc%GsSq!3J?f1B^AKHG+ zCay_+n&DTz)NIiW-(PW_zk7=L29xDjK5iVL-p~gA&~hKjxF>xT?WnBYtGY%+uhdSi z1mRkywy}i<1$kDmZWYJsxdIWI*l10}a_=4l@(|cWfv^~R0au$!xtw}`Ql}yNtg<1c zw8AO6l$^16!p~+V@RYuVl=hcvz*o497~L+W47m^~6DhImUjPWtv)#+nGq~c|CCAafb?HUYq(A zw*!-UW{BJQzQw?|oo7#7ODF`SM;UZ+ssrlD&zDdgp6448VB)=ij(%v?KQ<3m>Oy=HegeIU(cUaK|bcqebG z?Q%+SsoRs1=IcCZ@7((2%qSb`!p7Rt?ugnCF zkE{993#**?^jBGqhIGxi_S(=IK^n;Pzp$$)bU~U28_O(7vRYB6SmA0q*UuL%t{^aK6~HG4*_N3@O3GSxyX<4@t(WG$97jIqIeLWO8EjNo#9m- zl7%rrBO~Tc<&nzC$K~6G_wn8}EX4haV{P<5W84rC7Z>N(gd0~Kun6LFS7f$NKR7)Z zK|y805w+;z|0>NN#C+0&l4SjN8-VlwfPnx1W9t8h5qV<&{>jQ>!-L$^O0#BCPc>yI zuN=G0&mY*kOj#ktP*PG7HRgcFfu3gfKi0#8?6#cEW66YkjHUN4*MId&bhl|sNNEPM z2E}}%BE*G6!r$a?E!g{)k1IQ3qSn3>L!MSPkp2tX#cpn*uJJQ5ghkHBBXG#vW?9AT z3$KQ2S=aCS-p>$);nJAvp~=EanwoqJ2~LlX`GJ?srX;3ELrd$KK)XX7@mp?&a(00m z&t0$DEwQ+y6zSrN4cWlNc<p>D-`{q!^^q0wUer z-QA7Swdvkx^3?BrPh9W0&N(0c=Yt4q%{BMhGw(6xxbGp=BC#dL8UB9wN@flbHfpXa zyrT9Yigdz$O1WgzZuJt;V+%WRl_K8-u$LLY-Swk3T157GccPd<4x(&|t@$?j^=p(( z;noXWFYC16H71YBKX-3lo%QK{Oj;MPYO=f(5}IM)PHy5((jHP%R!*uN&?2Ae3m@25 zB$r14e~)?>NMFII3XB3_^`FFISI7u7C_;EIs2|aaN#iPx=5xMNM~gHbIG-$`t?cON zSP!Ir1V5kPa`z^%JY4BvtM}h0O({A2BV92b4{~)I(`gh7Iu&q@A&iV9T!QKU`DB~+ zIcjq%4;_kALVuvb(B`><92veMaM;ow@-G%1+06V4ic=)Jp0T_=JQc9q=?p_&|trmF(%0JQOL&1ctZxXrRVueAF5^!6Lc%mtn#S$*|EVvF}(g)-L zfHI?B>-kty0lIdw0oO|MmR-@rX8?QAR{0YE_*3bMX47G8_T&Dvw&}Q35Qc6=DXlcc>rHaPfJI)nt5)5pol3FHVKow?aMh&cTnT>vtCT>H<~cbqmx?+nng zl0aGHX0O{hlP*g3U+0$}RBs2;dTVxcci$v9wFhp{`Lc^IV>3-8TpZS zTKOTYbXIEyWU1Q7+Mj=iA4lVTV$|~INe0LvG9OQw*95qMKB)7l*N2B5I|vXxjSYd_ zyVC2#>JSElA-~I;8P8USjKDQnpJ%AJc(Ey+Bo`;>f3Y%FkZO5^m>KJ+$C#p8HT=gp?T`BA{d^D){akkvk-@kwV33(y! zizQloOGr9KOrJLBYPqYFoW3XHXquJLMwr`hjOtN3IF8UOiMca>EL~a4fMEd|OKtzb zVpHN+qL+U7*e#kzgt`7zq9^cZ+Vh)~@khA0@0B1eD`QQ6sTfT6 z;>d-@09V}e9P;`vDjc)Zg;;mnDNM=h?N29ecp%1Tjkn4o}Csb0L#6O z=a?U|AEhSI@ywI`9EpgEVuqe4RqGn;lPb+whIz9+O9YKY^x}Au+Cn)v9xj`r_WJ%JP&@dq zDj%3xYF3w;MN^?aXZmjQCbD99PZ<{^nXstBW<4o5zcD-$X@pm4FgzwNKV6P5uo}y~ z4<8Nz9id`!v48`8i~RNi&ebE{MQ#MAgReJHU1}$ZhWO6aUfRLV+P>ZR2urel=tDm8 zb?)BjY1_PFv^B%MuGJ1c1pJAP5aBaM>x&F$)>R9#0d57HS^JjGpkS$~!#>niutSS|wiv?E`SBKXF}|qWhUlbMKSzMgWw6zoTk~6& zEo#aou_128jMYu_b$uWBWxDn}^x;~}nbqvWk6E-ES9K;H=BhX;@3T-_-vXvlZCHgx z5q$A%S+)^0B9`2h=LSM+a+FJ&=BniVni$IJjNxm$=|e%RbP*$#VR3#B?($8|wOd`) z)lq9O)wlOH-nxP2sck3yrcg4>H!Khqd_0R{wY(ek6nKb-t&5`Coby`yYA-7%x4IP` zQlhiO0jfpd-JGW~g_feU&x&tgTw#N)@#(jAVB@&U=-MMN-sE#7Eoq36fB_0kLPSpw zAp6D50ekrDVGPR=qTgL`4>dRGes`w^6+0~5e_FZ1G7F#h$0CvVpQeA)S zGI4c`E*VXfXkrBAL@>jt6>M+{i{TA>S%BFX({WW zcp(hVPC_+bc~2}yL^Rx9>SzP_8t$~;akaYw=WKM{{Kq8JRJOtb)Vo6CGQPiy_e#e)9qAHTV2^QRAgIhAiOTGRb={i**yVEaBXchX;h z9e%3qAZOg4aVszH|F2c>OIjq=_3nNRWO0U`b{+)0>KLSaRB(~P2He+E!Ic=RIO=@* z2PN8t2d&RokJC0apn0yj!GGX%6l+bv-LBCb9b#y_+HD{D*3j7+QmZZ>HLLmlJ8*^G zfJQdh&>b-zQF5GVv!(q`K68&w-ZCh7B|6pPl(@)28{407Y(ru2O(bz2+csDu;gyfJ!DYuZ&DkrXGUhhm0oJ; zY9psLMdCRq=M1GFLT+sUP`94bLQ4t{VTqo?DaI8{rgbml5`Nkurnuxs+=N#$wNZ*S z&i7^7EiN@*^Bhj1k(o=xp8i@QB)Z&sX`l4`H#r&-uBFhE(@4#b?Z9Lisb?uPqAzw{mRz^aY4m86gWH zH;NFu_y-4x$a;=&7U`jk8vvKe;?Zby0bD?AED_sb<#MJR6Ppsp0j=}FB&r`%ah!=a z@A6LStse~*wquHgd>`0u9Oby_Uy52*`uMqU8V9;;bwH%*v2k?u5d2xgdPypehz73# zG;Cw$=jtG!f8ZOmfL-eHV+v+216HOeLl08#gqmj-=W`z}t{J*YOWDp1V(yw@|xH_>bh| zBEuz}YXEd(Q+oDnaK;ahQ}2~q*2Igh@vB<+0gnXoK<(y6Tj;yMmcc?=;2>-^ODSYN&Yd$-hDxy)5imvt@F=E75k)LxwBtC`qC)szdQ;?8aHS?PW0Ap z{Bvr+F9O3YRxI@}w)Gtl5jPg=J^@D*^t`;p-DJUkfHSm0r8ghMxsK3pwa5VncPKKduga`)Oeg2<*z*^qIISm&Uvuc#r{?|f=9vYuJ7OR>+VHMGJUhJN+Ze*G+cgHp!mP{y;2RJ+|<_hYr z2ZHtwKef2LXL|79iQPVte4;6Ji7vs`+kavKOw7!%#>UL}P04zb`&*M-FiPEPTKo{z z19n%gpIXf4|Kmuv{XaO;V+d)mi#K;7%zKRg20j0G zxAn+@vy4;C`Uj1^jJ!C%<7d%CCzD-r@yMC^I0yU*YW9x;Ggp!BS^aA3Z|5#r9p@*l z0!OYer)_n2$kPIWVNNxqs<9)+(6Qj?ikz>=_2R|@^5NznR=Wh94 zGOe%#C*Pn`qyOm=jZ>-u_1xCawHqX+SHt^zGkrL=iS1l5=)E~xc+qlSZ4ocV`r-wx zWCJbFPR1seq*h6Pt;hm+RU5fZIT!dOlx+6I!rYH&iT1z$PXx`{zcTytI<&V06N~sd zB5_a%^TG6f&BKDLSIp96;&@!=+*-xgiVWSvnFmWu%KA}h3j3#l8Pp{C&LmkI3>0^9 z+J2uk)#fR$DC2^%GOxCRQ}wm?3X5LsHob7Fa@#liPjTLlu!u>c+hFrxlniqTCEsbH zVd28-HjLeDBX%C*;1RN}&=Rhs>e^K~Wre2I4c^bmtv(cJ{4^>%$Y}Kb=QraGfoIe) zEwtT-z1Ak`z3GW7QL9;9i2gg+>}hOmwrLE;5Ro1x66XUBy!a6N$hi}Rm?N?_@{i6C9npbX;0 zHgKeFhKX}`kNr8($wfsmt{s}a*AC6XC?g65C2*ft{H~e5tfI^!e07MV2E%-MzsM@O z1ZRlOJ!NCwXDY0P3x`&RM(&RbleCt&_p;fZX)9Dm5(nBRxn=|DR+#|RcxT({544)+ zlbKjq{f%yc*WVyB23(0<(;Vq1gd7bVWaX)Ls;(__ddgFo*s3HlJG&%p(^6T(h5^-Mdh zmJg3yyXlF#FhaXZ9nDA0yq8W>FURtMn(9N3bOkghd%Q+R6Gwp->SX(|eua@I>&5m@ zWbUJcvorTw5b$WeTWX8=sSPvlRn5xEf*^;LUgAGLr?3!w4jlgX=ZF+5fCRJ*XXp;5 z-(P-6#D_kZUSNdW3L-PQ_F`VQOSg{6+T3#J82HvBh)|`CY6%64{V9Itkm&EYKM+Z+ zY{Pz~pnN>$C!6x8pWTkmgP;I}?_`vH4N->dNziOZF$Kl+0vh3g3tuS=X zumB=t=w1YPEIr5L^Ql1v))pRrcH*|0B7k(a_SI83nSlL&dMpu209pqgC>F~7ZSB-l zz@_&FM34>~o%&WoqawkqlATs9A+mN?#m+f}+uh{j&}J;RG%rAqxq=QDZjgQgw{#Gp z@fl>FpT^Va7^U;FAiv@cLFRP@8%kDVEQL7CdBhwvH9)jl_6K?e3ZEh?x*%5yWqRLkrH2!%m zBK&wck}cLcYcq&DodvvX-33n<)GI6cXo+-#m^~5gqx=t{;`|+!3%M3^QrM}sVzbd+VP8(kQ`t0p+X5mm^O%@^CH0AKm$ccgTWTs~v zV2%Tn*D?H{nBD zIi0xnllJ!Y*P8uyI^G;pH0U}`&`Q_00&`!R6m-ptrW;bpyqDlN^mS>a>v3%<8ZZA0 zO-f-lOO&B>y_;Oq89mSI(MwzO{O#`8%6o`S@d#F8+Xz%~RHC-VAK= z1s#*ERm7N8bzyxNdup;`ZedWgN2_+B2CAORyGn7-0o`S(2SV;;aIwkQ8EDYY%v3&| zX$LG&;Q{cI#KB$zk9&!fA9~bhklLLX8ypeg!HFEH2*E$9J>DH4r|55gTL;J zGTj25W8XBn8PhhC&qtZJxqXv>D>a2XQUTrPUejYL3W^#Fi%>FH4ZQO3YqUbdX0XZ3 zbJ`=BSXNQ=j3~)Dg(P*<^ai{PRWWA1G@ko>=CFinYGm$;8)wB{z-t`)fZTzQi_2kb zY9Q#S)>_BtImINQ+vTS)UJIA;Z^o# z^_P6_O49n%#$w-g-rBthrTm?G^=h}Ss;v9Bn)Uc$F1Y&m&j`4Z+@N}HJ1bu-$Rpj= z=i|$y3g+#KgZ>EFcN(Fh5iV?;sT@&n#MmQaEh|kFHl`%c?GQ%@-B9Z&(=# zYGXMJ8WP_pdzWaP{l2>2L}aPOnGft@Q^n?6+P7wXwT_lQzWnv7TmRkII}GY7-;%Q) zFN{w+!5T$H`Vre_+L|PqU51kA2aIsGUAuapP^O>gBC$d)xoh(c@3`hrc!6;7XjeFV zDYG&q@MoX75xJ+cx}6tWARcvaMO}Hht15=46o#r$?I))|O0*%p=>ascGJ|0<)!CbS zdRv>kAXdX`)|LCj)-@8&S+Zg_vmisDq%nNh2J@ZVHh8fdvDU`zzAoDE&&_(r49laC za&PZO?7Bq7i}z01PrbGT`WwIUP!$CanWwEpFBEj{pZ6j}wGELt8(HCu$&IaM*e*_sN}l zytvlxhz$hH^)X&G3#zBpjvjy&@+XGsubXLLGY284@n??xQ&T@7vNzW2hW&y`sfM%k zA(NNAb&QM{7i3abyj)lBd1pWLi9hEFt+r(-E?MIAT}37n;WFe+-L}~hP@oe;e>@;C zwLue!CgQkN@?s9Uwy~t1LlnW9u-Ou>aC2i*N$C{o08X3J5XML%p8)#N(BlQXFJ$=b ze6;|_mnH0fl>2ovDfv2Pps3->UyOs*uE`iQn+kBjdld=nNa+#pneVZIH% z{`iWU#5yH9GXHhVMX5qK^%ZB3>eUN(ZK*uT zPP0mUm%4=Jc$}6fv%3I}SMP_!`O<{!ad#yFKu(u{X57W_-j6o0v#q{ZIj3T|H5j8?P%FuiwDGA+aBTBjC2JNM?+i?;x zlwY_fXT-(n1qo!(>CGTICx6zG{KyNF3>dZlK-`C&VfzxAA9c{DNP=ljxDJe2e&=}F zqCGVfaD~6wJC%0ey^02+3wpkM!Gcae#)^MR5&v3Q8XnC7Ho)U}{zt&c2QB^?5c)rP zLC-x!5BK>WJZSkpVc>aQ6}gl5l*EH0R#{d}1A{!yA}#O}Y`_?hvYOh1Zolmrx4^wV zZ0vb^jNO43ftJ9JS#7V5_lElua{I|o0*2-Tw0Vo4k2)O_R6c}j4RJ%_G2Yn%t~u9j zV?zE?|B=41`+nn(_|FHoeq4Jpoq<_mhf_oA{-?*29B>YC zerg;O3h^BYxlI%YSWg!$`y>$IyXaavVtzryoy0z{j9QC9B?`r&lEt8lY#p!eURXgV z4I2hc=+QeQlUEVdHR`8*BPeVrh!l80Z9#Jv&bp#Am(61R?Fubw!Xcm9@mRR!sOR=Q zSLR_t?b;WOq-lF}sST?o$mg?;o!T*s;cTJi7;DEr3w%!!;j@Q6-b;6&T2g%ox<4jb z@A&=q51EKByq-+Bkn$C*Y@3lYp%!auIXu$nt(qn)+xd%{?-JG|?(!vX7r#S30hrIA zgOSJA@6+2&s|093A3uE}ynT}Z2P3uffX`Q9Zs)jZ=NKL8HiH4;6X4jU9>w;U88H^8 zrb;pc78b}h%FRuGha^Hvs?+_RrtN{S1 zc932Ly60qM*I4R(Ej$81mB4@WAhGbMadxR`Ks}nEhV=PN+I0_kwp|Fiiyh1#7;*Rn zoi5-`tTpL_1)#yDJ8wxNwk&gInEo&k%mb;7ePO4~xXiKajdO5)9{e+0rwW<N-+&4%R4?odqx@`5+eZRg_qK`ek-6P^|}v(fyKfr#Pl)|#rDiVzB8vR ztAKM!3zP%bS#`^m{Y>s*ld`KGLYdcrBW6CQRui;t-=Z*QJ!`><=R-u=<4T2m@8O-O z%S#z$*~{{Bn-}g+yU<|)63qHoX}=HS`()!%d&+w`it@VPrHhz(2wXNcwygWacVI4{b+gvGIuz7lcD@nbL4I%{Rai5nWX*x^YC%E) z!S_C*lhwdg;c`XZudExL3YivXh1s_gJ%p%weJr0!zutJv5gWd>-rQ93$o_TTGH@L$ z5D;+5kRDsNUSG1-$grK6*S>Vf>jTMx0Jz5<7<*%_!2}*r4cpZO9hOHCJqy-no*Ll# zjjIDYxa9;OkBy9l3=OIhodBD}R!bn~O5@zNR=ZYPn?=f?D_&92wdjW&ZzJ3n-L?!o z4no0Vb|d)DdT8wm%ez;od12>@^J268Y}owbsOm>>TG!bx5(k)|2)$VMZAx*~Qu3hY z#>KlnfNiLvLIegpU|iFy%i9=eUKVl zcY|15US59Kn^3F&%NM0MfVQ_pYSHu-GqO<#j};nPHK*;%xwu%M%_tG$C;pU^kXSnC zwra4twlcZ}@68;adp(r-DFH{HCzo*XI0E&vw;s2+6X=KVzWn?~g)W`u!5|4suv(}t zPg065QR4&tj|$vnHM3%7qrC|ozc4&+) z@h2uLDl*%U9ej~qP&5b?JwEMi%&gNjF@3V4q}!Lk65lGHPloR9^7Z$lAG$cIjR&t* zIWHsLowd3vN5233okO6Yj(2lh>5JkLxT$9ki6Jmfm8@pzd&KZ>3-v@ld-DV=C`Gr8*fK~HRM@LXn2vD?h@x}RL=+9$-lv-=6 z%%zvs&;kg_+uU7fYQ6Q83QBNWj?K5C{{)yg3_?PbeZu=VG>8ji_~JU>N;U4M0Z%+i zzR(AZjD;XamYL&kGp<)h+$25y@BPJQ)~wRK(&p8z7Zt=D{e->s<-V@;cdr;;Abl|IqQEob4&gCVZ)heuzP zsLhlJW0hb6J7KFtL_|%xd7JM2A+hb+UCCuA_T_UQ>DHtayhDj6B}lIVu9NYkXEB;r4Zx;l2fK(;L$x&wMU72lPJ-fgGn zyh&{lv=MSgDg?1^D&O9prxY?{rJ4+j#(5Tbx$q#%^Q>>?3- z%NW(6Nq*l*kVBn;1bYugie~QnB5bQHo>@!>?`dvRg4k;jB9}|)(exvB30ov_XWY~4i75*VZl6go zag%(Z9FQI2Z5`F??f54^q`BhFY{)-xB`Hk*nnR!eB`zxehq%c6uYvXbf3bqWIT;9} zffQ*fh=fDGThQv0e}8ZQmKPi+>!4CXO&E}k`|~b`f2e3_Y;hk7Nu+z5P_YzOHf5>( z6oBsCyZ1EAT+h4K`!XZ?bAIlm>AH)bg4dJR`ZSn66W_m+HlKuS(4SAgx_GCXy_A?( zCslX#;6cQH3hK`q<3ZoQhp-1BNyns*D&`K2OT2-^PhxMS$43GFVRakld4b-iDU#L0R#zj&4W|K$0zrRwM%Yndbp zAj{AQ!c=lf!;%{i-kIm10$~{9Lx|JG{(iLm&qJ0=C%WC(E8#-D0K&Uxan4v!y(T>* z1aS!1VE|E#%d|D@y*(0#_$^DwC!Kn1N{!5bK?Y`9fO8W%xjg?KYaG$mlvi`4-Ryt0 zwKG{FkJzc)$VG<$M|X3g2os4!&V(;~#aaDuUlM4$fXKr{V?f})ee;F@Fx|M(V?KRC z2NBtTtp>m+5O?<6tF3vG@=q*42UBO*d>pS;IbeEQGFb8?05KQ91pSb3O2uU?rKzK< zOSQPP1Og@IVV>k@oHIAEynuQnkc@_Wz+r%s6EBbeYMKN^zQ^{f{ZvN+6#&2k!~`+v zz+?%)fS$mzI{j?N^L??0UWKOC*3zh{sinvFKiwZ7Hj9Uncb2GXKTHI{ad6`TOhO)H zvxRfLVoVd@h%g_ww&%vkc%WJHYm^7nlG5py-PO0!=t#C??-0&XH|Izsu|)gJm>TtT ze*#n`p4?Y~@54WAiMirr*iAgzs`-_NC@#7zMkhzhkd@2CCpq3gQ7E_DZ+V4dq0y0I zX}+4=xBkVD;;J5pxU5Mxm7oP&E@8b=!s{QL?!3pSD_{gQ8XdX zT0On+uG4v>>xl=pjA7fazTJkI!2I*TFVt73^V^c+T&J+=GD9G0tyGpP9bqNz@aB#E zd32YLcl{<&7gC}QGcxY>ue6obSn=3vf_h=$-OKaiu_*x5KYU7+nG5RrJ(#GWu5Ro- z==`AaG%zaJq<`9(t39Q*R=rDykb^(#xvzM6Ib~ag3*v@xH_REm&JG%qB?BEV z!LcpKr@FDDp`o#{1*`%x9t#3cw?bG$P&*G0Y*@8fY7J`w>Ka@??C4b`w0pLZmkQ(v zrpho;Ii@BiAO>HUm89skL#}x|UMOYYZ^VgYm8i6|G+Cin)oh=_*U$wiIvNpg124CdynW~ zXO0$i%dlH$hpx%2$vaOYLK>qL>B1e5n45hIs^+ZX(2toR#lM%>P~^{SblLq&f))Xl zFa6L~9eZ{U_r=+iiSX`}_Jxx-7W9xDm2`?@Mp<{UM}E04!h6UyJbZyCzAJQ6*yU~3 z{wxj?{=UC>$*}uYD*<=xB@S}Lw?ImyH_0gK_>{JrXFG5t?iO^i*JY3lNZnvg&)-Gh zK=m7WC@P@b`czS|<##mdhPoBW#g&LVs~K$Riy$2@ZssY~)0(@iuOQ8r?p5B^1r*f< z`a6Mfg4We_UUg61FXVvqzT&hC-)uE3vLyADk<5 z+06<=^&sq0*}xz|me%XuR4&%@Azq8PS3{9Q^3P&2ORR1y!UQF?m?FKnS=`r4pYITCKV z?yoVUxp{ekO$+s(nN@%^(hFVP>D)Yp%k6_N(y|zR7Pn2gff~WJrqkA>X|4~c!7{BF z@}}6ezQ8=#$VO?UbtEL-e&+Cg-HmNT>{!fk0z|DAKFYH*bi(T4V9tuu+fF%NGZOw;>t?+2<^}eV#Lwlp^^99Z8(Xc6sUG?K#pG%f>Lp(G# z{_c+)!*^1S?m|~bWp!%?L8LJ54bHIYtFw*HVtVolgjj;d_T%yyTaoikdx3f9ssdou z;V^SV$mtfCOb5~~lGdHv!lMz+RM-bcZLaganD%=3q#xp13|2De!nv*|ez1Pl0PG_v ztjqj6%Rq-m^%Kh;a~DI_7bsMpCe=%ok+0|eq1}SrPyJ3cdg46v#<^iW$24yim)=rr z0%==O_RIzk{Ko~RW{}nPmfKp(WAc6u*}j&91$^VaT}(oQ@mqx!RLdB7U77yK5(Z>K+=QP=6O*(#_!^0zGp%Ljt;*(D{s z)=srpp>g03qa_XxNz4DU_tt#GzA)Gqy9qpi)Y0ER+BX$gwveiuJ8>8e&{t zqJqyMXhGhY7bI;TAINhaT^@sdtju=u9^VxUN#i}?u_O6&{|T=bySi+nV$5|UGwuF7 zSE9XK@K=hmh#u8vi1<))d8>R+b<6Hnl!Ul-+aEM)1hKv|)ovu{)yaL{c9@7RPi<}O z18TIlT#i(!vE8oU@jj{Ryk1&22|bZdzglS>>4+(wq{t@Sy1&N~{U9Vj{VUvW7;W+()P9W)bhke!rcJIA5K1p0epw%pAWVm+hydq%>Ak zP(Xz!ApOCTb8wK0U2STdji&Z~{00+yF}>h~@tx5dmT|-WOnLx#AnA)|jJs!R)iwSYUCmIXnj|J-DDdy46#RJSHJI| zcQS#^d$RQP-kN)4D9z;~&ZwZ_;kJX)E)EpF>6wiV-Gt<$dA(%Wr+Ti#VD(mdyKi>A zIDmzQUT^1mJ2;cb+szV|f1FI*#-%`@#Y1g*+vil-0*RtsvJN)z;oS116KrcHQeY_R{M`l z&Yfp&2VG*SEspZ&=?J&R?Rf2?g|ldq38Yn1Y2DQjc9902YNWN%v+)y5An4WP&v(^= zpH4q<;{k8d_c}$HsGhfrm?~(^j1$b)u>}`H*}4W6A#IvO(=5+=RuHV+Oop0-`23nL zxxvn3aacteK+#V_UDQT7KxET=7WK8Df5$plF&IwL#;=Dmra|?lyQ*0?d;fX+*>9PH>)RbEMVBHTZ!rHr`s_>Q zG}i_<7*ub(#-wQQ0aznb)*9##&sO5^6Cyw z|EWfd=r$m@hu#n8IuQtr$K(KhQMb^1A$zG((F4Hq1@h)(77Gg8b8dWfgzaA|O zFh5@9E$5Fj+iKoh+2C@Xrc7_6J0KDx4_O-z^!0pb-Nh#0TpyNh<$izRqm*vdNeIn` zOP9~=p)qfnE{wW+4lCz74P+>{`mX-RW&Tl>V0PFPRsT`Wr;oT74Mo4dnnz&DQ$SIl z@u2yzk%qRWsV^o5zVnBM(c$Pm`2wy>ck&sg6#BYl;`(wqr+`t~>jhOOs|yL_p~G|Y z`C1p#V*9JBTc$00ZouE)N5`4Du$+8t%E%*zxI>ygM25N2bNgm^oUH^ykGV#S%?C}?L?HinL!yk>k$Z(8h!^Wc3~i2z&@rguH$)!W`K z_7@^dH#!yCvz<IH;NkVSbw=H6_9XCND#WI4Y5{c&UTN+V4oH9Wh+ z!oo)UnT*{Zb50^(%aUZz^eB{p9|4G9g2W>?Az;Uz!NJLi`{DYnJbnxDW;i(Xv$V2O z?0W`ue&P(=*S@MvgsWIm&zb4nIypN{Ljo z60QJreU5%)f`>=9y{sNy@(X5a7su8I}7nndF{KBVhiu3tlyE*b22O|xABAF_G%OHAiA``xA~ z-{D6MA3p-^!}^b0cYzhf%1o_2(q<@!UQfB<8`sysPL1h(B5z$ScInwC78-c<21oe( z4P=|ofWl4?p&8}C5V!h)X(x;}JRF-#-Vv&??la7jpN5vqy8GJ@F@Xch_z-Wlb5$P= z@u=|nCu5sY65*P07Df~#x^YI`Rul?PB9v}-J%U+``G;C4&l!{7?%emfQ_$GOSGxPgI7!Yn81{1vU z3i?Tmn=V5T9`B%f>e-%O;^jFZ$hB++hb!>ckn>UExz-pJ0B?r`sf@UZUT6?b=&Cs* zm{BWIbgsJQoHQPDrO4yN5zy;;V%|Q)+$b~)+wf%;+PmD7xfPr;ECecj(1#C3l1pfI znyh9-kFWN-0t0Fi4I`T1LILv{lA<*hZ3ypEWzS%x-|s1&=C>JvKZGy0E(hD{u7=(P zi8&MG7;Lq!4x7I&HK5KGtGru+X+w57e{6p-R3uQoMmHUGlWM=BAg=M-ybS>Sx zEPX!gFr1!}g*%a+h@~*$hE{C*P==BN1k|(O@87={=H*q3cw&m7`W2z5hzk@^W4YLi zc*70@=qX?EB+KkGb9!Kj#)+turX6=2w9OK+Fa7@^TXO_mi)5<9hcb-4;|M0Kx5@t zG$(D=-8bPyaREB~HpbkfGUOXQci9V`?C*0Dt-Dy|kCSPKmxR?#sN^qJ4BWKR&oyuK zJN=Ms*IW*n_UgF2(Xk7mdDn@PDS$v};XbmRX*OXG<Y+1Ybvr9}v9#>!m7;W)G)5{QKaqj%6 z!$&(e_BLdArGE4I2z=?@<5m?qg)f|M8>|yWOsYMNCd9}wSYOr&d6^DGHiSeGM@jRr z0Rz(ihjw&gU!Ns~dti6OH!fF6mAc-b+QNgXDGd^8a^Z}Y8)PI8I{whc&|VJqM4F0P z>4}bQY)cqi#qk&4ZYH1Ai1Kzh?@USMaE%|jfj=CID8?!7CZ32Kt1Dwe(~3UaD*nf+ z9;*OXQaQS!m~kO8FD*WI>5lCVDwM(8Yie|#i3gM?0qLk}?rT&&=UQ^f4*@ZdbSHxv+FgC-sm=lyHn;V{>=K z>6Xw;N!9NoT5P%2vm*AlFF$_j&vUWYlljO%(^Apq3+KXSUat0-CwNXP7M!f-BEk{= z^+$_Ox>@#xx9QZRj`UaSYO1Ne>6BYWwZ)u8AR|V%^1q(ae!X+TwHy2g?^$Z+ z>m`F4GB->9SJtDmiWMYQigQ+o33mQ0Thzdwij>hmbgXA0&c;dSHT zvcg$(+~{SCqlyaq`}r;WES#3P<-DF3Ri7RR8`#puz8i=(WvH^lDm+i0?@}>mUq@n2 z=DxRXJ`8U;(TSTD7!oA58xebNK<$C6vOZgXP8?0QR!8Q=NY@Yz2T6^cEA zVANr4_=1dMbXs_!QBF*u%)hcqor;tBdMdu%8IGI4dT=JD!-<_aW+?HgayRW!v;OC- zV%8cs>`DpYA(n75Z#i5w<35$xO8c(I85v$z&gcL9*qhl;+|f=RrGW zd08~IMhjEY+e6(tSq#ER> zN*czn`{6MJY0Hb~SADOXIWL40nEkZ*T`{?KT)GuKNdw1)vzua!Z|Y&VzfD-fvGM(b z1bXrv4R&p;rgr*Z=V;#N*7LquR!@j6&hxMvs+uZpfoH!kt@l^Y-c20Y{dqreUFJip zSo_f2Y(x|qUiXJ=6}|~yKe8|sTU+hhpO)03g;SB2dDH^uTR*uj-W^9Ke8y6m7XYq} z?;H3YTM@2Iv%VcW7u1+})IM?^M{tWooMH=u3FzmSs>#j<* zrmWjOrCy_ef08y=sb=9bt|K@Q(!Tfo4a1p5W$U=fz{I`0;IMIyo0s7v(m$qyMB{R~ z__Q4PS~83owy~eorAl+L@Y6@6TZJlqaV{39T{|P)KdEz8K~qw6Xc+1b@>!OwWrE!qdg_4s<`==c)^rQx|L4%R{~pl5mBNpOnd8~n*!TlyCJ<>JZ%H>$ zRc#K-i{>!MC`a>*SJIk%UZ}_TOusSw<9{pb%EO`T{{D>_*^&|w5kmHz zlmbG$TlOUn*+P`8Nysvm_wak)>w2&2H-F9C z*L|P+oHO@*&iQ^mpY!=*KzYW%O-d6D?h$6J1wW#gebEBTq#lGl{+wG-5NqeRbsfqr zmZU&k6qx0PsLf36!I{qLv~!-Y(+Ycm%bOEHWkVnWG<7+I6KvJgU3|kL06}5@j<;ua!K$31 zIbm?6(nNKXeVbaBO>Gsq)R=##t-YNm|0b1L0VTFJ&A1pr0ml@jl+wP1A(zHChezGTW=&X5(b-T2Y>sy4WqM&N1?Z z!PHV||I-7NA=@4)CRtBFOLjGo>?7=!gpit7W@G9zv3lVSkwu@1T4u&3Bg3t%gw-GE zn1v)uQyDTv1!oRlJgDjs+z2cbClwL*hv6IC5lipR?1sMn*_N);Bq5jmcyEsr!WG*k z0{Ysf2S5;g!#D~E_a;dT>Mr8iBc{>0cNl6MfnjjSUyej#jyZd`@WDHy>+8*lemoYL3EYdeind0e3E>t-F{* z3xgoT4tpnti2kn&q?$9p7|wk^5`@(eT8lU1t*W$93YVo>09P7LYA3q(LJ;TH-n+E9 zg9H944}u<=;Ci?8D6AvCWPek2R_3Hc&j}$2a(V`>LXCjHh3qS~UgJ*t0*No8fIL4h ztgKaV9*6!EqWE9xykgtP!nrAnm!Ct?Z^6J;F;CugKN4hchzQq$Q}bD3jm=YYIgHJ$ z#=zVCyZb1abopO`*#3Ndn`-Ucwb-#CKC1m6f(siB^wdtxBdDtzz9LO_CR7jlL`CbC z*Kcf%TE%mav9HeMioHg6y4j|{BPMB_r@l7to?+u8?n()t#3x+^!d zAegUj5i;jX183k6z@3VBM{6a2zI0%>3?k zg)dS65BnIa-{gTv8{BdpQr$h5mgdo|X9u2E+;A6=1@K#~byc&aV<)7cKm;8mas};h z^M#N1biC?p!IFTIX)_-LF%;g>R5SG-+1)s}7P+1Mg@j-pv)QCqEo8sA;CBtPLxJe& zjq-ZFgTK0Bkg~;4oPEg2uKhJMj^wBipsg6^2E;&!9#jz%`WV@=ox^T~6WHU%9 z3^PJkizD^iQn@Yh!`t&RwPlF|d-~>x5#DlkRCZS}=8M<4%Xb^D7)>F&gEN@+(Jn`0a29EZ0>Q=afV9p2+T z(;p5VA=Vz%`yX?pEIJp1fwbNS^c%<$@wB3?{4*~{cdCB3CD@(!b*&c7a5bn@c}5&o zRZbFpSGaL$fw{c($K>CMJ(H+ow)S={+;YifmFz@KatZn^&vaR)vFAjJuHQoMR}FQt zZGb*Hh*Fqrp*Q)ei)vO3nmog(`8~?|Hg3vSmHv<|`OZ})8krn+7xATZm|AC^4t0`M z@h^{vFf(5mIta_Rk>Z~E@{iJ-4~#|2P&O-th!dI~Id^=pVo^R8@^pMos=`8A`C$H7 zYqR2M`3<&Gy)n1K=>_*;@5vOg8|P_ei*ZZrMBS-$EC}3~pFm!dm0D$8vKmD1ABLGU zu-OGpkUrau&+$f)`w4;LmjKS819INGGrCKw<3Y$d%_+PKJ+;cQk~9Lz-zMMj?vZw7 z@PzD_ElO2vAC@$rk~oP+kUW_M-}?VS+~3CCeSod3v;yq$Y@^}8uGR(Fg2&*;b&-s} zKRc)A9Uqa6uv-~`HzEbwLBCn%iq{g% zRL~!acb=$rad5J)adl{a&S7FMPtPo%6f<7+CZn)cPJ|vsF$T9^DKK_QGFzk}NHCaO zH5K-2l2uU12a_GUOR3iq6@(Q`#i82Pcjjdy)9fAOYq7Z5+62mkom*ZXT(2b`iafO6bD6bU5)H3sOG}V5vl!U$gwa-Z~njuM|Lj z{nev_hjbwk7IU_Yuphc0I)j-Gm3KHo`2CZ8qO6(&X5dytE&z0JIIS5J-1>Jq*FCi| z;`Vbtzq=WfIe>7^z9OUj8HGSZ$v8Jho%fT*0x_%2@wk-JI|I^yxR{Gsgi6YEm<)iM zx8`q&vFGG;u>@e5zR0)b;=pE6J>(ucP9e$({y9rBNsM{#Y+$d|^-}ZZ% zLDnC}HS6nfIXHDF;Z_vn<(G&1dC8rYydWdV<3lMYuGi9VJL?aza7rDY&A!Cw7epUD zTlmY66DjRN2DeQ3zKuaR(IgdPM9mmAMk!RQ)M)3Wxb+?t*G{>Ll;WqiHa2D|CQnUL z#;WctkO%km|RFer$PVLt%LzTLHpWaO0*57VGgZ_ zxJWw5HdDq-?{H}A)dhj&$$o4vF7?kgmX(5*ij|vtpjRHP9S)`bnGSVW=dkM;RFH0{ zPSTPI*4DV5@yPm0y9+hYvPIdT=lvT~11gEyUwZ*`w!z<7Tx+Z;qEM094V7AGBv4y{%ng!NFDw_jdL_e2ZOLM(PLdA5 zva`sd%(W$|P~G6LsM(`tc|ist6QZ>bTKh5h3$0MAOS{{M)6l0Ng?>iy_VhbY$rgUJI;NWzHJwL73PDKGXkNTI$ z)PdeyuHC`;zK3l3})s7uUtdXQ( zw!r7IlO{3R!?oP!I#2>4=Ee3T_rqZ}Ycu$t0D;od;NDYf`{D2S=JSFHey;`I^u0J+$=)LW@DiA((aS)5-Fw$E6W zcw38xuo^3U(4fzCUeVz~9|ks20i>?T{n4Q8`+Z)ZmxB{D9{)2lSy$1+*5?QYNc-NA zQtBZ~D(ic{V=p4}P(VTG^elw6d`+qjx`U7Swt=eq3X&{qY*+XW*tIcnQeA>1ifpidug z*F)xmI(IAcui#+%g9vnWep(CYEaxPj+vGG@u0@$`o$c?#S-z@rFs7!~U8tjN_GwL2 zkGv`#7UHb>pdXL-%xEBM{JSHp2~K&he> z|0K&IUp|55x{)-2@!~6nM*#uy(Bj10dCV4rY4t71yP@lZK~~k~OLk#AW_E3oLBH%F zCiZf1Cs}%MnWM}RFZoQH>p}jPC+^FPRM4=P=Z^HQe|OO56UpS$`^ zDV!!pNs7iU`0`)b*~LVB;~c%%D_TP>w=AhVQ6AZvY39RjLh^MExO0~KaWIk&8*N-K z^59n&^V44?|D24(+h2wnL_>ux1oZI*AxJ$y7Rh>$SBcM4v|JjBBnL`i7u zhL5}v`xv)ejPT3!g_hmz0b!wDk%q^twF1NV5N$(p=jYAIr(TL|8hjS76%F*#9b>)f#ns+^=kBb1ekAWZeZ7Fm8 zc&3hggDAVT;kCWIG;=HP)3CIRg4;HjzYxPHQ(loumnc^+A_RhAJBw2Q#9z(CH?^|K&}SWuB2}+5iQ{F zs3_S~c>y?ahaK>F_ybkl?r2LC{sM+R?;-}kAH(?%e1Ie4!}vxO|LevkPh_FmH&k{H z*&jY$^S<%dV*&cz&`!t&@Q>+m9+|e@BELFFU{2z4c9s2+P diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5c303cbf642fffb2402895328c32221b94219806 GIT binary patch literal 33606 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 F{{cx2m?8iG literal 0 HcmV?d00001 From cc251e386e2edd228867a382dfe7e770f00e168f Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 04:30:05 +0200 Subject: [PATCH 05/62] Minor telecomms power reshuffles --- _maps/map_files/cyberiad/z3.dmm | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/_maps/map_files/cyberiad/z3.dmm b/_maps/map_files/cyberiad/z3.dmm index afd45e79a66..bea6ad97392 100644 --- a/_maps/map_files/cyberiad/z3.dmm +++ b/_maps/map_files/cyberiad/z3.dmm @@ -341,7 +341,7 @@ "gC" = (/obj/machinery/turretid/stun{ailock = 1; check_synth = 1; control_area = "\improper Telecoms Foyer"; desc = "A firewall prevents AI's from interacting with this device."; name = "Telecoms Foyer Turret Control"; pixel_y = 30; req_access = list(61)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/entrance) "gD" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) "gE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/tcommsat/entrance) -"gF" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/obj/machinery/light_switch{pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) +"gF" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/camera{c_tag = "Telecomms Foyer"; dir = 2; network = list("Telecomms")},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "gG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/space) "gH" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) "gI" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/tcommsat/entrance) @@ -360,7 +360,7 @@ "gV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/tcommsat/entrance) "gW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) "gX" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/tcommsat/entrance) -"gY" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/tcommsat/entrance) +"gY" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "gZ" = (/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol) "ha" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) "hb" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Teleporter APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance) @@ -372,7 +372,7 @@ "hh" = (/obj/machinery/camera/xray{c_tag = "Telecomms Airlock"; network = list("Telecomms")},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "hi" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "hj" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"hk" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/camera{c_tag = "Telecomms Foyer"; dir = 2; network = list("Telecomms")},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"hk" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/tcommsat/entrance) "hl" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "hm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "hn" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance) @@ -442,7 +442,7 @@ "iz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/tcommsat/entrance) "iA" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iB" = (/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"iC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"iC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iD" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iE" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 4; name = "Telecoms Sat. Power Control APC"; pixel_x = 25},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iF" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) @@ -451,9 +451,9 @@ "iI" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol) "iJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol) "iK" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol) -"iL" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"iL" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"iN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"iN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iO" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Power Control"; req_access_txt = "61"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor,/area/tcommsat/entrance) @@ -462,10 +462,9 @@ "iT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor,/area/tcommsat/entrance) "iU" = (/obj/machinery/power/smes{charge = 2.5e+006; input_attempt = 1; input_level = 250000; inputting = 1; output_level = 250000},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "iV" = (/obj/structure/cable,/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"iW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) -"iX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"iW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light_switch{pixel_y = -28},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/tcommsat/powercontrol) +"iX" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_y = -28},/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) "iY" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol) -"iZ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/light_switch{pixel_y = -28},/turf/simulated/floor/plating,/area/tcommsat/powercontrol) "ja" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/space) "jb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "jc" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) @@ -609,11 +608,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiecccccdcfcgcgcgcgcgcdgthagMgwgKgLgMgNgMgOgtcdcgcgcgcgcgcfcdccccieaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidibcccccdcdcdcdcdcdcdgtgtgtgtgPgQgRgtgtgtgtcdcdcdcdcdcdcdcccchHicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidibgZgZgZgZgZgZgZgZgZgZgtgtgSgTgUgtcccccccccccccccccccccchHicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiegZhchhhdhjhihkhihlgZgtgtgVgWgXgtgtbWhHhZhZhZhZhZhZhZhZicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahmgZhoiqgZiwivivivixgZgtgYiziygMhbgtgtiebWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiegZhchhhdhjhigYgFhlgZgtgtgVgWgXgtgtbWhHhZhZhZhZhZhZhZhZicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahmgZhoiqgZiwivivivixgZgthkiziygMhbgtgtiebWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahmgZiAgZgZiCiBiDiBiEgZiFheiHiGhfhfhggtieaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagGiJiIiKgZiLiBiNiMiPiOiRiQiTiShfhfhngtieaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYbYhGbYgZiViUiXiWiZiYgFhqhfhfhfhfhggtiebWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagGiJiIiKgZiLiMiMiMiPiOiRiQiTiShfhfhngtieaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYbYhGbYgZiViUiviNiWiYiXhqhfhfhfhfhggtiebWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYbYhGbYgZgZgZgZgZgZgZgthrhshshshtgtgtiebWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaeRiueRjbhZhZhZhZhZibgtgthuhvhwgtgthHicbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWbWidibgtgtgtgtgthHicbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From eea1921897b4757b46d6f65932e51e3282cd0308 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 04:41:43 +0200 Subject: [PATCH 06/62] Lets ghosts access nuclear bombs and airlock controllers --- code/game/gamemodes/nuclear/nuclearbomb.dm | 245 +++++++++--------- .../airlock_controllers.dm | 2 +- .../embedded_controller_base.dm | 3 + 3 files changed, 121 insertions(+), 129 deletions(-) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index e9752e1e65b..e38a0bb9328 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -163,13 +163,13 @@ var/bomb_set return ..() - +/obj/machinery/nuclearbomb/attack_ghost(mob/user as mob) + ui_interact(user) + /obj/machinery/nuclearbomb/attack_hand(mob/user as mob) if (src.extended) if (src.opened) - nukehack_win(user,50) - user.set_machine(src) - ui_interact(user) + ui_interact(user) else if (src.deployable) if(removal_stage < 5) src.anchored = 1 @@ -182,9 +182,6 @@ var/bomb_set src.extended = 1 return -obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob) - ui_interact(user) - /obj/machinery/nuclearbomb/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] var/uiwidth @@ -230,6 +227,7 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob) uiwidth = 420 uiheight = 440 uititle = "Nuclear Bomb Defusion" + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "nuclear_bomb.tmpl", uititle, uiwidth, uiheight) @@ -254,135 +252,127 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob) /obj/machinery/nuclearbomb/Topic(href, href_list) if(..()) - return - if (!usr.canmove || usr.stat || usr.restrained()) - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)))) - usr.set_machine(src) - if(href_list["act"]) - var/temp_wire = href_list["wire"] - if(href_list["act"] == "pulse") - if (!istype(usr.get_active_hand(), /obj/item/device/multitool)) - usr << "You need a multitool!" + return 1 + + if(href_list["act"]) + var/temp_wire = href_list["wire"] + if(href_list["act"] == "pulse") + if (!istype(usr.get_active_hand(), /obj/item/device/multitool)) + usr << "You need a multitool!" + else + if(src.wires[temp_wire]) + usr << "You can't pulse a cut wire." else - if(src.wires[temp_wire]) - usr << "You can't pulse a cut wire." - else - if(src.light_wire == temp_wire) - src.lighthack = !src.lighthack - spawn(100) src.lighthack = !src.lighthack - if(src.timing_wire == temp_wire) - if(src.timing) - explode() - if(src.safety_wire == temp_wire) - src.safety = !src.safety - spawn(100) src.safety = !src.safety - if(src.safety == 1) - visible_message("\blue The [src] quiets down.") - if(!src.lighthack) - if (src.icon_state == "nuclearbomb2") - src.icon_state = "nuclearbomb1" - else - visible_message("\blue The [src] emits a quiet whirling noise!") - if(href_list["act"] == "wire") - if (!istype(usr.get_active_hand(), /obj/item/weapon/wirecutters)) - usr << "You need wirecutters!" - else - wires[temp_wire] = !wires[temp_wire] - if(src.safety_wire == temp_wire) - if(src.timing) - explode() - if(src.timing_wire == temp_wire) - if(!src.lighthack) - if (src.icon_state == "nuclearbomb2") - src.icon_state = "nuclearbomb1" - src.timing = 0 - bomb_set = 0 if(src.light_wire == temp_wire) src.lighthack = !src.lighthack - - if (href_list["auth"]) - if (src.auth) - src.auth.loc = src.loc - src.yes_code = 0 - src.auth = null + spawn(100) src.lighthack = !src.lighthack + if(src.timing_wire == temp_wire) + if(src.timing) + explode() + if(src.safety_wire == temp_wire) + src.safety = !src.safety + spawn(100) src.safety = !src.safety + if(src.safety == 1) + visible_message("\blue The [src] quiets down.") + if(!src.lighthack) + if (src.icon_state == "nuclearbomb2") + src.icon_state = "nuclearbomb1" + else + visible_message("\blue The [src] emits a quiet whirling noise!") + if(href_list["act"] == "wire") + if (!istype(usr.get_active_hand(), /obj/item/weapon/wirecutters)) + usr << "You need wirecutters!" else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/disk/nuclear)) - usr.drop_item() - I.loc = src - src.auth = I - if (src.auth) - if (href_list["type"]) - if (href_list["type"] == "E") - if (src.code == src.r_code) - src.yes_code = 1 - src.code = null - else - src.code = "ERROR" - else - if (href_list["type"] == "R") - src.yes_code = 0 - src.code = null - else - lastentered = text("[]", href_list["type"]) - if (text2num(lastentered) == null) - var/turf/LOC = get_turf(usr) - message_admins("[key_name_admin(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: [lastentered]! ([LOC ? "JMP" : "null"])", 0) - log_admin("EXPLOIT: [key_name(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: [lastentered]!") - else - src.code += lastentered - if (length(src.code) > 5) - src.code = "ERROR" - if (src.yes_code) - if (href_list["time"]) - var/time = text2num(href_list["time"]) - src.timeleft += time - src.timeleft = min(max(round(src.timeleft), 60), 600) - if (href_list["timer"]) - if (src.timing == -1.0) - return - if (src.safety) - usr << "\red The safety is still on." - nanomanager.update_uis(src) - return - src.timing = !( src.timing ) - if (src.timing) - if(!src.lighthack) - src.icon_state = "nuclearbomb2" - if(!src.safety) - bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N - else - bomb_set = 0 - else - bomb_set = 0 - if(!src.lighthack) + wires[temp_wire] = !wires[temp_wire] + if(src.safety_wire == temp_wire) + if(src.timing) + explode() + if(src.timing_wire == temp_wire) + if(!src.lighthack) + if (src.icon_state == "nuclearbomb2") src.icon_state = "nuclearbomb1" - if (href_list["safety"]) - src.safety = !( src.safety ) - if(safety) - src.timing = 0 - bomb_set = 0 - if (href_list["anchor"]) - if(removal_stage == 5) - src.anchored = 0 - visible_message("\red \The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") - return + src.timing = 0 + bomb_set = 0 + if(src.light_wire == temp_wire) + src.lighthack = !src.lighthack - src.anchored = !( src.anchored ) - if(src.anchored) - visible_message("\red With a steely snap, bolts slide out of [src] and anchor it to the flooring.") + if (href_list["auth"]) + if (src.auth) + src.auth.loc = src.loc + src.yes_code = 0 + src.auth = null + else + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/disk/nuclear)) + usr.drop_item() + I.loc = src + src.auth = I + if (src.auth) + if (href_list["type"]) + if (href_list["type"] == "E") + if (src.code == src.r_code) + src.yes_code = 1 + src.code = null + else + src.code = "ERROR" + else + if (href_list["type"] == "R") + src.yes_code = 0 + src.code = null + else + lastentered = text("[]", href_list["type"]) + if (text2num(lastentered) == null) + var/turf/LOC = get_turf(usr) + message_admins("[key_name_admin(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: [lastentered]! ([LOC ? "JMP" : "null"])", 0) + log_admin("EXPLOIT: [key_name(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: [lastentered]!") else - visible_message("\red The anchoring bolts slide back into the depths of [src].") + src.code += lastentered + if (length(src.code) > 5) + src.code = "ERROR" + if (src.yes_code) + if (href_list["time"]) + var/time = text2num(href_list["time"]) + src.timeleft += time + src.timeleft = min(max(round(src.timeleft), 60), 600) + if (href_list["timer"]) + if (src.timing == -1.0) + nanomanager.update_uis(src) + return + if (src.safety) + usr << "\red The safety is still on." + nanomanager.update_uis(src) + return + src.timing = !( src.timing ) + if (src.timing) + if(!src.lighthack) + src.icon_state = "nuclearbomb2" + if(!src.safety) + bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N + else + bomb_set = 0 + else + bomb_set = 0 + if(!src.lighthack) + src.icon_state = "nuclearbomb1" + if (href_list["safety"]) + src.safety = !( src.safety ) + if(safety) + src.timing = 0 + bomb_set = 0 + if (href_list["anchor"]) + if(removal_stage == 5) + src.anchored = 0 + visible_message("\red \The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + nanomanager.update_uis(src) + return - src.add_fingerprint(usr) - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - nanomanager.update_uis(src) - else - return - return + src.anchored = !( src.anchored ) + if(src.anchored) + visible_message("\red With a steely snap, bolts slide out of [src] and anchor it to the flooring.") + else + visible_message("\red The anchoring bolts slide back into the depths of [src].") + nanomanager.update_uis(src) /obj/machinery/nuclearbomb/ex_act(severity) return @@ -394,7 +384,6 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob) return ..() return - #define NUKERANGE 80 /obj/machinery/nuclearbomb/proc/explode() if (src.safety) diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index fb909dee555..bf6fe4f0fe7 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -45,7 +45,7 @@ /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller/Topic(href, href_list) if(..()) - return + return 1 usr.set_machine(src) src.add_fingerprint(usr) diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index b0e0a52d948..06a5266d17e 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -26,6 +26,9 @@ update_icon() src.updateDialog() +/obj/machinery/embedded_controller/attack_ghost(mob/user as mob) + src.ui_interact(user) + /obj/machinery/embedded_controller/attack_ai(mob/user as mob) src.ui_interact(user) From 5e95ae82b4761a2da1d4afe7d32efc559899287e Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 06:26:40 +0200 Subject: [PATCH 07/62] Bluespace artillery computer update, accounts database computer update, ghost machinery interaction update --- _maps/map_files/cyberiad/cyberiad.dmm | 4 +- _maps/map_files/cyberiad/z2.dmm | 6 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 17 ++- code/game/machinery/alarm.dm | 26 +++-- code/game/machinery/computer/card.dm | 26 +++-- code/game/machinery/portable_turret.dm | 5 +- .../awaymissions/bluespaceartillery.dm | 108 +++++++++--------- code/modules/economy/ATM.dm | 4 +- code/modules/economy/Accounts.dm | 8 +- code/modules/economy/Accounts_DB.dm | 106 +++++++++-------- code/modules/economy/EFTPOS.dm | 4 +- code/modules/economy/utils.dm | 2 +- code/modules/power/apc.dm | 38 +++--- code/modules/recycling/disposal.dm | 2 +- code/modules/shuttles/shuttle_console.dm | 4 +- code/modules/shuttles/shuttles_multi.dm | 4 +- code/modules/store/store.dm | 4 +- icons/obj/computer.dmi | Bin 33581 -> 35576 bytes icons/obj/machines/particle_accelerator.dmi | Bin 143921 -> 144049 bytes nano/templates/accounts_terminal.tmpl | 2 +- nano/templates/air_alarm.tmpl | 6 +- nano/templates/bluespace_artillery.tmpl | 25 ++++ nano/templates/identification_computer.tmpl | 2 +- 23 files changed, 228 insertions(+), 175 deletions(-) create mode 100644 nano/templates/bluespace_artillery.tmpl diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 3065cfa8476..276a0b31314 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -3881,7 +3881,7 @@ "bwG" = (/obj/machinery/power/apc{dir = 1; name = "Bridge Maintenance APC"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/maintcentral) "bwH" = (/obj/effect/decal/cleanable/generic,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/port) "bwI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room) -"bwJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/account_database{anchored = 1},/obj/machinery/camera{c_tag = "Head of Personnel's Office Back Room"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/bridge/meeting_room) +"bwJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/computer/account_database{anchored = 1},/turf/simulated/floor,/area/bridge/meeting_room) "bwK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room) "bwL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/bridge/meeting_room) "bwM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/lattice,/turf/space,/area/space) @@ -3976,7 +3976,7 @@ "byx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plating,/area/maintenance/maintcentral) "byy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room) "byz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/bridge/meeting_room) -"byA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room) +"byA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Gravity Generator Room South"; dir = 8; network = list("SS13")},/turf/simulated/floor,/area/bridge/meeting_room) "byB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/bridge/meeting_room) "byC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/structure/lattice,/turf/space,/area/space) "byD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/space,/area/space) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index bb812b44229..451d434bc4b 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -1128,7 +1128,7 @@ "vJ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_centcom_dock"; pixel_y = -25; req_access_txt = "109"; tag_door = "specops_centcom_dock_inner"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "vK" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "SPECOPS"; name = "Ready Room"; pixel_y = 16; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Assault Armor"; pixel_y = -4; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "specopsoffice"; name = "Privacy Shutters"; pixel_y = 6; req_access_txt = "114"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) "vL" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"vM" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) +"vM" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/computer/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "vN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) "vO" = (/obj/machinery/telecomms/processor/preset_cent,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) "vP" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_centcom_dock_inner"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) @@ -1666,7 +1666,7 @@ "Gb" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck/syndicate,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) "Gc" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) "Gd" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{desc = "This window appears to be reinforced, it looks nearly impossible to break."; dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_end"; name = "window"; opacity = 0; tag = "icon-window5_end (WEST)"},/area/admin) -"Ge" = (/obj/machinery/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"Ge" = (/obj/machinery/computer/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gf" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gg" = (/obj/item/weapon/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) "Gh" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo/fluff/naples_1,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) @@ -1678,7 +1678,7 @@ "Gn" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Go" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gp" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"Gq" = (/obj/machinery/account_database{name = "Admin Accounts Database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) +"Gq" = (/obj/machinery/computer/account_database{name = "Admin Accounts Database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gr" = (/obj/structure/table,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gs" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) "Gt" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/syndicate,/obj/item/weapon/reagent_containers/food/drinks/cans/adminbooze,/obj/item/weapon/reagent_containers/food/drinks/cans/badminbrew,/obj/item/weapon/reagent_containers/food/drinks/cans/madminmalt,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index e38a0bb9328..741bc4769bd 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -190,8 +190,8 @@ var/bomb_set data["is_syndicate"] = is_syndicate if(!src.opened) data["hacking"] = 0 - data["auth"] = src.auth - if (src.auth) + data["auth"] = is_auth(user) + if (is_auth(user)) if (src.yes_code) data["authstatus"] = src.timing ? "Functional/Set" : "Functional" else @@ -208,7 +208,7 @@ var/bomb_set data["anchored"] = src.anchored data["yescode"] = src.yes_code data["message"] = "AUTH" - if (src.auth) + if (is_auth(user)) data["message"] = src.code if (src.yes_code) data["message"] = "*****" @@ -233,6 +233,7 @@ var/bomb_set ui = new(user, src, ui_key, "nuclear_bomb.tmpl", uititle, uiwidth, uiheight) ui.set_initial_data(data) ui.open() + ui.set_auto_update(1) /obj/machinery/nuclearbomb/verb/make_deployable() set category = "Object" @@ -250,6 +251,14 @@ var/bomb_set src.deployable = 1 return +/obj/machinery/nuclearbomb/proc/is_auth(user as mob) + if(auth) + return 1 + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 1 + else + return 0 + /obj/machinery/nuclearbomb/Topic(href, href_list) if(..()) return 1 @@ -307,7 +316,7 @@ var/bomb_set usr.drop_item() I.loc = src src.auth = I - if (src.auth) + if (is_auth(usr)) if (href_list["type"]) if (href_list["type"] == "E") if (src.code == src.r_code) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 5667a13a40d..17a2f1ebc12 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -695,7 +695,7 @@ data["danger"] = danger return data -/obj/machinery/alarm/proc/get_nano_data(mob/user) +/obj/machinery/alarm/proc/get_nano_data(mob/user, href_list) var/data[0] data["name"] = sanitize(name) data["air"] = ui_air_status() @@ -705,7 +705,7 @@ // Locked when: // Not sent from atmos console AND // Not silicon AND locked. - data["locked"] = (!(istype(user, /mob/living/silicon)) && locked) + data["locked"] = is_locked(user,href_list) data["rcon"] = rcon_setting data["target_temp"] = target_temperature - T0C data["atmos_alarm"] = alarm_area.atmosalm @@ -805,15 +805,15 @@ return thresholds /obj/machinery/alarm/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, var/master_ui = null, var/datum/topic_state/state = default_state) - var/list/data = get_nano_data(user) - + var/list/href = state.href_list(user) var/remote_connection = 0 var/remote_access = 0 - if(state) - var/list/href = state.href_list(user) + if(href) remote_connection = href["remote_connection"] // Remote connection means we're non-adjacent/connecting from another computer remote_access = href["remote_access"] // Remote access means we also have the privilege to alter the air alarm. + var/list/data = get_nano_data(user, href) + data["remote_connection"] = remote_connection data["remote_access"] = remote_access @@ -825,11 +825,23 @@ ui.set_auto_update(1) /obj/machinery/alarm/proc/is_authenticated(mob/user as mob, href_list) - if(isAI(user) || isrobot(user) || emagged || is_auth_rcon(href_list)) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 1 + else if(isAI(user) || isrobot(user) || emagged || is_auth_rcon(href_list)) return 1 else return !locked +/obj/machinery/alarm/proc/is_locked(mob/user as mob, href_list) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 0 + else if(is_auth_rcon(href_list)) + return 0 + else if(isAI(user)) + return 0 + else + return locked + /obj/machinery/alarm/proc/is_auth_rcon(href_list) if(href_list["remote_connection"] && href_list["remote_access"]) return 1 diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 62629ca59ec..f8e177a32d8 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -50,8 +50,12 @@ var/time_last_changed_position = 0 /obj/machinery/computer/card/proc/is_centcom() return istype(src, /obj/machinery/computer/card/centcom) -/obj/machinery/computer/card/proc/is_authenticated() - return scan ? check_access(scan) : 0 +/obj/machinery/computer/card/proc/is_authenticated(user as mob) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 1 + if(scan) + return check_access(scan) + return 0 /obj/machinery/computer/card/proc/get_target_rank() return modify && modify.assignment ? modify.assignment : "Unassigned" @@ -180,7 +184,7 @@ var/time_last_changed_position = 0 data["target_owner"] = modify && modify.registered_name ? modify.registered_name : "-----" data["target_rank"] = get_target_rank() data["scan_name"] = scan ? scan.name : "-----" - data["authenticated"] = is_authenticated() + data["authenticated"] = is_authenticated(user) data["has_modify"] = !!modify data["account_number"] = modify ? modify.associated_account_number : null data["centcom_access"] = is_centcom() @@ -285,7 +289,7 @@ var/time_last_changed_position = 0 if("access") if(href_list["allowed"]) - if(is_authenticated()) + if(is_authenticated(usr)) var/access_type = text2num(href_list["access_target"]) var/access_allowed = text2num(href_list["allowed"]) if(access_type in (is_centcom() ? get_all_centcom_access() : get_all_accesses())) @@ -295,11 +299,11 @@ var/time_last_changed_position = 0 if("skin") var/skin = href_list["skin_target"] - if(is_authenticated() && modify && ((skin in get_station_card_skins()) || ((skin in get_centcom_card_skins()) && is_centcom()))) + if(is_authenticated(usr) && modify && ((skin in get_station_card_skins()) || ((skin in get_centcom_card_skins()) && is_centcom()))) modify.icon_state = href_list["skin_target"] if ("assign") - if (is_authenticated() && modify) + if (is_authenticated(usr) && modify) var/t1 = href_list["assign_target"] if(t1 == "Custom") var/temp_t = sanitize(copytext(input("Enter a custom job assignment.","Assignment"),1,MAX_MESSAGE_LEN)) @@ -330,7 +334,7 @@ var/time_last_changed_position = 0 callHook("reassign_employee", list(modify)) if ("reg") - if (is_authenticated()) + if (is_authenticated(usr)) var/t2 = modify if ((modify == t2 && (in_range(src, usr) || (istype(usr, /mob/living/silicon))) && istype(loc, /turf))) var/temp_name = reject_bad_name(href_list["reg"]) @@ -341,7 +345,7 @@ var/time_last_changed_position = 0 nanomanager.update_uis(src) if ("account") - if (is_authenticated()) + if (is_authenticated(usr)) var/t2 = modify if ((modify == t2 && (in_range(src, usr) || (istype(usr, /mob/living/silicon))) && istype(loc, /turf))) var/account_num = text2num(href_list["account"]) @@ -381,7 +385,7 @@ var/time_last_changed_position = 0 P.info += " [get_access_desc(A)]" if ("terminate") - if (is_authenticated()) + if (is_authenticated(usr)) modify.assignment = "Terminated" modify.access = list() @@ -389,7 +393,7 @@ var/time_last_changed_position = 0 if("make_job_available") // MAKE ANOTHER JOB POSITION AVAILABLE FOR LATE JOINERS - if(is_authenticated()) + if(is_authenticated(usr)) var/edit_job_target = href_list["job"] var/datum/job/j = job_master.GetJob(edit_job_target) if(!j) @@ -404,7 +408,7 @@ var/time_last_changed_position = 0 if("make_job_unavailable") // MAKE JOB POSITION UNAVAILABLE FOR LATE JOINERS - if(is_authenticated()) + if(is_authenticated(usr)) var/edit_job_target = href_list["job"] var/datum/job/j = job_master.GetJob(edit_job_target) if(!j) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 5ebcb512d72..7bb074e03f4 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -174,7 +174,7 @@ var/list/turret_icons user << "There seems to be a firewall preventing you from accessing this device." return 1 - if(locked && !(isrobot(user) || isAI(user))) + if(locked && !(isrobot(user) || isAI(user) || isobserver(user))) user << "Access denied." return 1 @@ -185,6 +185,9 @@ var/list/turret_icons return ui_interact(user) + +/obj/machinery/porta_turret/attack_ghost(mob/user) + ui_interact(user) /obj/machinery/porta_turret/attack_hand(mob/user) if(isLocked(user)) diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm index 03509d38ac3..41c2d08c22b 100644 --- a/code/modules/awaymissions/bluespaceartillery.dm +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -1,15 +1,59 @@ - -/obj/machinery/artillerycontrol - var/reload = 180 +/obj/machinery/computer/artillerycontrol name = "bluespace artillery control" - icon_state = "control_boxp1" - icon = 'icons/obj/machines/particle_accelerator.dmi' - density = 1 - anchored = 1 + icon_screen = "accelerator" + icon_keyboard = "accelerator_key" + icon_state = "computer_wires" + req_access = list(access_cent_commander) + var/last_fire = 0 + var/reload_cooldown = 180 // 3 minute cooldown + + light_color = LIGHT_COLOR_LIGHTBLUE -/obj/machinery/artillerycontrol/process() - if(src.reload<180) - src.reload++ +/obj/machinery/computer/artillerycontrol/attack_ai(user as mob) + user << "Access denied." + return + +/obj/machinery/computer/artillerycontrol/attack_hand(user as mob) + ui_interact(user) + +/obj/machinery/computer/artillerycontrol/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + var/time_to_wait = round(reload_cooldown - ((world.time / 10) - last_fire), 1) + var/mins = round(time_to_wait / 60) + var/seconds = time_to_wait - (60*mins) + data["reloadtime_mins"] = mins + data["reloadtime_secs"] = (seconds < 10) ? "0[seconds]" : seconds + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + + if (!ui) + ui = new(user, src, ui_key, "bluespace_artillery.tmpl", "Bluespace Control", 400, 260) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/computer/artillerycontrol/Topic(href, href_list) + if(..()) + return 1 + + var/A + A = input("Area to jump bombard", "Open Fire", A) in teleportlocs + var/area/thearea = teleportlocs[A] + if(..() || !istype(thearea)) + return + + var/delta = (world.time / 10) - last_fire + if(reload_cooldown > delta) + return 1 + + command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.") + message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) + var/list/L = list() + for(var/turf/T in get_area_turfs(thearea.type)) + L+=T + var/loc = pick(L) + explosion(loc,2,5,11) + last_fire = world.time / 10 /obj/structure/artilleryplaceholder name = "artillery" @@ -19,47 +63,3 @@ /obj/structure/artilleryplaceholder/decorative density = 0 - -/obj/machinery/artillerycontrol/attack_hand(mob/user as mob) - user.set_machine(src) - var/dat = "Bluespace Artillery Control:
" - dat += "Locked on
" - dat += "Charge progress: [reload]/180:
" - dat += "Open Fire
" - dat += "Deployment of weapon authorized by
Nanotrasen Naval Command

Remember, friendly fire is grounds for termination of your contract and life.
" - user << browse(dat, "window=scroll") - onclose(user, "scroll") - return - -/obj/machinery/artillerycontrol/Topic(href, href_list) - ..() - if (usr.stat || usr.restrained()) - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - var/A - A = input("Area to jump bombard", "Open Fire", A) in teleportlocs - var/area/thearea = teleportlocs[A] - if (usr.stat || usr.restrained()) return - if(src.reload < 180) return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.") - message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - L+=T - var/loc = pick(L) - explosion(loc,2,5,11) - reload = 0 - -/*mob/proc/openfire() - var/A - A = input("Area to jump bombard", "Open Fire", A) in teleportlocs - var/area/thearea = teleportlocs[A] - command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.") - spawn(30) - var/list/L = list() - - for(var/turf/T in get_area_turfs(thearea.type)) - L+=T - var/loc = pick(L) - explosion(loc,2,5,11)*/ \ No newline at end of file diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index e09a3b887c5..faf598f77e9 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -23,7 +23,7 @@ log transactions anchored = 1 use_power = 1 idle_power_usage = 10 - var/obj/machinery/account_database/linked_db + var/obj/machinery/computer/account_database/linked_db var/datum/money_account/authenticated_account var/number_incorrect_tries = 0 var/previous_account_number = 0 @@ -80,7 +80,7 @@ log transactions authenticated_account.charge(-amount,null,"Credit deposit",terminal_id=machine_id,dest_name = "Terminal") /obj/machinery/atm/proc/reconnect_database() - for(var/obj/machinery/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' + for(var/obj/machinery/computer/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' if( DB.z == src.z && !(DB.stat & NOPOWER) && DB.activated ) linked_db = DB break diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm index 018ce78cd3a..9dbfb8c2d51 100644 --- a/code/modules/economy/Accounts.dm +++ b/code/modules/economy/Accounts.dm @@ -3,7 +3,7 @@ var/global/num_financial_terminals = 1 var/global/datum/money_account/station_account var/global/list/datum/money_account/department_accounts = list() var/global/next_account_number = 0 -var/global/obj/machinery/account_database/centcomm_account_db +var/global/obj/machinery/computer/account_database/centcomm_account_db var/global/datum/money_account/vendor_account var/global/list/all_money_accounts = list() @@ -57,7 +57,7 @@ var/global/list/all_money_accounts = list() //the current ingame time (hh:mm) can be obtained by calling: //worldtime2text() -/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/account_database/source_db) +/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/computer/account_database/source_db) //create a new account var/datum/money_account/M = new() @@ -336,7 +336,7 @@ var/global/list/all_money_accounts = list() src.attack_hand(usr) */ -/obj/machinery/account_database/proc/charge_to_account(var/attempt_account_number, var/source_name, var/purpose, var/terminal_id, var/amount) +/obj/machinery/computer/account_database/proc/charge_to_account(var/attempt_account_number, var/source_name, var/purpose, var/terminal_id, var/amount) if(!activated) return 0 for(var/datum/money_account/D in all_money_accounts) @@ -367,7 +367,7 @@ var/global/list/all_money_accounts = list() if( D.security_level <= security_level_passed && (!D.security_level || D.remote_access_pin == attempt_pin_number || !pin_needed) ) return D -/obj/machinery/account_database/proc/get_account(var/account_number) +/obj/machinery/computer/account_database/proc/get_account(var/account_number) for(var/datum/money_account/D in all_money_accounts) if(D.account_number == account_number) return D diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 1b798ca0d86..4c40a9ef035 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -1,9 +1,8 @@ -/obj/machinery/account_database - name = "Accounts uplink terminal" +/obj/machinery/computer/account_database + name = "Accounts Uplink Terminal" desc = "Access transaction logs, account data and all kinds of other financial records." - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" + icon_screen = "accounts" density = 1 req_one_access = list(access_hop, access_captain, access_cent_commander) var/receipt_num @@ -12,34 +11,38 @@ var/datum/money_account/detailed_account_view var/creating_new_account = 0 var/activated = 1 + + light_color = LIGHT_COLOR_GREEN - proc/get_access_level() - if (!held_card) - return 0 - if(access_cent_commander in held_card.access) - return 2 - else if(access_hop in held_card.access || access_captain in held_card.access) - return 1 +/obj/machinery/computer/account_database/proc/get_access_level(user as mob) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 2 + if (!held_card) + return 0 + if(access_cent_commander in held_card.access) + return 2 + else if(access_hop in held_card.access || access_captain in held_card.access) + return 1 - proc/create_transation(target, reason, amount) - var/datum/transaction/T = new() - T.target_name = target - T.purpose = reason - T.amount = amount - T.date = current_date_string - T.time = worldtime2text() - T.source_terminal = machine_id - return T +/obj/machinery/computer/account_database/proc/create_transation(target, reason, amount) + var/datum/transaction/T = new() + T.target_name = target + T.purpose = reason + T.amount = amount + T.date = current_date_string + T.time = worldtime2text() + T.source_terminal = machine_id + return T - proc/accounting_letterhead(report_name) - return {" -

[report_name]

-
[station_name()] Accounting Report
-
- Generated By: [held_card.registered_name], [held_card.assignment]
- "} +/obj/machinery/computer/account_database/proc/accounting_letterhead(report_name) + return {" +

[report_name]

+
[station_name()] Accounting Report
+
+ Generated By: [held_card.registered_name], [held_card.assignment]
+ "} -/obj/machinery/account_database/New() +/obj/machinery/computer/account_database/New() if(!station_account) create_station_account() @@ -56,7 +59,7 @@ machine_id = "[station_name()] Acc. DB #[num_financial_terminals++]" ..() -/obj/machinery/account_database/attackby(obj/O, mob/user, params) +/obj/machinery/computer/account_database/attackby(obj/O, mob/user, params) if(!istype(O, /obj/item/weapon/card/id)) return ..() @@ -69,18 +72,17 @@ attack_hand(user) -/obj/machinery/account_database/attack_hand(mob/user as mob) - if(stat & (NOPOWER|BROKEN)) return +/obj/machinery/computer/account_database/attack_hand(mob/user as mob) ui_interact(user) -/obj/machinery/account_database/ui_interact(mob/user, ui_key="main", var/datum/nanoui/ui = null, var/force_open = 1) +/obj/machinery/computer/account_database/ui_interact(mob/user, ui_key="main", var/datum/nanoui/ui = null, var/force_open = 1) user.set_machine(src) var/data[0] data["src"] = "\ref[src]" data["id_inserted"] = !!held_card data["id_card"] = held_card ? text("[held_card.registered_name], [held_card.assignment]") : "-----" - data["access_level"] = get_access_level() + data["access_level"] = get_access_level(user) data["machine_id"] = machine_id data["creating_new_account"] = creating_new_account data["detailed_account_view"] = !!detailed_account_view @@ -124,10 +126,29 @@ ui = new(user, src, ui_key, "accounts_terminal.tmpl", src.name, 400, 640) ui.set_initial_data(data) ui.open() - -/obj/machinery/account_database/Topic(href, href_list) + +/obj/machinery/computer/account_database/Topic(href, href_list) if(..()) return 1 + + if("insert_card") + if(held_card) + held_card.loc = src.loc + + if(ishuman(usr) && !usr.get_active_hand()) + usr.put_in_hands(held_card) + held_card = null + + else + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/card/id)) + var/obj/item/weapon/card/id/C = I + usr.drop_item() + C.loc = src + held_card = C + + if(!get_access_level(usr)) + return 1 var/datum/nanoui/ui = nanomanager.get_open_ui(usr, src, "main") @@ -167,21 +188,6 @@ ui.close() creating_new_account = 0 - if("insert_card") - if(held_card) - held_card.loc = src.loc - - if(ishuman(usr) && !usr.get_active_hand()) - usr.put_in_hands(held_card) - held_card = null - - else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = I - usr.drop_item() - C.loc = src - held_card = C if("view_account_detail") var/index = text2num(href_list["account_index"]) diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index ea56f8f28e4..efef8616f7f 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -10,7 +10,7 @@ var/transaction_amount = 0 var/transaction_purpose = "Default charge" var/access_code = 0 - var/obj/machinery/account_database/linked_db + var/obj/machinery/computer/account_database/linked_db var/datum/money_account/linked_account /obj/item/device/eftpos/New() @@ -53,7 +53,7 @@ if(!location) return - for(var/obj/machinery/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' + for(var/obj/machinery/computer/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' if(DB.z == location.z) linked_db = DB break diff --git a/code/modules/economy/utils.dm b/code/modules/economy/utils.dm index 846f1e926a4..a6997bab4f4 100644 --- a/code/modules/economy/utils.dm +++ b/code/modules/economy/utils.dm @@ -5,7 +5,7 @@ //////////////////////// /proc/get_money_account(var/account_number, var/from_z=-1) - for(var/obj/machinery/account_database/DB in world) + for(var/obj/machinery/computer/account_database/DB in world) if(from_z > -1 && DB.z != from_z) continue if((DB.stat & NOPOWER) || !DB.activated ) continue var/datum/money_account/acct = DB.get_account(account_number) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 5eca4d081fb..2fcd6c36d45 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -750,7 +750,7 @@ return var/list/data = list( - "locked" = locked, + "locked" = is_locked(user), "isOperating" = operating, "externalPower" = main_status, "powerCellStatus" = cell ? cell.percent() : null, @@ -799,7 +799,7 @@ 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 - ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 500, data["siliconUser"] ? 465 : 390) + ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 510, data["siliconUser"] ? 465 : 390) // When the UI is first opened this is the data it will use ui.set_initial_data(data) ui.open() @@ -834,25 +834,9 @@ /obj/machinery/power/apc/proc/can_use(mob/user as mob, var/loud = 0) //used by attack_hand() and Topic() - if (user.stat && !isobserver(user)) - user << "You must be conscious to use this [src]!" - return 0 - if(stat & (NOPOWER|BROKEN)) - return 0 - if(!user.client) - return 0 - if(!user.IsAdvancedToolUser()) - return 0 - if ( ! (istype(user, /mob/living/carbon/human) || \ - istype(user, /mob/living/silicon))) - user << "You don't have the dexterity to use this [src]!" - return 0 - if(user.restrained()) - user << "You must have free hands to use this [src]" - return 0 - if(user.lying) - user << "You must stand to use this [src]!" - return 0 + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 1 + autoflag = 5 if (istype(user, /mob/living/silicon)) var/mob/living/silicon/ai/AI = user @@ -886,10 +870,20 @@ return 1 /obj/machinery/power/apc/proc/is_authenticated(mob/user as mob) - if(isAI(user) || isrobot(user)) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 1 + if(isAI(user)) return 1 else return !locked + +/obj/machinery/power/apc/proc/is_locked(mob/user as mob) + if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 0 + if(isAI(user)) + return 0 + else + return locked /obj/machinery/power/apc/Topic(href, href_list, var/usingUI = 1) if(..()) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index e810847876e..4c042f04a12 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -262,7 +262,7 @@ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "disposal_bin.tmpl", "Waste Disposal Unit", 375, 250) + ui = new(user, src, ui_key, "disposal_bin.tmpl", "Waste Disposal Unit", 395, 250) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 621044a24e7..eb6ff7e1400 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -13,8 +13,8 @@ if(..(user)) return - if(!allowed(user)) - user << "\red Access Denied." + if(!allowed(user) && !isobserver(user)) + user << "Access Denied." return 1 ui_interact(user) diff --git a/code/modules/shuttles/shuttles_multi.dm b/code/modules/shuttles/shuttles_multi.dm index 09f1bce62a1..7ad8d881aa2 100644 --- a/code/modules/shuttles/shuttles_multi.dm +++ b/code/modules/shuttles/shuttles_multi.dm @@ -56,8 +56,8 @@ if(..(user)) return 1 - if(!allowed(user)) - user << "\red Access Denied." + if(!allowed(user) && !isobserver(user)) + user << "Access Denied." return 1 ui_interact(user) diff --git a/code/modules/store/store.dm b/code/modules/store/store.dm index 9f9ecc33919..f0199089704 100644 --- a/code/modules/store/store.dm +++ b/code/modules/store/store.dm @@ -22,7 +22,7 @@ var/global/datum/store/centcomm_store=new var/list/datum/storeitem/items=list() var/list/datum/storeorder/orders=list() - var/obj/machinery/account_database/linked_db + var/obj/machinery/computer/account_database/linked_db /datum/store/New() for(var/itempath in subtypesof(/datum/storeitem)) @@ -47,7 +47,7 @@ var/global/datum/store/centcomm_store=new return 1 /datum/store/proc/reconnect_database() - for(var/obj/machinery/account_database/DB in world) + for(var/obj/machinery/computer/account_database/DB in world) if((DB.z in config.station_levels)) linked_db = DB break diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index bfe2c56826d15be4c7195b2fe2d8c2e63969932e..689c78245c7c0cd2cd8ee1c5217787d10d69b62a 100644 GIT binary patch delta 13571 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 diff --git a/icons/obj/machines/particle_accelerator.dmi b/icons/obj/machines/particle_accelerator.dmi index a8b0097e73d8610389d8e55917053e1852600391..f481c5f9a93ee7eb4c485e31f1f52c94fb9a54aa 100644 GIT binary patch delta 98838 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 SDJ=v*P4TIkT#1ZX(Ek8Nk}5g? delta 98572 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 z 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 |*> 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�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 Nrkb8=m9kC5{{RDqEZ+bC diff --git a/nano/templates/accounts_terminal.tmpl b/nano/templates/accounts_terminal.tmpl index 46f6c86fd78..7397eda8ad5 100644 --- a/nano/templates/accounts_terminal.tmpl +++ b/nano/templates/accounts_terminal.tmpl @@ -11,7 +11,7 @@ ID:
- {{:helper.link(data.id_card, 'eject', {'choice' : "insert_card"}, null, data.id_inserted ? 'fixedLeftWidest' : 'fixedLeft')}} + {{:helper.link(data.id_card, 'eject', {'insert_card' : 1}, null, data.id_inserted ? 'fixedLeftWidest' : 'fixedLeft')}}
diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl index 18c44b07c86..139605ca38c 100644 --- a/nano/templates/air_alarm.tmpl +++ b/nano/templates/air_alarm.tmpl @@ -25,7 +25,7 @@ Used In File(s): /code/game/machinery/alarm.dm
Pressure:
{{:helper.string("
{1} kPa
",helper.dangerToClass(data.air.danger.pressure),helper.precisionRound(data.air.pressure,4))}}
- {{if !data.locked || (data.remote_connection && data.remote_access)}} + {{if !data.locked}} {{if data.mode == 3}} {{:helper.link("DEACTIVATE PANIC SYPHON",null,{"mode" : 1},null,'linkOn')}} {{else}} @@ -80,7 +80,7 @@ Used In File(s): /code/game/machinery/alarm.dm {{else}}
DANGER: Internals Required
{{/if}} - {{if !data.locked || (data.remote_connection && data.remote_access)}} + {{if !data.locked}} {{if data.alarmActivated}} {{:helper.link('Reset Alarm',null,{'atmos_reset':1},null,'linkOn')}} {{else}} @@ -107,7 +107,7 @@ Used In File(s): /code/game/machinery/alarm.dm
{{/if}} -{{if data.locked && !data.remote_connection && !data.remote_access}} +{{if data.locked}}
Swipe card to unlock.
{{else}}
Remember to lock with ID card after use.
diff --git a/nano/templates/bluespace_artillery.tmpl b/nano/templates/bluespace_artillery.tmpl new file mode 100644 index 00000000000..cf1fe0f471c --- /dev/null +++ b/nano/templates/bluespace_artillery.tmpl @@ -0,0 +1,25 @@ + +

Bluespace Artillery Control

+
+
Status
+
Locked on
+
+
+
Fire Cooldown
+
+ {{if data.reloadtime_mins > 0 || data.reloadtime_mins == 0 && data.reloadtime_secs > 0}} + {{:data.reloadtime_mins}}:{{:data.reloadtime_secs}} + {{else}} + Ready + {{/if}} +
+
+
+ {{:helper.link('Fire', 'alert', { 'fire' : 1 }, data.reloadtime_mins > 0 || data.reloadtime_mins == 0 && data.reloadtime_secs > 0 ? 'disabled' : '')}} +
+
+Deployment of weapon authorized by Nanotrasen Naval Command. Remember, friendly fire is grounds for termination of your contract and life. + diff --git a/nano/templates/identification_computer.tmpl b/nano/templates/identification_computer.tmpl index f6739383633..de93fd2328d 100644 --- a/nano/templates/identification_computer.tmpl +++ b/nano/templates/identification_computer.tmpl @@ -30,7 +30,7 @@ {{if data.cooldown_mins > 0 || data.cooldown_mins == 0 && data.cooldown_secs > 0}} Next change in: {{:data.cooldown_mins}}:{{:data.cooldown_secs}} {{else}} - Ready! + Ready {{/if}} From 3c32f7c111469824ba783e15200b0f0ca90516ff Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 06:30:21 +0200 Subject: [PATCH 08/62] Revert particle_accelerator.dmi changes --- icons/obj/machines/particle_accelerator.dmi | Bin 144049 -> 143921 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/machines/particle_accelerator.dmi b/icons/obj/machines/particle_accelerator.dmi index f481c5f9a93ee7eb4c485e31f1f52c94fb9a54aa..a8b0097e73d8610389d8e55917053e1852600391 100644 GIT binary patch delta 98572 zcmZ^qWmuHa*Y2Mg7&?XqX^`$xltxMfDM7lVQ@VKuM5Qq(=|;Md?rsq2M!LJNmhEiVK^=lJ=8^bzq`&MyPu@Bj=f4F^ph@3L>< z=wtq^o;Dov&xXIAd$g!a+Kp{k-6V~Z+DEbK9+FEt=H~vC+Dd~%S>azE)4{{(<1pzx z!p8@$@5(IqbbN+&Z}=-%mY(^iung}`S6t}&Se7&{cr?ZhC+@KAah$E;c@nm$h^Bx| ze#}JR*3jFR4h#G?UA}SAqJ0yZRhN`b)zvyZ_vk^EC{vJOSW)*x5s&Ox7F>(-DgSzb zb~`)AkM0ePEmMhuFJd0zl9Sd07oMBU08LO3_&hrB#TiD)(uEhSqNm8;21fn;NAM@2 zw+1Z;!1b1{>pcWxn52JDZ^H610swVLR4ku8cs+icvy^$#wVUR?IT=BhUu3eDWc;AU z5y^mMN)dQV{D%3qqP#o{*2>S%|EAxCI$IlaDH~s9B^(pC>AQjgRX}VQS^GKJgXb*b zk4n)d$`Tg42tbt&YcV!+4!OfZ7(d2(kI6#_#2=gxXeV9%Af#hrV32H!cmWpfWT3*| zKm1(s0z6SqB$$XI%YAgKh4Xc0ha}KS-o)2D3jRd@svcT79KH59P!Z@oi!P_s5Qt5r#5w!AULc_%k4mT(dE7F9l@WmC1=m^V(FULyocUhxs1eGYml(=G0DA9BPS z41T^}j@;}CAeC!9MS(onLtxX1kWOJ6wFIW4s z+vazmv5t<;C6VpOKFO5K+qZFbgOe|pTjzpTS8`T;C;4WU57c=2`Cu(OXJgjW)9OS^ zRc*f5S^!-ZYH91t)v_;d2zdHpX*1E?Cx!SH1t6Ov@>Q(=7SlYr1LAV(RtCps&mgCq z&$I)BewIkYTjJ7tB1=}((2a34j3Cb;e znRl|rROF*8w?BHY5{3UX$8dhY1M$~i*P!>u^2lpw5V`NFu1HRazQQQeB&5R7{1!nX ze*F_KB!p3rPtB>lQ?ccEt^aF6Lg-tMT{<%O%BGVHBsi8ERFBGNldjuF$N#jKOMLiL z4|F=e^6eOU+!YO6Hd7NjD>h81Dpky}pcv5~5gN*De5Rqh!mo7QC`izhRa;(fTA~vm zxks#odR}j(Vh^_J{c1AX&c`@kX20F~?iU0vH27us{44*WW6wiUz*p85RV8%bRE1jH zrF4e^bBVATtP90T%>r6y+;;56Krv^r<^#$QXq?6>-Q
QQm?7;6wdkuFAP)itrjg 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 z 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 |*> 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�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 Nrkb8=m9kC5{{RDqEZ+bC delta 98838 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 SDJ=v*P4TIkT#1ZX(Ek8Nk}5g? From 3285aadaba4683b6a94db58a837ebf48d6e40901 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 06:38:51 +0200 Subject: [PATCH 09/62] Vox heist left behind fix 2, robot checks for APC's/alarms --- code/game/gamemodes/heist/heist.dm | 2 +- code/game/machinery/alarm.dm | 4 ++-- code/modules/power/apc.dm | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 164ff065758..5f4d14740a2 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -261,7 +261,7 @@ datum/game_mode/proc/auto_declare_completion_heist() text += "
[vox.key] was [vox.name] (" if(check_return) var/obj/stack = raiders[vox] - if(get_area(stack) != locate(/area/shuttle/vox/station)) + if(get_area(stack.loc) != locate(/area/shuttle/vox/station)) text += "left behind)" continue if(vox.current) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 17a2f1ebc12..5bf735e72ad 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -837,7 +837,7 @@ return 0 else if(is_auth_rcon(href_list)) return 0 - else if(isAI(user)) + else if(isAI(user) || isrobot(user)) return 0 else return locked @@ -852,7 +852,7 @@ if(buildstage != 2) return STATUS_CLOSE - if(aidisabled && isAI(user)) + if(aidisabled && (isAI(user) || isrobot(user))) user << "AI control for \the [src] interface has been disabled." return STATUS_CLOSE diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 2fcd6c36d45..7c235022c92 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -872,7 +872,7 @@ /obj/machinery/power/apc/proc/is_authenticated(mob/user as mob) if(isobserver(user) && check_rights(R_ADMIN, 0, user)) return 1 - if(isAI(user)) + if(isAI(user) || isrobot(user)) return 1 else return !locked @@ -880,7 +880,7 @@ /obj/machinery/power/apc/proc/is_locked(mob/user as mob) if(isobserver(user) && check_rights(R_ADMIN, 0, user)) return 0 - if(isAI(user)) + if(isAI(user) || isrobot(user)) return 0 else return locked From 77892bd60b7ed7b71f7110faf5f4e419992177ac Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 06:43:24 +0200 Subject: [PATCH 10/62] Prevent bad index runtime --- code/game/machinery/alarm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 5bf735e72ad..b11edd5ae8d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -843,7 +843,7 @@ return locked /obj/machinery/alarm/proc/is_auth_rcon(href_list) - if(href_list["remote_connection"] && href_list["remote_access"]) + if(href_list && href_list["remote_connection"] && href_list["remote_access"]) return 1 else return 0 From 7c757e187087d4ad44571aa8ebd9f4233c0ee5a8 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 17:47:45 +0200 Subject: [PATCH 11/62] Communications console topic update --- _maps/map_files/cyberiad/z2.dmm | 11 +- .../game/machinery/computer/communications.dm | 148 ++++++++++-------- code/modules/admin/verbs/debug.dm | 2 +- nano/templates/comm_console.tmpl | 4 +- 4 files changed, 91 insertions(+), 74 deletions(-) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 451d434bc4b..62ac8607fc0 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -119,8 +119,8 @@ "co" = (/turf/unsimulated/wall,/area/prison/solitary) "cp" = (/turf/simulated/wall/mineral/alien,/area/xenos_station/start) "cq" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor/shutters{color = "purple"; density = 0; dir = 2; icon_state = "shutter0"; id_tag = "alienshutters"; name = "Alien Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/xenos_station/start) -"cr" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor/shutters{color = "purple"; density = 0; dir = 2; icon_state = "shutter0"; id_tag = "alienshutters"; name = "Alien Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/xenos_station/start) -"cs" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor/shutters{color = "purple"; density = 0; dir = 2; icon_state = "shutter0"; id_tag = "alienshutters"; name = "Alien Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/xenos_station/start) +"cr" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor/shutters{color = "purple"; density = 0; dir = 2; icon_state = "shutter0"; id_tag = "alienshutters"; name = "Alien Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/xenos_station/start) +"cs" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor/shutters{color = "purple"; density = 0; dir = 2; icon_state = "shutter0"; id_tag = "alienshutters"; name = "Alien Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/xenos_station/start) "ct" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert) "cu" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) "cv" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) @@ -1370,7 +1370,7 @@ "Ar" = (/obj/machinery/door/unpowered/shuttle{req_access_txt = "106"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "As" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "106"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "At" = (/obj/machinery/door/airlock/external{name = "Transport Shuttle"; opacity = 0; req_access_txt = "106"},/turf/unsimulated/floor{name = "plating"},/area/space) -"Au" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "106"; shuttle_tag = "Centcom"},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle_bay"; name = "shuttle bay controller"; pixel_x = 25; pixel_y = 0; req_access_txt = "106"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"Au" = (/obj/machinery/computer/shuttle_control{req_access = null; req_access_txt = "106"; shuttle_tag = "Centcom"},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_shuttle"; pixel_x = 25; pixel_y = 0; req_access_txt = "106"; req_one_access_txt = "0"; tag_door = "centcom_shuttle_hatch"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) "Av" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) "Aw" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/centcom/evac) "Ax" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac) @@ -1389,7 +1389,7 @@ "AK" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) "AL" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor,/area/centcom/evac) "AM" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/centcom/evac) -"AN" = (/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 = "106"; req_one_access_txt = "0"; tag_door = "admin_shuttle_bay_door"},/obj/machinery/computer/shuttle_control{req_access_txt = "106"; req_one_access_txt = "0"; shuttle_tag = "Administration"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) +"AN" = (/obj/machinery/computer/shuttle_control{req_access_txt = "106"; req_one_access_txt = "0"; shuttle_tag = "Administration"},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_port"; pixel_x = 25; pixel_y = 0; req_one_access_txt = "106"; tag_door = "admin_shuttle_hatch_port"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) "AO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/centcom/evac) "AP" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/shuttle/floor,/area/centcom/evac) "AQ" = (/obj/machinery/door/airlock/external{name = "Administration Shuttle"; opacity = 0; req_access_txt = "106"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) @@ -1805,7 +1805,7 @@ amaVbabdaYbfaTaXbbaWbeaZbgaUbcaSaTbfbebabdaXaZaYaUaWaeaqarasatauavbhaxbjbkboblbm adaYaWbgaXbcbaaTbebfaUbbaSbdaZaVbabcaUaWbgaTbbaXbdbfahbhbibjbkboblbmaDapaqarasatauavbhbiavbhbibjbmbnapaqarasatauavbhaxaLaMaYaWbgaXbcbaaTbebfaUbbaSbdaZaVbabcaUaWbgaTaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqbObqbqbqbsbPbQbPbQbPbsbIbIbIbIbIbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD alaXbfaSaTaZaWbaaUbcbdbeaVbgbbaYaWaZbdbfaSbabeaTbgbcagbmbnapaqarasataJavbhbibjbkboblbmbnasatauavatauavbhbibjbkboblbmaDaLaMaXbfaSaTaZaWbaaUbcbdbeaVbgbbaYaWaZbdbfaSbaaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqbqbRbSbqbsbTbTbTbTbTbsbUbUbUbUbVbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD aoaTbcaVbabbbfaWbdaZbgbWbXbYbWbWbfbbbgbcaVaWaUbaaSaZacbhbibjbkboblbmaDapaqarasatauavbhbibjbkboblbmbnapaqarasatauavbhaxaLaMaTbcaVbabbbfaWbdaZbgaUaYaSbeaXbfbbbgbcaVaWaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZbZbZbZbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpcabqbqbqbqbscbcccdcccebscfcgchcicfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsbLbMbMbMbNbD -abbaaZaYaWbebcbfbgbbcjbXckclcmcnbWbeaSaZaYbfbdaWaVbbaiarasatauavbhbiaybkboblbmbnapaqarasapaqarasbibjbkboblbmbnapaqaraHaLaMbaaZaYaWbebcbfbgbbaSbdaXaVaUaYbcbeaSaZaYbfaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcocococococococococococococococoaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZcpcqcscrcpbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqcabqbqctbscucccdcccvbscfcwcxcycfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD +abbaaZaYaWbebcbfbgbbcjbXckclcmcnbWbeaSaZaYbfbdaWaVbbaiarasatauavbhbiaybkboblbmbnapaqarasapaqarasbibjbkboblbmbnapaqaraHaLaMbaaZaYaWbebcbfbgbbaSbdaXaVaUaYbcbeaSaZaYbfaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcocococococococococococococococoaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZcpcqcrcscpbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqcabqbqctbscucccdcccvbscfcwcxcycfbsbxbxbJbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD aeaWbbaXbfaUaZbcaScBcCckclcmcDcDcEcFaVbbaXbcbgbfaYbeafboblbmbnapaqaraHatauavbhbibjbkbocGcHcIcJcKcLasatauavbhbibjbkboaBaLaMaWbbaXbfaUaZbccjcBcMcNcOcPcQbaaZaUaVbbaXbcaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcRcScTcocScUcocScVcocWcXcocScUcoaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZbZcpcpcYcZdacpcpbZbZaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqbEcabqbRbsbTbTbTbTbTbsdbcwcxcydbbsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD ahbfbeaTbcbdbbaZaVdcdddddedfckdgdgcFaYbeaTaZaSbcaXaUanbnapaqarasatauaKbhbibjbkboblbmbncIdhdidjdkdlavbhbibjbkboblbmbnaEaLaMbfbeaTbcbdbbcEcFdmdmdmdmdmcNdnbbbdaYbeaTaZaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcododpcodocXcododqcodocUcodocTcoaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZcpcpdadadrdadacpcpbZaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqbqbqcabqbsdsdtdsdtdsbsducwcxcydubsbxbxbxbxbxbsbybybybybybsbzbzbzbzbzbsczbMbMbMcAbD agbcaUbaaZbgbebbaYdvdededwdxdyclcldzaXaUbabbaVaZaTbdakbjbkboblbmbnapaFarasatauavbhbibjdAdBdCdDdhdEaqarasatauavbhbibjazaLaMbcaUbaaZbgcBcFdmdmdmdmdmdmdmdFcBbfaXaUbabbaMaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcocococococococococococococococoaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbZcpdadadadadadadacpbZaNaNaNaNaNaNaNaNaNaNaNaNaNbpbqdGbqbqcabsbGbHbGbHbGbsducwcxcydubsbxbJbxbJbxbsbybybybybybsbzbKbzbKbzbsczbMbMbMcAbD @@ -2055,4 +2055,3 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN "} - diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index fff7bcecb9a..0b8d46fa443 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -64,50 +64,66 @@ var/shuttle_call/shuttle_calls[0] /obj/machinery/computer/communications/New() ..() crew_announcement.newscast = 1 + +/obj/machinery/computer/communications/proc/is_authenticated(user as mob, var/message = 1) + if(authenticated == 2) + return 2 + else if(isobserver(user) && check_rights(R_ADMIN, 0, user)) + return 2 + else if(authenticated) + return 1 + else + if(message) + user << "Access denied." + return 0 /obj/machinery/computer/communications/Topic(href, href_list) if(..(href, href_list)) return 1 if ((!(src.z in config.station_levels) && !(src.z in config.admin_levels))) - usr << "\red Unable to establish a connection: \black You're too far away from the station!" + usr << "Unable to establish a connection: You're too far away from the station!" + return + + if(href_list["login"]) + var/mob/living/carbon/human/M = usr + var/obj/item/weapon/card/id/I = M.get_active_hand()||M.wear_id||M.wear_pda + if (istype(I, /obj/item/device/pda)) + var/obj/item/device/pda/pda = I + I = pda.id + if (I && istype(I)) + if(src.check_access(I)) + authenticated = 1 + if(access_captain in I.access) + authenticated = 2 + crew_announcement.announcer = GetNameAndAssignmentFromId(I) + nanomanager.update_uis(src) + return + + if(href_list["logout"]) + authenticated = 0 + crew_announcement.announcer = "" + setMenuState(usr,COMM_SCREEN_MAIN) + nanomanager.update_uis(src) return - usr.set_machine(src) + if(!is_authenticated(usr)) + return 1 - if(!href_list["operation"]) - return switch(href_list["operation"]) - // main interface if("main") setMenuState(usr,COMM_SCREEN_MAIN) - if("login") - var/mob/M = usr - var/obj/item/weapon/card/id/I = M.get_active_hand() - if (istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id - if (I && istype(I)) - if(src.check_access(I)) - authenticated = 1 - if(access_captain in I.access) - authenticated = 2 - crew_announcement.announcer = GetNameAndAssignmentFromId(I) - if("logout") - authenticated = 0 - crew_announcement.announcer = "" - setMenuState(usr,COMM_SCREEN_MAIN) - - // ALART LAVUL + if("changeseclevel") setMenuState(usr,COMM_SCREEN_SECLEVEL) if("newalertlevel") - if(issilicon(usr)) - return + if(isAI(usr) || isrobot(usr)) + usr << "Firewalls prevent you from changing the alert level." + return 1 tmp_alertlevel = text2num(href_list["level"]) - var/mob/M = usr - var/obj/item/weapon/card/id/I = M.get_active_hand() + var/mob/living/carbon/human/L = usr + var/obj/item/weapon/card/id/I = L.get_active_hand()||L.wear_id||L.wear_pda if (istype(I, /obj/item/device/pda)) var/obj/item/device/pda/pda = I I = pda.id @@ -128,20 +144,20 @@ var/shuttle_call/shuttle_calls[0] if(SEC_LEVEL_BLUE) feedback_inc("alert_comms_blue",1) tmp_alertlevel = 0 - else: - usr << "You are not authorized to do this." + else + usr << "You are not authorized to do this." tmp_alertlevel = 0 setMenuState(usr,COMM_SCREEN_MAIN) else - usr << "You need to swipe your ID." + usr << "You need to swipe your ID." if("announce") - if(src.authenticated==2) + if(is_authenticated(usr) == 2) if(message_cooldown) - usr << "Please allow at least one minute to pass between announcements" + usr << "Please allow at least one minute to pass between announcements." return var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") - if(!input || !(usr in view(1,src))) + if(!input || ..() || !(is_authenticated(usr) == 2)) return crew_announcement.Announce(input) message_cooldown = 1 @@ -149,27 +165,30 @@ var/shuttle_call/shuttle_calls[0] message_cooldown = 0 if("callshuttle") - if(src.authenticated) - var/response = alert("Are you sure you wish to call the shuttle?", "Confirm", "Yes", "No") - if(response == "Yes") - call_shuttle_proc(usr) - if(emergency_shuttle.online()) - post_status("shuttle") + var/response = alert("Are you sure you wish to call the shuttle?", "Confirm", "Yes", "No") + if(response == "Yes") + call_shuttle_proc(usr) + if(emergency_shuttle.online()) + post_status("shuttle") setMenuState(usr,COMM_SCREEN_MAIN) + if("cancelshuttle") - if(issilicon(usr)) return - if(src.authenticated) - var/response = alert("Are you sure you wish to recall the shuttle?", "Confirm", "Yes", "No") - if(response == "Yes") - cancel_call_proc(usr) - if(emergency_shuttle.online()) - post_status("shuttle") + if(isAI(usr) || isrobot(usr)) + usr << "Firewalls prevent you from recalling the shuttle." + return 1 + var/response = alert("Are you sure you wish to recall the shuttle?", "Confirm", "Yes", "No") + if(response == "Yes") + cancel_call_proc(usr) + if(emergency_shuttle.online()) + post_status("shuttle") setMenuState(usr,COMM_SCREEN_MAIN) + if("messagelist") src.currmsg = 0 if(href_list["msgid"]) setCurrentMessage(usr, text2num(href_list["msgid"])) setMenuState(usr,COMM_SCREEN_MESSAGES) + if("delmessage") if(href_list["msgid"]) src.currmsg = text2num(href_list["msgid"]) @@ -203,18 +222,18 @@ var/shuttle_call/shuttle_calls[0] if("setmsg1") stat_msg1 = input("Line 1", "Enter Message Text", stat_msg1) as text|null setMenuState(usr,COMM_SCREEN_STAT) + if("setmsg2") stat_msg2 = input("Line 2", "Enter Message Text", stat_msg2) as text|null setMenuState(usr,COMM_SCREEN_STAT) - // OMG CENTCOMM LETTERHEAD if("MessageCentcomm") - if(src.authenticated==2) + if(is_authenticated(usr) == 2) if(centcomm_message_cooldown) - usr << "Arrays recycling. Please stand by." + usr << "Arrays recycling. Please stand by." return var/input = input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") - if(!input || !(usr in view(1,src))) + if(!input || ..() || !(is_authenticated(usr) == 2)) return Centcomm_announce(input, usr) usr << "Message transmitted." @@ -227,12 +246,12 @@ var/shuttle_call/shuttle_calls[0] // OMG SYNDICATE ...LETTERHEAD if("MessageSyndicate") - if((src.authenticated==2) && (src.emagged)) + if((is_authenticated(usr) == 2) && (src.emagged)) if(centcomm_message_cooldown) usr << "Arrays recycling. Please stand by." return var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") - if(!input || !(usr in view(1,src))) + if(!input || ..() || !(is_authenticated(usr) == 2)) return Syndicate_announce(input, usr) usr << "Message transmitted." @@ -247,17 +266,18 @@ var/shuttle_call/shuttle_calls[0] src.emagged = 0 setMenuState(usr,COMM_SCREEN_MAIN) + nanomanager.update_uis(src) return 1 /obj/machinery/computer/communications/emag_act(user as mob) if(!emagged) src.emagged = 1 - user << "You scramble the communication routing circuits!" + user << "You scramble the communication routing circuits!" + nanomanager.update_uis(src) /obj/machinery/computer/communications/attack_ai(var/mob/user as mob) return src.attack_hand(user) - /obj/machinery/computer/communications/attack_hand(var/mob/user as mob) if(..(user)) return @@ -266,7 +286,7 @@ var/shuttle_call/shuttle_calls[0] return if (!(src.z in list(ZLEVEL_STATION, ZLEVEL_CENTCOMM))) - user << "\red Unable to establish a connection: \black You're too far away from the station!" + user << "Unable to establish a connection: You're too far away from the station!" return ui_interact(user) @@ -274,10 +294,10 @@ var/shuttle_call/shuttle_calls[0] /obj/machinery/computer/communications/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null) // this is the data which will be sent to the ui var/data[0] - data["is_ai"] = issilicon(user) + data["is_ai"] = isAI(user)||isrobot(user) data["menu_state"] = data["is_ai"] ? ai_menu_state : menu_state data["emagged"] = emagged - data["authenticated"] = authenticated + data["authenticated"] = is_authenticated(user, 0) data["screen"] = getMenuState(usr) data["stat_display"] = list( @@ -296,8 +316,8 @@ var/shuttle_call/shuttle_calls[0] list("alert"="biohazard", "label"="Biohazard", "desc"="Great for virus outbreaks and parties."), ) ) - data["security_level"] = security_level - data["str_security_level"] = get_security_level() + data["security_level"] = capitalize(security_level) + data["str_security_level"] = capitalize(get_security_level()) data["levels"] = list( list("id"=SEC_LEVEL_GREEN, "name"="Green"), list("id"=SEC_LEVEL_BLUE, "name"="Blue"), @@ -333,29 +353,27 @@ var/shuttle_call/shuttle_calls[0] ui.set_initial_data(data) // open the new ui window ui.open() - // auto update every Master Controller tick - ui.set_auto_update(1) /obj/machinery/computer/communications/proc/setCurrentMessage(var/mob/user,var/value) - if(issilicon(user)) + if(isAI(user) || isrobot(user)) aicurrmsg=value else currmsg=value /obj/machinery/computer/communications/proc/getCurrentMessage(var/mob/user) - if(issilicon(user)) + if(isAI(user) || isrobot(user)) return aicurrmsg else return currmsg /obj/machinery/computer/communications/proc/setMenuState(var/mob/user,var/value) - if(issilicon(user)) + if(isAI(user) || isrobot(user)) ai_menu_state=value else menu_state=value /obj/machinery/computer/communications/proc/getMenuState(var/mob/user) - if(issilicon(user)) + if(isAI(user) || isrobot(user)) return ai_menu_state else return menu_state diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 18729e36a79..eb6b02cc626 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1103,7 +1103,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.regenerate_icons() log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].") - message_admins("\blue [key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode]..", 1) + message_admins("\blue [key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode].", 1) return /client/proc/startSinglo() diff --git a/nano/templates/comm_console.tmpl b/nano/templates/comm_console.tmpl index 0cb294a7f4a..7a3914d2910 100644 --- a/nano/templates/comm_console.tmpl +++ b/nano/templates/comm_console.tmpl @@ -9,10 +9,10 @@ Used In File(s): /code/game/machinery/computers/communications.dm #define COMM_SCREEN_SECLEVEL 4 --> {{if !data.authenticated}} -
Please swipe your ID card. {{:helper.link('Log In','unlocked',{'operation':'login'},null,'fixed')}}
+
Please swipe your ID card. {{:helper.link('Log In','unlocked',{'login':1},null,'fixed')}}
{{else}} {{if !data.is_ai}} -
Please remember to {{:helper.link('Log Out','locked',{'operation':'logout'},null,'fixed')}}
+
Please remember to {{:helper.link('Log Out','locked',{'logout':1},null,'fixed')}}
{{/if}}
From d44ae234141e95ce917d7ae98b48a6c8b21e9f55 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 17:51:08 +0200 Subject: [PATCH 12/62] Hard del laptops to prevent them for disappearing --- code/modules/computer3/laptop.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/computer3/laptop.dm b/code/modules/computer3/laptop.dm index e4e3876e89f..b0789d6a740 100644 --- a/code/modules/computer3/laptop.dm +++ b/code/modules/computer3/laptop.dm @@ -49,10 +49,10 @@ if(!stored_computer) if(contents.len) for(var/obj/O in contents) - O.loc = loc + O.forceMove(loc) usr << "\The [src] crumbles to pieces." spawn(5) - qdel(src) + qdel(src) return if(!stored_computer.manipulating) @@ -65,7 +65,7 @@ spawn(5) stored_computer.manipulating = 0 - qdel(src) + qdel(src) else usr << "\red You are already opening the computer!" @@ -73,6 +73,9 @@ AltClick() if(Adjacent(usr)) open_computer() + + Destroy() + return QDEL_HINT_HARDDEL_NOW // Warning: GC'ing will cause the laptop to vanish when it next closes //Quickfix until Snapshot works out how he wants to redo power. ~Z /obj/item/device/laptop/verb/eject_id() @@ -150,12 +153,12 @@ return if(!portable) - portable=new + portable = new portable.stored_computer = src if(!manipulating) - portable.loc = loc - loc = portable + portable.forceMove(loc) + forceMove(portable) stat |= MAINT usr << "You close \the [src]." From 5f6064b6dc837bbc596c738301c092e8efb4689a Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 17:56:00 +0200 Subject: [PATCH 13/62] Do not capitalize security level number --- code/game/machinery/computer/communications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 0b8d46fa443..86d43e001a9 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -316,7 +316,7 @@ var/shuttle_call/shuttle_calls[0] list("alert"="biohazard", "label"="Biohazard", "desc"="Great for virus outbreaks and parties."), ) ) - data["security_level"] = capitalize(security_level) + data["security_level"] = security_level data["str_security_level"] = capitalize(get_security_level()) data["levels"] = list( list("id"=SEC_LEVEL_GREEN, "name"="Green"), From 2175b5d56f60508cc38a66197e151fbbf9573c39 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 18:00:34 +0200 Subject: [PATCH 14/62] Add some missing update_uis --- code/game/machinery/computer/communications.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 86d43e001a9..b7892c8170f 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -83,7 +83,7 @@ var/shuttle_call/shuttle_calls[0] if ((!(src.z in config.station_levels) && !(src.z in config.admin_levels))) usr << "Unable to establish a connection: You're too far away from the station!" - return + return 1 if(href_list["login"]) var/mob/living/carbon/human/M = usr @@ -120,6 +120,7 @@ var/shuttle_call/shuttle_calls[0] if("newalertlevel") if(isAI(usr) || isrobot(usr)) usr << "Firewalls prevent you from changing the alert level." + nanomanager.update_uis(src) return 1 tmp_alertlevel = text2num(href_list["level"]) var/mob/living/carbon/human/L = usr @@ -155,9 +156,11 @@ var/shuttle_call/shuttle_calls[0] if(is_authenticated(usr) == 2) if(message_cooldown) usr << "Please allow at least one minute to pass between announcements." + nanomanager.update_uis(src) return var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") if(!input || ..() || !(is_authenticated(usr) == 2)) + nanomanager.update_uis(src) return crew_announcement.Announce(input) message_cooldown = 1 @@ -175,6 +178,7 @@ var/shuttle_call/shuttle_calls[0] if("cancelshuttle") if(isAI(usr) || isrobot(usr)) usr << "Firewalls prevent you from recalling the shuttle." + nanomanager.update_uis(src) return 1 var/response = alert("Are you sure you wish to recall the shuttle?", "Confirm", "Yes", "No") if(response == "Yes") @@ -231,9 +235,11 @@ var/shuttle_call/shuttle_calls[0] if(is_authenticated(usr) == 2) if(centcomm_message_cooldown) usr << "Arrays recycling. Please stand by." + nanomanager.update_uis(src) return var/input = input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") if(!input || ..() || !(is_authenticated(usr) == 2)) + nanomanager.update_uis(src) return Centcomm_announce(input, usr) usr << "Message transmitted." @@ -249,9 +255,11 @@ var/shuttle_call/shuttle_calls[0] if((is_authenticated(usr) == 2) && (src.emagged)) if(centcomm_message_cooldown) usr << "Arrays recycling. Please stand by." + nanomanager.update_uis(src) return var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") if(!input || ..() || !(is_authenticated(usr) == 2)) + nanomanager.update_uis(src) return Syndicate_announce(input, usr) usr << "Message transmitted." From 72380b2aadb27d56394be7dda59d5b755f34c478 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 20:10:41 +0200 Subject: [PATCH 15/62] Update ID code in communications computer, make chem dispensers/chem masters accessible to ghosts --- code/game/machinery/computer/communications.dm | 6 ++++-- code/modules/reagents/Chemistry-Machinery.dm | 15 ++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index b7892c8170f..1b2e8b1e8fd 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -87,7 +87,8 @@ var/shuttle_call/shuttle_calls[0] if(href_list["login"]) var/mob/living/carbon/human/M = usr - var/obj/item/weapon/card/id/I = M.get_active_hand()||M.wear_id||M.wear_pda + var/obj/item/card = M.get_active_hand() + var/obj/item/weapon/card/id/I = (card && card.GetID())||M.wear_id||M.wear_pda if (istype(I, /obj/item/device/pda)) var/obj/item/device/pda/pda = I I = pda.id @@ -124,7 +125,8 @@ var/shuttle_call/shuttle_calls[0] return 1 tmp_alertlevel = text2num(href_list["level"]) var/mob/living/carbon/human/L = usr - var/obj/item/weapon/card/id/I = L.get_active_hand()||L.wear_id||L.wear_pda + var/obj/item/card = L.get_active_hand() + var/obj/item/weapon/card/id/I = (card && card.GetID())||L.wear_id||L.wear_pda if (istype(I, /obj/item/device/pda)) var/obj/item/device/pda/pda = I I = pda.id diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 08560c6011e..306faff71c0 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -155,8 +155,8 @@ ui.open() /obj/machinery/chem_dispenser/Topic(href, href_list) - if(stat & (NOPOWER|BROKEN)) - return 0 // don't update UIs attached to this object + if(..()) + return 1 if(href_list["amount"]) amount = round(text2num(href_list["amount"]), 5) // round to nearest 5 @@ -245,6 +245,9 @@ /obj/machinery/chem_dispenser/attack_ai(mob/user as mob) return src.attack_hand(user) + +/obj/machinery/chem_dispenser/attack_ghost(mob/user as mob) + return src.attack_hand(user) /obj/machinery/chem_dispenser/attack_hand(mob/user as mob) if(stat & BROKEN) @@ -444,9 +447,8 @@ return /obj/machinery/chem_master/Topic(href, href_list) - if(stat & (BROKEN|NOPOWER)) return - if(usr.stat || usr.restrained()) return - if(!in_range(src, usr)) return + if(..()) + return 1 src.add_fingerprint(usr) usr.set_machine(src) @@ -636,6 +638,9 @@ /obj/machinery/chem_master/attack_ai(mob/user as mob) return src.attack_hand(user) + +/obj/machinery/chem_master/attack_ghost(mob/user as mob) + return src.attack_hand(user) /obj/machinery/chem_master/attack_hand(mob/user as mob) if(stat & BROKEN) From 508d1315f69612238b7699f4550ec06ce86c8b4b Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 20:17:23 +0200 Subject: [PATCH 16/62] Fix flavor text encoding issues --- code/__HELPERS/text.dm | 15 +++++++++++++++ code/modules/client/preferences.dm | 2 +- code/modules/mob/living/carbon/human/emote.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 2 +- code/modules/mob/mob.dm | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 2b840e6759c..3d4cfae622c 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -339,4 +339,19 @@ proc/checkhtml(var/t) /proc/trim_strip_html_properly(var/input, var/max_length = MAX_MESSAGE_LEN) return trim(strip_html_properly(input, max_length)) + +//Used in preferences' SetFlavorText and human's set_flavor verb +//Previews a string of len or less length +/proc/TextPreview(var/string,var/len=40) + if(lentext(string) <= len) + if(!lentext(string)) + return "\[...\]" + else + return string + else + return "[copytext_preserve_html(string, 1, 37)]..." + +//alternative copytext() for encoded text, doesn't break html entities (" and other) +/proc/copytext_preserve_html(var/text, var/first, var/last) + return html_encode(copytext(html_decode(text), first, last)) \ No newline at end of file diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6c985f2a002..80b622bd20a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -337,7 +337,7 @@ datum/preferences else dat += "[flavor_text]" else - dat += "[copytext(flavor_text, 1, 37)]...
" + dat += "[TextPreview(flavor_text, 1, 37)]...
" dat += "
" var/hairname = "Hair" diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index da2f516375b..4b50ba8c2e9 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -848,4 +848,4 @@ set desc = "Sets an extended description of your character's features." set category = "IC" - flavor_text = sanitize(copytext(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1)) + flavor_text = TextPreview((input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1)) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 8f032a3147f..775bef4859c 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -241,7 +241,7 @@ set desc = "Sets an extended description of your character's features." set category = "IC" - flavor_text = sanitize(copytext(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1)) + flavor_text = sanitize(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text) /mob/living/silicon/binarycheck() return 1 diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2b94fdae71c..9cd4cb9b25f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -605,7 +605,7 @@ var/list/slot_equipment_priority = list( \ if(lentext(msg) <= 40) return "\blue [msg]" else - return "\blue [copytext(msg, 1, 37)]...
More..." + return "\blue [copytext_preserve_html(msg, 1, 37)]... More..." /mob/proc/is_dead() return stat == DEAD From 839f6656dc599aebebcaf48ae1fe27f2673dfa7e Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 20:19:27 +0200 Subject: [PATCH 17/62] Fix chemmaster menu not closing --- code/modules/reagents/Chemistry-Machinery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 306faff71c0..598db4ce6eb 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -459,7 +459,7 @@ loaded_pill_bottle.loc = src.loc loaded_pill_bottle = null else if(href_list["close"]) - usr << browse(null, "window=chemmaster") + usr << browse(null, "window=chem_master") usr.unset_machine() return From 8330a5cea9f0de1eb657d75fb05e0601cf3ab2ca Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 20:43:20 +0200 Subject: [PATCH 18/62] Add option to request nuke code to consoles (from /tg/) --- code/game/gamemodes/game_mode.dm | 9 +++++++- code/game/gamemodes/xenos/xenos.dm | 7 ------ .../game/machinery/computer/communications.dm | 22 +++++++++++++++++-- code/modules/admin/verbs/pray.dm | 17 +++++++++----- code/modules/reagents/Chemistry-Machinery.dm | 1 + nano/templates/comm_console.tmpl | 7 ++++-- 6 files changed, 46 insertions(+), 17 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index fb2168181e3..97624713327 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -562,4 +562,11 @@ proc/get_nt_opposed() if(BE_ALIEN) roletext="alien" if(BE_MUTINEER) roletext="mutineer" if(BE_BLOB) roletext="blob" - return roletext \ No newline at end of file + return roletext + +/proc/get_nuke_code() + var/nukecode = "ERROR" + for(var/obj/machinery/nuclearbomb/bomb in world) + if(bomb && bomb.r_code && bomb.z == ZLEVEL_STATION) + nukecode = bomb.r_code + return nukecode \ No newline at end of file diff --git a/code/game/gamemodes/xenos/xenos.dm b/code/game/gamemodes/xenos/xenos.dm index 74b4bea15cd..fa6390a1935 100644 --- a/code/game/gamemodes/xenos/xenos.dm +++ b/code/game/gamemodes/xenos/xenos.dm @@ -150,13 +150,6 @@ else return 0 -/datum/game_mode/xenos/proc/get_nuke_code() - var/nukecode = "ERROR" - for(var/obj/machinery/nuclearbomb/bomb in world) - if(bomb && bomb.r_code && bomb.z == ZLEVEL_STATION) - nukecode = bomb.r_code - return nukecode - /datum/game_mode/xenos/proc/xenos_alive() var/list/livingxenos = list() for(var/datum/mind/xeno in xenos) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 1b2e8b1e8fd..509082a7433 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -233,13 +233,32 @@ var/shuttle_call/shuttle_calls[0] stat_msg2 = input("Line 2", "Enter Message Text", stat_msg2) as text|null setMenuState(usr,COMM_SCREEN_STAT) + if("nukerequest") + if(is_authenticated(usr) == 2) + if(centcomm_message_cooldown) + usr << "Arrays recycling. Please stand by." + nanomanager.update_uis(src) + return + var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","") + if(!input || ..() || !(is_authenticated(usr) == 2)) + nanomanager.update_uis(src) + return + Nuke_request(input, usr) + usr << "Request sent." + log_say("[key_name(usr)] has requested the nuclear codes from Centcomm") + priority_announcement.Announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/AI/commandreport.ogg') + centcomm_message_cooldown = 1 + spawn(6000)//10 minute cooldown + centcomm_message_cooldown = 0 + setMenuState(usr,COMM_SCREEN_MAIN) + if("MessageCentcomm") if(is_authenticated(usr) == 2) if(centcomm_message_cooldown) usr << "Arrays recycling. Please stand by." nanomanager.update_uis(src) return - var/input = input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") + var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") if(!input || ..() || !(is_authenticated(usr) == 2)) nanomanager.update_uis(src) return @@ -251,7 +270,6 @@ var/shuttle_call/shuttle_calls[0] centcomm_message_cooldown = 0 setMenuState(usr,COMM_SCREEN_MAIN) - // OMG SYNDICATE ...LETTERHEAD if("MessageSyndicate") if((is_authenticated(usr) == 2) && (src.emagged)) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 5560b5438ad..2985f05aab8 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -26,7 +26,7 @@ /proc/Centcomm_announce(var/text , var/mob/Sender) var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) - msg = "\blue CENTCOMM:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RPLY): [msg]" + msg = "\blue CENTCOMM: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RPLY): [msg]" for(var/client/X in admins) if(R_EVENT & X.holder.rights) @@ -34,7 +34,7 @@ /proc/Syndicate_announce(var/text , var/mob/Sender) var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) - msg = "\blue SYNDICATE: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (REPLY): [msg]" + msg = "\blue SYNDICATE: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (REPLY): [msg]" for(var/client/X in admins) if(R_EVENT & X.holder.rights) @@ -42,7 +42,7 @@ /proc/HONK_announce(var/text , var/mob/Sender) var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) - msg = "\blue HONK:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RPLY): [msg]" + msg = "\blue HONK: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RPLY): [msg]" for(var/client/X in admins) if(R_EVENT & X.holder.rights) @@ -50,8 +50,15 @@ /proc/ERT_Announce(var/text , var/mob/Sender) var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) - msg = "\blue ERT REQUEST:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (REPLY): [msg]" + msg = "\blue ERT REQUEST: [key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (REPLY): [msg]" for(var/client/X in admins) if(R_EVENT & X.holder.rights) - X << msg \ No newline at end of file + X << msg + +/proc/Nuke_request(text , mob/Sender) + var/nuke_code = get_nuke_code() + var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) + msg = "NUKE CODE REQUEST: [key_name(Sender)] (PP) (VV) (SM) ([admin_jump_link(Sender, "holder")]) (CA) (BSA) (RPLY): [msg]" + admins << msg + admins << "The nuke code is [nuke_code]." \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 598db4ce6eb..6ffa7a03a46 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -460,6 +460,7 @@ loaded_pill_bottle = null else if(href_list["close"]) usr << browse(null, "window=chem_master") + onclose(usr, "chem_master") usr.unset_machine() return diff --git a/nano/templates/comm_console.tmpl b/nano/templates/comm_console.tmpl index 7a3914d2910..b5fe56459ff 100644 --- a/nano/templates/comm_console.tmpl +++ b/nano/templates/comm_console.tmpl @@ -41,18 +41,21 @@ Used In File(s): /code/game/machinery/computers/communications.dm
{{if data.authenticated==2}}
- {{:helper.link('Make an Announcement','alert',{'operation':'announce'})}} + {{:helper.link('Make an Announcement','info',{'operation':'announce'})}}
{{if data.emagged}} {{:helper.link('Message [UNKNOWN]','mail-closed',{'operation':'MessageSyndicate'})}}
- {{:helper.link('Reset Relays','refresh',{'operation':'MessageCentcomm'})}} + {{:helper.link('Reset Relays','refresh',{'operation':'RestoreBackup'})}} {{else}} {{:helper.link('Message CentComm','mail-closed',{'operation':'MessageCentcomm'})}} {{/if}}
+
+ {{:helper.link('Request Nuclear Authentication Codes','alert',{'operation':'nukerequest'})}} +
{{/if}}
{{:helper.link('Change Alert Level','signal-diag',{'operation':'changeseclevel'})}} From 0b3f58b5d9595844780e518e0ee82997d5fe7273 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 21:18:51 +0200 Subject: [PATCH 19/62] Add shuttle call reason --- .../emergency_shuttle_controller.dm | 10 ++++-- .../game/machinery/computer/communications.dm | 36 ++++++++++--------- code/modules/admin/verbs/randomverbs.dm | 5 ++- .../computer3/computers/communications.dm | 10 ++++-- code/modules/mob/living/silicon/ai/ai.dm | 11 +++--- 5 files changed, 44 insertions(+), 28 deletions(-) diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index 4194567ae10..7bdbb664724 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -70,8 +70,9 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle wait_for_launch = 0 //calls the shuttle for an emergency evacuation -/datum/emergency_shuttle_controller/proc/call_evac() - if(!can_call()) return 0 +/datum/emergency_shuttle_controller/proc/call_evac(var/reason) + if(!can_call()) + return 0 //set the launch timer autopilot = 1 @@ -82,7 +83,10 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle shuttle.move_time = SHUTTLE_TRANSIT_DURATION evac = 1 - emergency_shuttle_called.Announce("An emergency evacuation shuttle has been called. It will arrive in approximately [round(estimate_arrival_time()/60)] minutes.") + var/emergencytext = "An emergency evacuation shuttle has been called. It will arrive in approximately [round(estimate_arrival_time()/60)] minutes." + if(reason) + emergencytext += "\n\nReason: [reason]" + emergency_shuttle_called.Announce(emergencytext) for(var/area/A in world) if(istype(A, /area/hallway)) A.readyalert() diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 509082a7433..66c56dd196a 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -170,11 +170,14 @@ var/shuttle_call/shuttle_calls[0] message_cooldown = 0 if("callshuttle") - var/response = alert("Are you sure you wish to call the shuttle?", "Confirm", "Yes", "No") - if(response == "Yes") - call_shuttle_proc(usr) - if(emergency_shuttle.online()) - post_status("shuttle") + var/input = stripped_input(usr, "Please enter the reason for calling the shuttle.", "Shuttle Call Reason.","") as text|null + if(!input || ..() || !(is_authenticated(usr) == 2)) + nanomanager.update_uis(src) + return + + call_shuttle_proc(usr, input) + if(emergency_shuttle.online()) + post_status("shuttle") setMenuState(usr,COMM_SCREEN_MAIN) if("cancelshuttle") @@ -239,7 +242,7 @@ var/shuttle_call/shuttle_calls[0] usr << "Arrays recycling. Please stand by." nanomanager.update_uis(src) return - var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","") + var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","") as text|null if(!input || ..() || !(is_authenticated(usr) == 2)) nanomanager.update_uis(src) return @@ -258,7 +261,7 @@ var/shuttle_call/shuttle_calls[0] usr << "Arrays recycling. Please stand by." nanomanager.update_uis(src) return - var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") + var/input = stripped_input(usr, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") as text|null if(!input || ..() || !(is_authenticated(usr) == 2)) nanomanager.update_uis(src) return @@ -277,7 +280,7 @@ var/shuttle_call/shuttle_calls[0] usr << "Arrays recycling. Please stand by." nanomanager.update_uis(src) return - var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") + var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "To abort, send an empty message.", "") as text|null if(!input || ..() || !(is_authenticated(usr) == 2)) nanomanager.update_uis(src) return @@ -410,39 +413,38 @@ var/shuttle_call/shuttle_calls[0] for(var/obj/machinery/computer/prison_shuttle/PS in world) PS.allowedtocall = !(PS.allowedtocall) -/proc/call_shuttle_proc(var/mob/user) +/proc/call_shuttle_proc(var/mob/user, var/reason) if ((!( ticker ) || !emergency_shuttle.location())) return if(sent_strike_team == 1) - user << "Centcom will not allow the shuttle to be called. Consider all contracts terminated." + user << "Central Command will not allow the shuttle to be called. Consider all contracts terminated." return if(emergency_shuttle.deny_shuttle) - user << "The emergency shuttle may not be sent at this time. Please try again later." + user << "The emergency shuttle may not be sent at this time. Please try again later." return if(world.time < 6000) // Ten minute grace period to let the game get going without lolmetagaming. -- TLE - user << "The emergency shuttle is refueling. Please wait another [round((6000-world.time)/60)] minutes before trying again." + user << "The emergency shuttle is refueling. Please wait another [round((6000-world.time)/60)] minutes before trying again." return if(emergency_shuttle.going_to_centcom()) - user << "The emergency shuttle may not be called while returning to CentCom." + user << "The emergency shuttle may not be called while returning to Central Command." return if(emergency_shuttle.online()) - user << "The emergency shuttle is already on its way." + user << "The emergency shuttle is already on its way." return if(ticker.mode.name == "blob") - user << "Under directive 7-10, [station_name()] is quarantined until further notice." + user << "Under directive 7-10, [station_name()] is quarantined until further notice." return - emergency_shuttle.call_evac() + emergency_shuttle.call_evac(reason) log_game("[key_name(user)] has called the shuttle.") message_admins("[key_name_admin(user)] has called the shuttle.", 1) - return /proc/init_shift_change(var/mob/user, var/force = 0) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index feb735baef2..75eda3ea588 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -911,10 +911,13 @@ Traitors and the like can also be revived with the previous role mostly intact. choice = input("The shuttle will not be able to leave if you call it. Call anyway?") in list("Confirm", "Cancel") if(choice != "Confirm") return + + choice = input("Is this an emergency evacuation or a crew transfer?") in list("Emergency", "Crew Transfer") if (choice == "Emergency") - emergency_shuttle.call_evac() + var/reason = stripped_input(usr, "Optional: Please enter the reason for calling the shuttle.", "Shuttle Call Reason.","") as text|null + emergency_shuttle.call_evac(reason) else emergency_shuttle.call_transfer() diff --git a/code/modules/computer3/computers/communications.dm b/code/modules/computer3/computers/communications.dm index dd22bde09ec..e2595bda76a 100644 --- a/code/modules/computer3/computers/communications.dm +++ b/code/modules/computer3/computers/communications.dm @@ -129,7 +129,10 @@ if(!computer.radio.subspace) return if(authenticated) - call_shuttle_proc(usr) + var/input = stripped_input(usr, "Please enter the reason for calling the shuttle.", "Shuttle Call Reason.","") as text|null + if(!input || ..(href, href_list) || !authenticated) + return + call_shuttle_proc(usr, input) if(emergency_shuttle.online()) post_status("shuttle") state = STATE_DEFAULT @@ -236,7 +239,10 @@ if("ai-callshuttle2" in href_list) if(!computer.radio.subspace) return - call_shuttle_proc(usr) + var/input = stripped_input(usr, "Please enter the reason for calling the shuttle.", "Shuttle Call Reason.","") as text|null + if(!input || ..(href, href_list)) + return + call_shuttle_proc(usr, input) aistate = STATE_DEFAULT if("ai-messagelist" in href_list) aicurrmsg = 0 diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 7c78b5ce604..c89552719bb 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -329,20 +329,21 @@ var/list/ai_verbs_default = list( set name = "Call Emergency Shuttle" set category = "AI Commands" - if(src.stat == 2) - src << "You can't call the shuttle because you are dead!" + if(src.stat == DEAD) + src << "You can't call the shuttle because you are dead!" return if(check_unable(AI_CHECK_WIRELESS)) return - var/confirm = alert("Are you sure you want to call the shuttle?", "Confirm Shuttle Call", "Yes", "No") + var/input = stripped_input(usr, "Please enter the reason for calling the shuttle.", "Shuttle Call Reason.","") as text|null + if(!input || stat) + return if(check_unable(AI_CHECK_WIRELESS)) return - if(confirm == "Yes") - call_shuttle_proc(src) + call_shuttle_proc(src, input) // hack to display shuttle timer if(emergency_shuttle.online()) From 02082655e8bc49da4287e481df123933250497e7 Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 21:32:10 +0200 Subject: [PATCH 20/62] Parenthesis --- code/modules/mob/living/carbon/human/emote.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 4b50ba8c2e9..25be8a1152b 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -841,11 +841,11 @@ set desc = "Sets a description which will be shown when someone examines you." set category = "IC" - pose = sanitize(copytext(input(usr, "This is [src]. \He is...", "Pose", null) as text, 1, MAX_MESSAGE_LEN)) + pose = sanitize(copytext(input(usr, "This is [src]. \He is...", "Pose", null) as text, 1, MAX_MESSAGE_LEN)) /mob/living/carbon/human/verb/set_flavor() set name = "Set Flavour Text" set desc = "Sets an extended description of your character's features." set category = "IC" - flavor_text = TextPreview((input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1)) + flavor_text = TextPreview(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1) From 2d9fe38b2c49e29c93c6b4798a85414cf5726fed Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 14 Aug 2015 22:31:35 +0200 Subject: [PATCH 21/62] Flavor fixes --- code/modules/client/preferences.dm | 2 +- code/modules/mob/living/carbon/human/emote.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 80b622bd20a..46327c2cd04 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -337,7 +337,7 @@ datum/preferences else dat += "[flavor_text]" else - dat += "[TextPreview(flavor_text, 1, 37)]...
" + dat += "[TextPreview(flavor_text)]...
" dat += "
" var/hairname = "Hair" diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 25be8a1152b..5624355b161 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -848,4 +848,4 @@ set desc = "Sets an extended description of your character's features." set category = "IC" - flavor_text = TextPreview(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text, 1) + flavor_text = TextPreview(input(usr, "Please enter your new flavour text.", "Flavour text", null) as text) From f92ef5cc1cd7f52ca4d0a6fec72c13ee8a06c9b8 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 15 Aug 2015 01:39:56 +0200 Subject: [PATCH 22/62] Fix solar array areas --- _maps/map_files/cyberiad/cyberiad.dmm | 60 +++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 422689148ee..7951edba1b8 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -1369,7 +1369,7 @@ "aAq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/security/prison/cell_block/C) "aAr" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aAs" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/maintenance/fsmaint2) -"aAt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Starboard Solar APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/plating,/area/solar/auxstarboard) +"aAt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Starboard Solar APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) "aAu" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aAv" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry) "aAw" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) @@ -3662,7 +3662,7 @@ "bsv" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) "bsw" = (/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) "bsx" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bsy" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/solar/starboard) +"bsy" = (/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) "bsz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bsA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/port) "bsB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/port) @@ -5307,7 +5307,7 @@ "bYc" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "bYd" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/toxins/test_area) "bYe" = (/obj/machinery/camera{c_tag = "Research Toxins Test Chamber North"; network = list("Toxins","Research","SS13")},/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/toxins/test_area) -"bYf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) +"bYf" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bYg" = (/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock) "bYh" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/miningdock) "bYi" = (/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/wall,/area/quartermaster/miningdock) @@ -6195,9 +6195,9 @@ "cpg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab) "cph" = (/obj/machinery/chem_dispenser,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/toxins/misc_lab) "cpi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/misc_lab) -"cpj" = (/turf/simulated/wall/r_wall,/area/solar/starboard) -"cpk" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"cpl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/solar/starboard) +"cpj" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) +"cpk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"cpl" = (/obj/machinery/power/apc{dir = 8; name = "Aft Starboard Solar APC"; pixel_x = -26; pixel_y = 3},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cpm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cpn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cpo" = (/obj/machinery/power/apc{dir = 4; name = "Explosives Testing APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -6251,9 +6251,9 @@ "cqk" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/toxins/misc_lab) "cql" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/toxins/misc_lab) "cqm" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab) -"cqn" = (/obj/machinery/power/apc{dir = 8; name = "Aft Starboard Solar APC"; pixel_x = -26; pixel_y = 3},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/solar/starboard) +"cqn" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cqo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"cqp" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/solar/starboard) +"cqp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cqq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "cqr" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/toxins/test_area) "cqs" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/toxins/test_area) @@ -6284,6 +6284,7 @@ "cqR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall/r_wall,/area/medical/medbay2) "cqS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cqT" = (/obj/machinery/light{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"cqU" = (/obj/structure/stool,/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "cqV" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cqW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/wood/wings,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "cqX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) @@ -6297,9 +6298,9 @@ "crf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab) "crg" = (/obj/structure/piano,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) "crh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/research_reagents,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/toxins/misc_lab) -"cri" = (/obj/structure/stool,/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/solar/starboard) -"crj" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"crk" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/solar/starboard) +"cri" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"crj" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"crk" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "crl" = (/obj/machinery/computer/secure_data,/obj/machinery/alarm{pixel_y = 26},/turf/simulated/floor{dir = 6; icon_state = "red"},/area/bridge) "crm" = (/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) "crn" = (/obj/structure/spacepoddoor,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) @@ -6364,9 +6365,9 @@ "csu" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/mineral/plasma{amount = 5; layer = 2.9},/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/toxins/misc_lab) "csv" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/dropper/precision,/obj/item/weapon/reagent_containers/dropper/precision,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/toxins/misc_lab) "csw" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/machinery/ignition_switch{id = "testigniter"; pixel_x = 3; pixel_y = -3},/obj/machinery/door_control{id = "RnDChem"; name = "Chamber Blast Doors"; pixel_x = 3; pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab) -"csx" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/solar/starboard) -"csy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"csz" = (/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},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/solar/starboard) +"csx" = (/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},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"csy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"csz" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "csA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) "csB" = (/turf/simulated/floor/engine,/area/engine/mechanic_workshop) "csC" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) @@ -6404,12 +6405,18 @@ "cti" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ctj" = (/obj/machinery/computer/operating,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ctk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"ctl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"ctm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"ctn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cto" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "ctp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) "ctq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/wall/r_wall,/area/medical/virology) "ctr" = (/obj/structure/sign/biohazard{pixel_x = -32},/obj/effect/decal/warning_stripes/yellow,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_viro"; name = "Virology Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "cts" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/warning_stripes/yellow,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_viro"; name = "Virology Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "ctt" = (/obj/structure/sign/biohazard{pixel_x = 32},/obj/effect/decal/warning_stripes/yellow,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_viro"; name = "Virology Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"ctu" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) +"ctv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) +"ctw" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cty" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) "ctz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "ctA" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Xenobiology Access"; network = list("Research","SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/xenobiology) @@ -6423,7 +6430,6 @@ "ctI" = (/obj/machinery/light,/obj/structure/clownstatue,/turf/simulated/floor/wood,/area/clownoffice) "ctJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine{icon_state = "stage_stairs"; name = "reinforced stairs"},/area/toxins/test_chamber) "ctK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/sparker{id = "testigniter"; name = "Test Igniter"; pixel_x = -25},/turf/simulated/floor/engine,/area/toxins/test_chamber) -"ctM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/solar/starboard) "ctP" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/three_tile_ver{id_tag = "mechpodbay"; layer = 3.1; req_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) "ctQ" = (/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "mechpodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) "ctR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) @@ -6478,7 +6484,6 @@ "cuU" = (/obj/machinery/light,/obj/machinery/computer/security/telescreen{desc = "Used for watching the horrors within the test chamber."; name = "Research Monitor"; network = list("TestChamber"); pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "white"},/area/toxins/misc_lab) "cuV" = (/obj/machinery/camera{c_tag = "Research Test Chamber"; dir = 2; network = list("TestChamber","SS13","Research"); pixel_x = 0},/turf/simulated/floor/engine,/area/toxins/test_chamber) "cuW" = (/mob/living/carbon/human/monkey,/turf/simulated/floor/engine,/area/toxins/test_chamber) -"cuY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/turf/simulated/floor/plating,/area/solar/starboard) "cuZ" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/radio{pixel_y = 6},/turf/simulated/floor,/area/engine/mechanic_workshop) "cva" = (/turf/simulated/floor,/area/engine/mechanic_workshop) "cvb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "dark"},/area/engine/mechanic_workshop) @@ -6538,7 +6543,6 @@ "cwk" = (/obj/machinery/optable,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "cwl" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) "cwm" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/space) -"cwo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/solar/starboard) "cwp" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) "cwq" = (/obj/structure/table,/obj/item/pod_parts/core,/obj/item/weapon/circuitboard/mecha/pod,/obj/item/clothing/glasses/welding{pixel_y = 12},/turf/simulated/floor,/area/engine/mechanic_workshop) "cwr" = (/obj/machinery/door_control{id = "mechpod"; name = "Mechanic's Inner Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor,/area/engine/mechanic_workshop) @@ -6915,9 +6919,6 @@ "cEq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) "cEu" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/portsolar) "cEv" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cEw" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cEx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) -"cEy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cEz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cEA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cEB" = (/obj/machinery/optable{name = "Robotics Operating Table"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) @@ -6975,7 +6976,6 @@ "cFE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cFH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFI" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cFJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cFK" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) @@ -8145,13 +8145,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjTcjUcjUcjUbkzcjWcjXcjYcjZckackbckccjScdbbhtaaabmZckgckhckickjciKckkbURckmcknchBckoceTbZUbhrckpcgockqcgockrcksbneckuckvckvckvckwchMbHTbHTcjdckxckyckzckAckBckCckCckDckEckFckGckHckIckJckKcdXcdXckLckMckNckOckPaaaaaacjvckQckRckScjrckdckUckVckWckWckXbGickYckZclaclbckZckZckZclcckZckZcldcleclfclgclhclicljclkbWycllclmbWybWybWybWyclnclobWybWybWybWyclpbvWaZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaclrclsclsclsclscltcluclvclwclxclxclyclzclAceIbhtaaabmZclBclCclDclEclFclGclHclEclEclIclJclKclLclMclMclNclOcgoclPclQbneckvckvckvckvclSchMbHTbHTcjdclTclUclVclWclXclYclYclZcmacmbcmccmdcmecjdcmfcdTcmgbEDcmhckNcmickPaaaaaacjvcmjcmkcmlcjvbHUcmmcmncmncmncmncmncmnckTcmpcmqcmocmscmsbnfbnfcmscmvcmwcmxcmycmzcmAcmBcmCcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAcmAbvWcmDcmraZCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZEbUNbUNcgbcgbbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmEcmFcmGcmHcmGcmIcmJcmKcmLbRSbGWclzcmNcdbbhtaaabmZcmOcmPcmQcmRciKcmScmTcmUcmVchBckoceTcmWcmXceVcmYcmZbhrbhrbhrcndcneckvckvcnfcngchMbHTcnhcjdcnicnjcnkcnlcnlcnlcnmcnncnlcnlcnocnkcnpcnqcnrcdTcnsbEDcntckNcnuckPaaaaaacjvcnvcnwcnxcjvcnybHTcnhcnzcnzcnzcnzcnzbngbnkbnjcnzcnzaaaaaaaaaaaacjIcnDcnEcnFcmAcnGcnIcnHcnKcnJcnMcnLcnOcnNcnQcnPcoXcnRcpacmAcnScnTcnUcnVcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnXcnYbUNbYcbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaacmEcnZcoacobcocclwcodclwcoeclwcofbxgcohcoibhtaaabnlbjJbnIbjYcomciKciKconcoocopcoqcorcoscotcouceVcovcowcoxcoycozchLcoAckvckvckvcoBchMbHTbHTcoCcoCcoDcoEboQboQboQcoCbpobpobpocoLcoMcoDcoNcmfcdTcmgbEDcoOckNckOckPaaaaaacjvcoPcoQcoRcjvbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcoTcoUcoVbqlcpbcoYcoYcoZcoYcoYcoYcoYcoYcpdcpccpfcpecphcpjcpjcpkcplcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNcpmcpncpobUNbUNbWHbWHcppbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmEcpqcmGcprcmGcpsbSzbSHbSEcmKcpwclzcpxcdbccZaaaaaaaaaaaachucpycpzcpAcpAchBcpBchBcpCceTbZUcpDcpEcpFcpGcpHcpHcpHcpIcpJckvcpKckvcpLchMbHTbHTcoCcpMcpNcpOcpPcpQcpRcoCcpQcpRcpPcpScpTcpUcoNcnrcpVcnsbEDcpWckNcpXckPcnzcnzcjvcjvcjvcjvcjvcpYbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcqacqbcqccqdcpicqfcqhcpgcoYcoYcqjcoYcoYcpdcpfcpfcpfcoXcpjcqnbYfcqpcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgcqrcqsbYdbUMbUNbUNbWHbdqbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcqtcqtcqucqucqucqucquciCclzclzclzclzclzclzcqvcqwcqxcqxcqxcqxcqxchuchBchBchBchBchBchBchBcqyceTbZUcqzcqAcqBcqCcqDcqEcqFcqGcqHcqIcqJcqKcqLchMbHTbHTcoCcqMcqNcpOcpPcpPcqOcoCcqPcpPcpPcpScpOcqQcoNbEDbEDbEDcqRcqSckNcqTckPczvbHTbHTbHTbHTcqVbHTbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcqXcqYcqZbricqlcqgcqecqicoYcoYcoYcoYcqmcrhcrbcsvcsucqkcpjcricrjcrkcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgbcgbcgbcgbUMbUMbUNbUNbUNbUNbUOaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncrocrpcrqcrqcrrcrscrtcrucrvcrwcrxbrMcrzcrzcrzcrAcrBcrCcrDcrDcrEcrFcrGcrHcrIcrHcrHcrHcrGcrHcrHcrJcrKcrLcrMceTbZUcrNcrPcrOcrQceVcrRclMcrScrTcrUcrVcrWcrXcrYbHTbHTcoCcrZcsacsbcsccsdcoHcoCcoIcsdcsgcshcsbcsicoNbHTbHTbHTcsjcoOckNcoOcskbHTbHTcFLbHTbHTbHTbHTbHTcfccGOcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacslcjIcsmcjLcslcrccrecrdcuQcrfcsocsncoYcoYcsqcspcsscsrcstcpjcsxcsycszcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncsAcsBcsCcsBcsDcsEcsFcsGcsHcsIcsHcsJcsKcsKcsecsKceTcsfbZVbZVcsKcsLcsKcsKcsKcsKcsKcsKcsKcsKcsKcsKcsMcsNcsOcsPcsQcsRcsScsTcsUcsVcsWcsXcsYcsZctactbctcctdctecmnctfctgcthctictjcoJcoScoKcoCcoWcpPcoJcptcpOctocoNctpcmscmsctqctrctscttckPbnjbnjbnjbnjcnzcnzcnzbnjbnjbnjcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIctyctzctAcjIcmAcmAcmAcmAcmAcmAcuTcsncuUctBcswctCcmAcmAcpjbsyctMbsybsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmctPcsBctQctRctSctTctUctVctWctXctYctZcuacubcucctkcudcuecdqcufcdqcubcugcubcubcubcubcubcubcubcubcubcubcuhcsKcuicujcukbszbuccuncuocupcuqcurcuscutbufcuvcuwcuxcrVcdzcuycuzcuAcpPcpOcpPcpPcpucoCcpvcpPcpPcpScpOcuEcoNcuFcnzaaacuGckPcuHckPckPaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcjIcjIcjIcjIcjIcjIcjIcjIcuIcuJcuKcjIaabaabaaaaaaaabcmAcmActEcmActGctFctHcmAaaaaaabsycuYbsyaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcuZcvacvacvbcsHcvccqtcqxcvdcvecvecvfcvecvgcvecvebvYbvZcvecvebvZbvZbvZcvecvecvecvecvlcvmcvncvocvpcvqcvrcvscvtcvscvscvucvscvvbxNcvxcvycvzcrYbHTcuFcvAcvBcvCcvDcvEcvFcvGcoCcvHcvFcvIcpScvJcvKcoNcuFcnzaaacuGcvLcvMcvNckPaaaaaaaaaaaacvOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcvPcvQcvRbxWcvTcvUcvVcvWcvXcvYcvZcjIaabaaaaaaaaaaabaabcwectJcuVcxCcxBcwacweaaaaaabsycwobsyaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaacmEcnZcoacobcocclwcodclwcoeclwcofbxgcohcoibhtaaabnlbjJbnIbjYcomciKciKconcoocopcoqcorcoscotcouceVcovcowcoxcoycozchLcoAckvckvckvcoBchMbHTbHTcoCcoCcoDcoEboQboQboQcoCbpobpobpocoLcoMcoDcoNcmfcdTcmgbEDcoOckNckOckPaaaaaacjvcoPcoQcoRcjvbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcoTcoUcoVbqlcpbcoYcoYcoZcoYcoYcoYcoYcoYcpdcpccpfcpecphbsybsybYfcpjbsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNcpmcpncpobUNbUNbWHbWHcppbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmEcpqcmGcprcmGcpsbSzbSHbSEcmKcpwclzcpxcdbccZaaaaaaaaaaaachucpycpzcpAcpAchBcpBchBcpCceTbZUcpDcpEcpFcpGcpHcpHcpHcpIcpJckvcpKckvcpLchMbHTbHTcoCcpMcpNcpOcpPcpQcpRcoCcpQcpRcpPcpScpTcpUcoNcnrcpVcnsbEDcpWckNcpXckPcnzcnzcjvcjvcjvcjvcjvcpYbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcqacqbcqccqdcpicqfcqhcpgcoYcoYcqjcoYcoYcpdcpfcpfcpfcoXbsycplcpkcqnbsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgcqrcqsbYdbUMbUNbUNbWHbdqbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcqtcqtcqucqucqucqucquciCclzclzclzclzclzclzcqvcqwcqxcqxcqxcqxcqxchuchBchBchBchBchBchBchBcqyceTbZUcqzcqAcqBcqCcqDcqEcqFcqGcqHcqIcqJcqKcqLchMbHTbHTcoCcqMcqNcpOcpPcpPcqOcoCcqPcpPcpPcpScpOcqQcoNbEDbEDbEDcqRcqSckNcqTckPczvbHTbHTbHTbHTcqVbHTbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpPcqXcqYcqZbricqlcqgcqecqicoYcoYcoYcoYcqmcrhcrbcsvcsucqkbsycqUcqpcribsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgbcgbcgbcgbUMbUMbUNbUNbUNbUNbUOaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncrocrpcrqcrqcrrcrscrtcrucrvcrwcrxbrMcrzcrzcrzcrAcrBcrCcrDcrDcrEcrFcrGcrHcrIcrHcrHcrHcrGcrHcrHcrJcrKcrLcrMceTbZUcrNcrPcrOcrQceVcrRclMcrScrTcrUcrVcrWcrXcrYbHTbHTcoCcrZcsacsbcsccsdcoHcoCcoIcsdcsgcshcsbcsicoNbHTbHTbHTcsjcoOckNcoOcskbHTbHTcFLbHTbHTbHTbHTbHTcfccGOcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacslcjIcsmcjLcslcrccrecrdcuQcrfcsocsncoYcoYcsqcspcsscsrcstbsycrkcrjcsxbsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncsAcsBcsCcsBcsDcsEcsFcsGcsHcsIcsHcsJcsKcsKcsecsKceTcsfbZVbZVcsKcsLcsKcsKcsKcsKcsKcsKcsKcsKcsKcsKcsMcsNcsOcsPcsQcsRcsScsTcsUcsVcsWcsXcsYcsZctactbctcctdctecmnctfctgcthctictjcoJcoScoKcoCcoWcpPcoJcptcpOctocoNctpcmscmsctqctrctscttckPbnjbnjbnjbnjcnzcnzcnzbnjbnjbnjcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIctyctzctAcjIcmAcmAcmAcmAcmAcmAcuTcsncuUctBcswctCcmAcmAbsycszcsycszcszaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmctPcsBctQctRctSctTctUctVctWctXctYctZcuacubcucctkcudcuecdqcufcdqcubcugcubcubcubcubcubcubcubcubcubcubcuhcsKcuicujcukbszbuccuncuocupcuqcurcuscutbufcuvcuwcuxcrVcdzcuycuzcuAcpPcpOcpPcpPcpucoCcpvcpPcpPcpScpOcuEcoNcuFcnzaaacuGckPcuHckPckPaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcjIcjIcjIcjIcjIcjIcjIcjIcuIcuJcuKcjIaabaabaaaaaaaabcmAcmActEcmActGctFctHcmAaaaaaacszctlcszaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcuZcvacvacvbcsHcvccqtcqxcvdcvecvecvfcvecvgcvecvebvYbvZcvecvebvZbvZbvZcvecvecvecvecvlcvmcvncvocvpcvqcvrcvscvtcvscvscvucvscvvbxNcvxcvycvzcrYbHTcuFcvAcvBcvCcvDcvEcvFcvGcoCcvHcvFcvIcpScvJcvKcoNcuFcnzaaacuGcvLcvMcvNckPaaaaaaaaaaaacvOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcvPcvQcvRbxWcvTcvUcvVcvWcvXcvYcvZcjIaabaaaaaaaaaaabaabcwectJcuVcxCcxBcwacweaaaaaacszctmcszaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczaczaczakSakSaczakSakSakSalwakSakSaabalwawTaaaaabaabcwpcwpcwpcqtcwqcwrcwscwtcwucwvcwwcogcwybxZcwAcwBcwCcwDcwEcwFcwGcwHcwIcvecwHcwJcwKcwLcwLcwMcvecwNcwOcwPcwQbZUcwRbyfcwTcwUcwVcwWcwVcwXcwYbzncxacxbcnBcrYcrYcuFcvAcoNcoNcxdcoNcoNcxecxfcxgcxgcxgcxhcxgcxicxgcxjcnzaaacuGcxkcvMcxlckPbhsbhsbhsbhsckPckPcxpcxqcxqcxrcxqcxqcxrcxsaaaaaacjIcxtbTHcxtcxvcxwcqacxxcvWcxycxzcxycjIaaaaaaaaaaaaaaaaaacwecwbcuWcxCcxCcwccweaaaaaaaaacxJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaaaaaaaczaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaawTaaaaaaaaaaabaabcwpcqtcqtcqtcqtcqtcqtcqtcqtcxLcwybxZcxNcxOcxPcxQcxQcxQcxQcxRcxScxTcwLcxUcwLcwLcxVcwLcxWcxXcxYcxZcwQbZUcyacybcyccwUcydcyecyfcwUcygcyhcyicyjcykcnCcymcyncyocypcypcyqcyrcyscytcyucdzcdzcdzcyvbHTbHTcbRbHTcnzaaacuGcywcvMcyxcyycyzcyAcyBcyCbzLcyEbTJbzLcyEbTLbzLcyHcyIcyJaaaaaacjIcxtcxtcxtbzMcyLcyMcyNcyOcyPcyQcyRcjIaaaaaaaaaaaaaaaaaacwectKcxCczMcxCcuLcweaaaaaaaaacyXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaaaaczaaacyYcyZczaaaacyYcyZczaaaacyYcyZczaaabczbaabaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaabxYcwybxZczdcwLcxVczecwLcwLcwLczfcwLczdczdcwLcwLcwLcwLczgbzPcxXczicsKczjbZUcybcybczkcwUczlczmczncwUczoctaczpczqczrczscztcHZbHTczucbSczubHTbHTbHTcuFcZScnzbnjbnjbnjbnjbnjcnzcnzaaaczwczxczycjqczzczAcoOcoOczBbAbczDczEbAbczDczEbAbczDczEcyJaaaaabcjIcvWcvWcvWcvWczFcqaczGczHczIczJczKcjIaabaaaaaaaaaaaaaaacwecuPcuMcxCcxCcuOctDcEpaaaaaacyXaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8159,8 +8159,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaagaaaaaaaaaakSaabcyYczVczaaaacyYczVczaaabcyYczVczaaabaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaabaaaaaabxYcwycvecAWcwLcAXcAYcAZcBacBbcBacBccBacBdcBecwHcBfczdczdbzPcBgcBhcBicBjcBkcBlcBmcBncBocBpcBqcBrcBscBtcBucBvcBvcBwcBxcBycBzbBGcBBcBCcBDcBEcBFcBGcBHbBHaabaaaaaaaaaaaaaaaaaaaabaabczwcBJcBKcBLcBMcBNcoOcoOcoOcBOcoOcoOcoOcoOcoOcoOcoOcBPbBIaaaaaacjIcxtbTXcxtcBRcxwcqacBScBTcBUcBVcBWcjIcjIcjIcjIcjIaabaaaaaacwecwecwecwecweaaaaaaaaaaaacyXaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaabaaacyYczVczaaabcyYczVczaaaacyYczVczaaaaaaaaaaaaaaaaaaaaabaabaabaaaaabaaaaabaabaaaaaacxLcBZcvecCacCbcCbcCccvecvecvecvecvecvecvecvecvecvecvecvecvecCdcCecCdcCfcCdcqxbBYcChbCibChbChbCkcCmbClcBucCocCpcCqcCrcCscCtbBGcCvcCwcCxcCycCzcCAcCBbCwaabcCDcCDcCDcCDcCDaaaaaaaabcuGcCEcvMcCFcCGcCHcCIcoOcoOcCJcoOcoOcoOcoOcoOcCKcoOcCLbBIaaaaaacjIcxtcxtcxtbBBcCNcyMcCOcCPcCQcCRcCScCTcCUcCVcCWcjIaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyXaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaczakSaabaaacyYczVczaaabcyYczVczaaaacyYczVczaaabaaaaaaaaaaaaaaaaaaaaaaaaaabbCxcCYcCYcCYcCYcxLcCZcwycDacDbcDccDccDdcDecDfcDgcDgcDgcDgcDhcDicDjcDicDicDkcDkcDicDlcDmcDncDocDocDpcDqcDrcDscDtcDucDucDvcDwcDxcDycDzcDAcCscDBbBGcDCcDDcDEcDFcDGcDHcDIbCycDKcDLcDMcDNcDOcCDaaaaaacDPcDQcDRcDScDTcDRcDUcDVcDWcDXcDYcDZbzLcDYcEbcEccEdcEebCMcyJaaaaaacjIcvWcvWcvWcvWcEgcqacBScEhcEicBVcEjcEkcElcEmcEnbSIcEpaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyXaabaaaaaaaaaaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaaaaabaaaaabaabcEqaabaabaabcEqaabaaaaabcEqaabaaaaaaaaaaaaaaaaaaaaaaaabCxbCxbCxcEucEvcEwcExcEycEzcEAcDacDacEBcECcvecvecEDcEEcEEcEEcEEcEFcEGcEHcEGcEGcEGcDocDocEIcEJcEKcELcEMcDucENcDrcDucDucDucDucEOcBucEPcEQcCqcDAcCscDAbBGcDCcDDcEScETcEUcEVcEWbCUaabcEYcEZcDOcFacCDaaaaaaaaacDQcFbcFccFdcDRcFecFfcFgcFhcFiczEczDcFicFjcFkcFlczEczDcyJaaaaaacjIcvPcvQcvRbDrcAIcyMcFncFocFpcEmcFqcFrcFscFtcFucjIaabaabaagaaaaaaaaaaaaaaaaaaaaaaaaaaacyXaabaaaaaaaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaakSaabcFvcFwcFwcFxcFycFzcFzcFzcFycFzcFzcFzcFycFzcFzcFAcFwcFwcFwcFwcFwcFBcFCcFDcFEcFFcFGcFHcFIcFJceHcwycFKcDacvecvecvecZTcEDcEEcFMcFNcFOcFPbGIcFRcFScFTcFUbDtcFWcFXcFYcFZcGabDtcGccGdcDrcGecDucDucDucGfcBucGgcGgcDAcGhcGicGjcGkcGlcGmcGncGocGpcGqcGrbCycGscDLcGtcDOcDOcCDaaaaaaaabcDQcGucFccGvcDRcGwcGxcCIcGycFicGzcGAcFicGBcGCcFlcGzcGDcyJaaaaaacjIcxtbTHcxtcGEcxwcqacGFcFocGGcqacqacGHcvWcvWcvWcjIaaaaaaaaaaaaamjamjamjawTaabaabaabaabcGIaabaabaabaabaabalwamjamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaaaaabaaaaabaabcEqaabaabaabcEqaabaaaaabcEqaabaaaaaaaaaaaaaaaaaaaaaaaabCxbCxbCxcEucEvctnctvctucEzcEAcDacDacEBcECcvecvecEDcEEcEEcEEcEEcEFcEGcEHcEGcEGcEGcDocDocEIcEJcEKcELcEMcDucENcDrcDucDucDucDucEOcBucEPcEQcCqcDAcCscDAbBGcDCcDDcEScETcEUcEVcEWbCUaabcEYcEZcDOcFacCDaaaaaaaaacDQcFbcFccFdcDRcFecFfcFgcFhcFiczEczDcFicFjcFkcFlczEczDcyJaaaaaacjIcvPcvQcvRbDrcAIcyMcFncFocFpcEmcFqcFrcFscFtcFucjIaabaabaagaaaaaaaaaaaaaaaaaaaaaaaaaaacyXaabaaaaaaaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaakSaabcFvcFwcFwcFxcFycFzcFzcFzcFycFzcFzcFzcFycFzcFzcFAcFwcFwcFwcFwcFwcFBcFCcFDcFEcFFcFGctwcFIcFJceHcwycFKcDacvecvecvecZTcEDcEEcFMcFNcFOcFPbGIcFRcFScFTcFUbDtcFWcFXcFYcFZcGabDtcGccGdcDrcGecDucDucDucGfcBucGgcGgcDAcGhcGicGjcGkcGlcGmcGncGocGpcGqcGrbCycGscDLcGtcDOcDOcCDaaaaaaaabcDQcGucFccGvcDRcGwcGxcCIcGycFicGzcGAcFicGBcGCcFlcGzcGDcyJaaaaaacjIcxtbTHcxtcGEcxwcqacGFcFocGGcqacqacGHcvWcvWcvWcjIaaaaaaaaaaaaamjamjamjawTaabaabaabaabcGIaabaabaabaabaabalwamjamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaaaaabaaaaabaabcGJaabaaaaabcGJaabaaaaabcGJaabaaaaaaaaaaaaaaaaaaaaaaaabCxbCxbCxcGLcGMcGNcCYcZUceHcGPcEzcEzcEzcEzcGQcEzcFJcEEcGRcGScGTcGUbDGcGWcGXcGYcGZbEocHbcHccHdbFlcktbGPcGccENcDrcZicHjcDucDucHkcBucHlcHmcDAcHncCscHocHpbFvbFtbGBbFQbGEbGCbGEbGGaabcCDcCDcCDcCDcCDaabaabaabcHxcHycFccGvcDRcHzcHAcHBcHCcHDcHEcHFcHFcHGcHFcHHcHIcDRcHJaaaaaacjIcxtcxtcxtbDrcHKcHLcHMcHNcHOcCTcCTcCTcHPcHQcHRbGHaaaaaaaaaaaaamjaaaaabaaaaabaaaaaaaaacHTaaaaabaabaaaaaaaaaaaaamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaczaczakSaabaabcyYcHUczaaaacyYcHUczaaaacyYcHUczaaabaaaaaaaaaaaaaaaaaaaaaaabaabbCxcCYcCYcCYcCYcHWcHXcHYceHcZVceHceHcEDcIaceHcEEbYRcaecGTcajbGIcamcIhcIicIjbGRcIlcImcIncIocIpbGRcIrcIscItcIucIvcIwcIxcIycIzcIAcGjcIBcICcIDcIEcIFcIGcIHcIIcIJcIKcILcIMbGVcDKcDLcIPcIOcIOcCDaaaaaaaabcDQcIQcFccIRcDRbIxbIxbIxbIxcDRcIVcIWcIXcIYcIZcJacJbcIYbIBaaacDPcjIcjIcjIcjIcjIcJdcqacJecyMcJfcyMcJgcyMcJhcyMcJibGHaaaaaaaaaaaaamjaaacJkcJkcJkcJkcJkaabcJlaabcJkcJkcJkcJkcJkaaaamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJmaaaaaaaaacJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxKcxKcxKcxKcxKcxKcxKcxKcxKaaaaaaaaaaaaaaaaaaaaaaaacyYcHUczaaabcyYcHUczaaaacyYcHUczaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabcJncJncJncJncJncJncJncJocJncJncEEcJpcJqcGTcajbGIbICbGIbJhcJvcDocJwcJxcFZcJycJzcDocJAcDucDrcJBcJCcJDcIxcJEcJFcJGcJHcJIcJJcJKcJHcJLcJMcJNcJOcDAcJPcJQcJRbJCaabcEYcJUcJTcJVcCDaaaaaaaaacDQcDRcJWcJXcDRcJYcJZcKacKbciIcFccKdcKecIYbJEcKgcKhcKibIBaabaaaaaaaaaaaaaaacjIcKkcKlcKmcKncKocKpcKqcKrcKocKpcKscjIaaaaaaaaaaaaamjaabcKtcKucKucKucKucKvcKwcKxcKycKycKycKycKzaabamjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJmcJmcJmcJmcJmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From ca921216fe08eb9bbc31e3c43cca335d92917b04 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Fri, 14 Aug 2015 18:18:57 -0700 Subject: [PATCH 23/62] New proc to replace world.log <<, log_to_dd() This commit changes every 'world.log <<' message with a loggable proc- log_to_dd(). This is adjustable in the config; If LOG_WORLD_OUTPUT is present, all things sent to world.log will show up in the standard /data/logs/ logs. These logs will contain the following (in order): Timestamp "DD_OUTPUT:" The message. The config option for this, by default, is turned off. --- code/__DEFINES/btime.dm | 4 +- code/__HELPERS/game.dm | 4 +- code/__HELPERS/lists.dm | 9 ++-- code/__HELPERS/logging.dm | 11 +++-- code/__HELPERS/type2type.dm | 2 +- code/_hooks/hooks.dm | 6 +-- .../ProcessScheduler/core/process.dm | 4 +- code/controllers/configuration.dm | 8 +++- code/datums/mind.dm | 2 +- code/game/asteroid.dm | 2 +- code/game/gamemodes/events.dm | 2 +- code/game/gamemodes/traitor/traitor.dm | 6 +-- code/game/gamemodes/vampire/vampire.dm | 6 +-- code/game/gamemodes/vampire/vampire_powers.dm | 4 +- code/game/machinery/camera/camera.dm | 2 +- code/game/machinery/telecomms/broadcaster.dm | 2 +- code/game/objects/effects/effect_system.dm | 2 +- code/game/objects/explosion.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 2 +- code/game/supplyshuttle.dm | 4 +- code/modules/DetectiveWork/detective_work.dm | 10 ++-- code/modules/admin/IsBanned.dm | 2 +- code/modules/admin/admin_ranks.dm | 4 +- code/modules/admin/banappearance.dm | 2 +- code/modules/admin/banjob.dm | 2 +- code/modules/admin/verbs/modifyvariables.dm | 2 +- .../awaymissions/maploader/swapmaps.dm | 12 ++--- code/modules/awaymissions/zlevel.dm | 2 +- code/modules/client/client procs.dm | 2 +- code/modules/events/prison_break.dm | 4 +- .../garbage collection/garbage_collector.dm | 2 +- code/modules/mob/living/carbon/human/death.dm | 2 +- .../modules/mob/living/silicon/robot/wires.dm | 2 +- code/modules/nano/nanomapgen.dm | 46 +++++++++---------- code/modules/power/power.dm | 4 +- code/world.dm | 18 ++++---- config/example/config.txt | 3 ++ 37 files changed, 107 insertions(+), 96 deletions(-) diff --git a/code/__DEFINES/btime.dm b/code/__DEFINES/btime.dm index a80446d441c..33d5def1deb 100644 --- a/code/__DEFINES/btime.dm +++ b/code/__DEFINES/btime.dm @@ -10,8 +10,8 @@ var/global/__btime__libName = "btime.[world.system_type==MS_WINDOWS?"dll":"so"]" // This will always return 1 unless the btime library cannot be accessed if(TimeOfHour || 1) return 1 catch(var/exception/e) - world.log << "PRECISE_TIMER_AVAILABLE is defined in btime.dm, but calling the btime library failed: [e]" - world.log << "This is a fatal error. The world will now shut down." + log_to_dd("PRECISE_TIMER_AVAILABLE is defined in btime.dm, but calling the btime library failed: [e]") + log_to_dd("This is a fatal error. The world will now shut down.") del(world) #else #define TimeOfHour (world.timeofday % 36000) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index ff2ac44ffe2..49d3e68c031 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -137,7 +137,7 @@ if(sight_check && !isInSight(A, O)) continue L |= M - //world.log << "[recursion_limit] = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])" + //log_to_dd("[recursion_limit] = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])") else if(include_radio && istype(A, /obj/item/device/radio)) if(sight_check && !isInSight(A, O)) @@ -167,7 +167,7 @@ var/mob/M = A if(M.client) hear += M - //world.log << "Start = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])" + //log_to_dd("Start = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])") else if(istype(A, /obj/item/device/radio)) hear += A diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index c0b2d3af292..5f4be64c9db 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -370,7 +370,7 @@ //Don't use this on lists larger than half a dozen or so /proc/insertion_sort_numeric_list_ascending(var/list/L) - //world.log << "ascending len input: [L.len]" + //log_to_dd("ascending len input: [L.len]") var/list/out = list(pop(L)) for(var/entry in L) if(isnum(entry)) @@ -383,13 +383,13 @@ if(!success) out.Add(entry) - //world.log << " output: [out.len]" + //log_to_dd(" output: [out.len]") return out /proc/insertion_sort_numeric_list_descending(var/list/L) - //world.log << "descending len input: [L.len]" + //log_to_dd("descending len input: [L.len]") var/list/out = insertion_sort_numeric_list_ascending(L) - //world.log << " output: [out.len]" + //log_to_dd(" output: [out.len]") return reverselist(out) /proc/dd_sortedObjectList(var/list/L, var/cache=list()) @@ -583,4 +583,3 @@ proc/dd_sortedObjectList(list/incoming) /datum/alarm/dd_SortValue() return "[sanitize(last_name)]" - \ No newline at end of file diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm index ac569991aa7..fd07b20e641 100644 --- a/code/__HELPERS/logging.dm +++ b/code/__HELPERS/logging.dm @@ -8,16 +8,16 @@ /proc/error(msg) - world.log << "## ERROR: [msg]" + log_to_dd("## ERROR: [msg]") #define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [src] usr: [usr].") //print a warning message to world.log /proc/warning(msg) - world.log << "## WARNING: [msg]" + log_to_dd("## WARNING: [msg]") //print a testing-mode debug message to world.log /proc/testing(msg) - world.log << "## TESTING: [msg]" + log_to_dd("## TESTING: [msg]") /proc/log_admin(text) admin_log.Add(text) @@ -80,3 +80,8 @@ /proc/log_misc(text) diary << "\[[time_stamp()]]MISC: [text][log_end]" + +/proc/log_to_dd(text) + world.log << text //this comes before the config check because it can't possibly runtime + if(config.log_world_output) + diary << "\[[time_stamp()]]DD_OUTPUT: [text][log_end]" \ No newline at end of file diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index bac5959d630..1ef5f60488e 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -248,7 +248,7 @@ proc/tg_text2list(text, glue=",", assocglue=";") if(4.0) return EAST if(8.0) return WEST else - world.log << "UNKNOWN DIRECTION: [direction]" + log_to_dd("UNKNOWN DIRECTION: [direction]") /proc/dir2text(direction) switch(direction) diff --git a/code/_hooks/hooks.dm b/code/_hooks/hooks.dm index 07f4bfd0618..b78526bfc2b 100644 --- a/code/_hooks/hooks.dm +++ b/code/_hooks/hooks.dm @@ -32,21 +32,21 @@ var/global/list/hooks = list() for (var/hook_path in typesof(/hook)) var/hook/hook = new hook_path hooks[hook.name] = hook -// world.log << "Found hook: " + hook.name +// log_to_dd("Found hook: " + hook.name) for (var/hook_path in typesof(/hook_handler)) var/hook_handler/hook_handler = new hook_path for (var/name in hooks) if (hascall(hook_handler, "On" + name)) var/hook/hook = hooks[name] hook.handlers += hook_handler -// world.log << "Found hook handler for: " + name +// log_to_dd("Found hook handler for: " + name) for (var/hook/hook in hooks) hook.Setup() /proc/CallHook(var/name as text, var/list/args) var/hook/hook = hooks[name] if (!hook) - //world.log << "WARNING: Hook with name " + name + " does not exist" + //log_to_dd("WARNING: Hook with name " + name + " does not exist") return if (hook.Called(args)) return diff --git a/code/controllers/ProcessScheduler/core/process.dm b/code/controllers/ProcessScheduler/core/process.dm index c09b5730b69..eb6350a73b6 100644 --- a/code/controllers/ProcessScheduler/core/process.dm +++ b/code/controllers/ProcessScheduler/core/process.dm @@ -360,9 +360,9 @@ if(istype(thrower, /atom)) var/atom/A = thrower ptext += " ([A]) ([A.x],[A.y],[A.z])" - world.log << "\[[time_stamp()]\] Process [name] caught exception[ptext]: [etext]" + log_to_dd("\[[time_stamp()]\] Process [name] caught exception[ptext]: [etext]") if(exceptions[eid] >= 10) - world.log << "This exception will now be ignored for ten minutes." + log_to_dd("This exception will now be ignored for ten minutes.") spawn(6000) exceptions[eid] = 0 diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index c727a275a0b..cd3c5878241 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -17,6 +17,7 @@ var/log_adminchat = 0 // log admin chat messages var/log_adminwarn = 0 // log warnings admins get about bomb construction and such var/log_pda = 0 // log pda messages + var/log_world_output = 0 // log world.log << messages var/log_runtimes = 0 // Logs all runtimes. var/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits var/log_runtime = 0 // logs world.log to a file @@ -159,7 +160,7 @@ var/allow_holidays = 0 var/player_overflow_cap = 0 //number of players before the server starts rerouting var/list/overflow_whitelist = list() //whitelist for overflow - + var/disable_away_missions = 0 // disable away missions /datum/configuration/New() @@ -267,6 +268,9 @@ if ("log_pda") config.log_pda = 1 + if ("log_world_output") + config.log_world_output = 1 + if ("log_hrefs") config.log_hrefs = 1 @@ -518,7 +522,7 @@ if("overflow_server_url") config.overflow_server_url = value - + if("disable_away_missions") config.disable_away_missions = 1 diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 864a0f0d6b0..81cdb93fd9a 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -71,7 +71,7 @@ datum/mind proc/transfer_to(mob/living/new_character) if(!istype(new_character)) - world.log << "## DEBUG: transfer_to(): Some idiot has tried to transfer_to() a non mob/living mob. Please inform Carn" + log_to_dd("## DEBUG: transfer_to(): Some idiot has tried to transfer_to() a non mob/living mob. Please inform Carn") if(current) //remove ourself from our old body's mind variable current.mind = null diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm index 4fa3a5358cd..88ff95833ad 100644 --- a/code/game/asteroid.dm +++ b/code/game/asteroid.dm @@ -203,6 +203,6 @@ var/global/max_secret_rooms = 6 new garbage(T) areapoints -= 5 emptyturfs -= T - //world.log << "The [theme] themed [T.loc] has been created!" + //log_to_dd("The [theme] themed [T.loc] has been created!") return 1 \ No newline at end of file diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 80fc51c35ae..aaa06ccf403 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -96,7 +96,7 @@ sleep(150) command_announcement.Announce("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert") else - world.log << "ERROR: Could not initate grey-tide virus. Unable find prison or brig area." + log_to_dd("ERROR: Could not initate grey-tide virus. Unable find prison or brig area.") /proc/carp_migration() // -- Darem for(var/obj/effect/landmark/C in landmarks_list) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index ae4e41babed..11dbb239be3 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -374,15 +374,15 @@ if(t_mind.current.client) for(var/image/I in t_mind.current.client.images) if((I.icon_state == "greytide" || I.icon_state == "greytide_head") && I.loc == traitor_mind.current) - //world.log << "deleting [traitor_mind] overlay" + //log_to_dd("deleting [traitor_mind] overlay") qdel(I) if(head) - //world.log << "found [head.name]" + //log_to_dd("found [head.name]") if(head.current) if(head.current.client) for(var/image/I in head.current.client.images) if((I.icon_state == "greytide" || I.icon_state == "greytide_head") && I.loc == traitor_mind.current) - //world.log << "deleting [traitor_mind] overlay" + //log_to_dd("deleting [traitor_mind] overlay") qdel(I) if(traitor_mind.current) if(traitor_mind.current.client) diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 921f50dce9d..13507d847cb 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -416,15 +416,15 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha if(t_mind.current.client) for(var/image/I in t_mind.current.client.images) if((I.icon_state == "vampthrall" || I.icon_state == "vampire") && I.loc == vampire_mind.current) - //world.log << "deleting [vampire_mind] overlay" + //log_to_dd("deleting [vampire_mind] overlay") qdel(I) if(head) - //world.log << "found [head.name]" + //log_to_dd("found [head.name]") if(head.current) if(head.current.client) for(var/image/I in head.current.client.images) if((I.icon_state == "vampthrall" || I.icon_state == "vampire") && I.loc == vampire_mind.current) - //world.log << "deleting [vampire_mind] overlay" + //log_to_dd("deleting [vampire_mind] overlay") qdel(I) if(vampire_mind.current) if(vampire_mind.current.client) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index eff70300720..03d0c002c78 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -11,7 +11,7 @@ var/datum/vampire/vampire = src.mind.vampire if(!vampire) - world.log << "[src] has vampire verbs but isn't a vampire." + log_to_dd("[src] has vampire verbs but isn't a vampire.") return 0 var/fullpower = (VAMP_FULL in vampire.powers) @@ -300,7 +300,7 @@ enthrall_safe = 1 break if(!C) - world.log << "something bad happened on enthralling a mob src is [src] [src.key] \ref[src]" + log_to_dd("something bad happened on enthralling a mob src is [src] [src.key] \ref[src]") return 0 if(!C.mind) src << "\red [C.name]'s mind is not there for you to enthrall." diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 5ed58c833ca..c08ae986c6d 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -43,7 +43,7 @@ for(var/obj/machinery/camera/C in cameranet.cameras) var/list/tempnetwork = C.network&src.network if(C != src && C.c_tag == src.c_tag && tempnetwork.len) - world.log << "[src.c_tag] [src.x] [src.y] [src.z] conflicts with [C.c_tag] [C.x] [C.y] [C.z]" + log_to_dd("[src.c_tag] [src.x] [src.y] [src.z] conflicts with [C.c_tag] [C.x] [C.y] [C.z]") */ ..() diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 7823dabea92..85ec4928a0c 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -637,7 +637,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if(do_sleep) sleep(rand(10,25)) - //world.log << "Level: [signal.data["level"]] - Done: [signal.data["done"]]" + //log_to_dd("Level: [signal.data["level"]] - Done: [signal.data["done"]]") return signal diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 1d25b822d9b..6d01d970b31 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -1226,7 +1226,7 @@ steam.start() -- spawns the effect var/r = rand(0,255) var/g = rand(0,255) var/b = rand(0,255) - world.log << "Colour , [r],[g],[b]" + log_to_dd("Colour , [r],[g],[b]") I.Blend(rgb(r,g,b),ICON_MULTIPLY) src.icon = I playsound(src.loc, "sparks", 100, 1) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 735b006d75e..74919873a29 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -144,7 +144,7 @@ var/timeofhour = TimeOfHour var/took = round((start <= timeofhour) ? ((timeofhour-start)/10) : ((timeofhour-(start-36000))/10), 0.01) //You need to press the DebugGame verb to see these now....they were getting annoying and we've collected a fair bit of data. Just -test- changes to explosion code using this please so we can compare - if(Debug2) world.log << "## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [took] seconds." + if(Debug2) log_to_dd("## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [took] seconds.") //Machines which report explosions. for(var/i,i<=doppler_arrays.len,i++) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 7aafc777268..62498009f0b 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -60,7 +60,7 @@ frequency = sanitize_frequency(frequency, maxf) // The max freq is higher than a regular headset to decrease the chance of people listening in, if you use the higher channels. else if (frequency < 1441 || frequency > maxf) - //world.log << "[src] ([type]) has a frequency of [frequency], sanitizing." + //log_to_dd("[src] ([type]) has a frequency of [frequency], sanitizing.") frequency = sanitize_frequency(frequency, maxf) set_frequency(frequency) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 1abfa6cfb31..d40539cdbf7 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -530,11 +530,11 @@ var/list/mechtoys = list( /obj/machinery/computer/supplycomp/Topic(href, href_list) if(!supply_controller) - world.log << "## ERROR: Eek. The supply_controller controller datum is missing somehow." + log_to_dd("## ERROR: Eek. The supply_controller controller datum is missing somehow.") return var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle if (!shuttle) - world.log << "## ERROR: Eek. The supply/shuttle datum is missing somehow." + log_to_dd("## ERROR: Eek. The supply/shuttle datum is missing somehow.") return if(..()) return diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/DetectiveWork/detective_work.dm index 93c94aebf8e..01267f2fb08 100644 --- a/code/modules/DetectiveWork/detective_work.dm +++ b/code/modules/DetectiveWork/detective_work.dm @@ -17,19 +17,19 @@ atom/proc/add_fibers(mob/living/carbon/human/M) if(M.wear_suit) fibertext = "Material from \a [M.wear_suit]." if(prob(10*item_multiplier) && !(fibertext in suit_fibers)) - //world.log << "Added fibertext: [fibertext]" + //log_to_dd("Added fibertext: [fibertext]") suit_fibers += fibertext if(!(M.wear_suit.body_parts_covered & UPPER_TORSO)) if(M.w_uniform) fibertext = "Fibers from \a [M.w_uniform]." if(prob(12*item_multiplier) && !(fibertext in suit_fibers)) //Wearing a suit means less of the uniform exposed. - //world.log << "Added fibertext: [fibertext]" + //log_to_dd("Added fibertext: [fibertext]") suit_fibers += fibertext if(!(M.wear_suit.body_parts_covered & HANDS)) if(M.gloves) fibertext = "Material from a pair of [M.gloves.name]." if(prob(20*item_multiplier) && !(fibertext in suit_fibers)) - //world.log << "Added fibertext: [fibertext]" + //log_to_dd("Added fibertext: [fibertext]") suit_fibers += fibertext else if(M.w_uniform) fibertext = "Fibers from \a [M.w_uniform]." @@ -39,10 +39,10 @@ atom/proc/add_fibers(mob/living/carbon/human/M) if(M.gloves) fibertext = "Material from a pair of [M.gloves.name]." if(prob(20*item_multiplier) && !(fibertext in suit_fibers)) - //world.log << "Added fibertext: [fibertext]" + //log_to_dd("Added fibertext: [fibertext]") suit_fibers += "Material from a pair of [M.gloves.name]." else if(M.gloves) fibertext = "Material from a pair of [M.gloves.name]." if(prob(20*item_multiplier) && !(fibertext in suit_fibers)) - //world.log << "Added fibertext: [fibertext]" + //log_to_dd("Added fibertext: [fibertext]") suit_fibers += "Material from a pair of [M.gloves.name]." \ No newline at end of file diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 29f745a8c17..a670e9805bb 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -34,7 +34,7 @@ world/IsBanned(key,address,computer_id) var/ckeytext = ckey(key) if(!establish_db_connection()) - world.log << "Ban database connection failure. Key [ckeytext] not checked" + log_to_dd("Ban database connection failure. Key [ckeytext] not checked") diary << "Ban database connection failure. Key [ckeytext] not checked" return diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index d9f5d7d54ba..606e91830af 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -102,7 +102,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights establish_db_connection() if(!dbcon.IsConnected()) - world.log << "Failed to connect to database in load_admins(). Reverting to legacy system." + log_to_dd("Failed to connect to database in load_admins(). Reverting to legacy system.") diary << "Failed to connect to database in load_admins(). Reverting to legacy system." config.admin_legacy_system = 1 load_admins() @@ -122,7 +122,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights //find the client for a ckey if they are connected and associate them with the new admin datum D.associate(directory[ckey]) if(!admin_datums) - world.log << "The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system." + log_to_dd("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.") diary << "The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system." config.admin_legacy_system = 1 load_admins() diff --git a/code/modules/admin/banappearance.dm b/code/modules/admin/banappearance.dm index 3262fb66219..5e390c249b6 100644 --- a/code/modules/admin/banappearance.dm +++ b/code/modules/admin/banappearance.dm @@ -52,7 +52,7 @@ DEBUG log_admin("appearance_keylist was empty") else if(!establish_db_connection()) - world.log << "Database connection failed. Reverting to the legacy ban system." + log_to_dd("Database connection failed. Reverting to the legacy ban system.") diary << "Database connection failed. Reverting to the legacy ban system." config.ban_legacy_system = 1 appearance_loadbanfile() diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 3ae14b22a31..c97b4fc66b3 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -64,7 +64,7 @@ DEBUG log_admin("jobban_keylist was empty") else if(!establish_db_connection()) - world.log << "Database connection failed. Reverting to the legacy ban system." + log_to_dd("Database connection failed. Reverting to the legacy ban system.") diary << "Database connection failed. Reverting to the legacy ban system." config.ban_legacy_system = 1 jobban_loadbanfile() diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index abca2a40d33..b49a0fe609a 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -546,7 +546,7 @@ var/list/forbidden_varedit_object_types = list( if("marked datum") O.vars[variable] = holder.marked_datum - world.log << "### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]" + log_to_dd("### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]") log_admin("[key_name(src)] modified [original_name]'s [variable] to [O.vars[variable]]") message_admins("[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]", 1) diff --git a/code/modules/awaymissions/maploader/swapmaps.dm b/code/modules/awaymissions/maploader/swapmaps.dm index a53bd552329..8f15d071b0f 100644 --- a/code/modules/awaymissions/maploader/swapmaps.dm +++ b/code/modules/awaymissions/maploader/swapmaps.dm @@ -585,7 +585,7 @@ proc/SwapMaps_CreateFromTemplate(template_id) else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[template_id].txt")) text=1 else - world.log << "SwapMaps error in SwapMaps_CreateFromTemplate(): map_[template_id] file not found." + log_to_dd("SwapMaps error in SwapMaps_CreateFromTemplate(): map_[template_id] file not found.") return if(text) S=new @@ -612,7 +612,7 @@ proc/SwapMaps_LoadChunk(chunk_id,turf/locorner) else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[chunk_id].txt")) text=1 else - world.log << "SwapMaps error in SwapMaps_LoadChunk(): map_[chunk_id] file not found." + log_to_dd("SwapMaps error in SwapMaps_LoadChunk(): map_[chunk_id] file not found.") return if(text) S=new @@ -630,9 +630,9 @@ proc/SwapMaps_LoadChunk(chunk_id,turf/locorner) proc/SwapMaps_SaveChunk(chunk_id,turf/corner1,turf/corner2) if(!corner1 || !corner2) - world.log << "SwapMaps error in SwapMaps_SaveChunk():" - if(!corner1) world.log << " corner1 turf is null" - if(!corner2) world.log << " corner2 turf is null" + log_to_dd("SwapMaps error in SwapMaps_SaveChunk():") + if(!corner1) log_to_dd(" corner1 turf is null") + if(!corner2) log_to_dd(" corner2 turf is null") return var/swapmap/M=new M.id=chunk_id @@ -659,7 +659,7 @@ proc/SwapMaps_GetSize(id) else if(swapmaps_mode!=SWAPMAPS_TEXT && fexists("map_[id].txt")) text=1 else - world.log << "SwapMaps error in SwapMaps_GetSize(): map_[id] file not found." + log_to_dd("SwapMaps error in SwapMaps_GetSize(): map_[id] file not found.") return if(text) S=new diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index 51b66024215..06689601523 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -44,7 +44,7 @@ proc/createRandomZlevel() if(air_master) air_master.setup_allturfs(block(locate(1, 1, world.maxz), locate(world.maxx, world.maxy, world.maxz))) create_lighting_overlays(world.maxz) - world.log << "away mission loaded: [map]" + log_to_dd("away mission loaded: [map]") for(var/obj/effect/landmark/L in landmarks_list) if (L.name != "awaystart") diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 2efc59f66c5..88da993387e 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -31,7 +31,7 @@ //search the href for script injection if( findtext(href,"Malicious program detected in the [english_list(areaName)] lighting and airlock control systems by [my_department]." else - world.log << "ERROR: Could not initate grey-tide. Unable to find suitable containment area." + log_to_dd("ERROR: Could not initate grey-tide. Unable to find suitable containment area.") kill() diff --git a/code/modules/garbage collection/garbage_collector.dm b/code/modules/garbage collection/garbage_collector.dm index 41c01dc5672..5b3a070f570 100644 --- a/code/modules/garbage collection/garbage_collector.dm +++ b/code/modules/garbage collection/garbage_collector.dm @@ -166,4 +166,4 @@ var/global/datum/controller/process/garbage_collector/garbageCollector return ..() /proc/gcwarning(msg) - world.log << "## GC WARNING: [msg]" + log_to_dd("## GC WARNING: [msg]") diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 4603778112c..721bf0fa6a8 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -136,7 +136,7 @@ tod = worldtime2text() //weasellos time of death patch if(mind) mind.store_memory("Time of death: [tod]", 0) if(ticker && ticker.mode) -// world.log << "k" +// log_to_dd("k") sql_report_death(src) ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now return ..(gibbed) diff --git a/code/modules/mob/living/silicon/robot/wires.dm b/code/modules/mob/living/silicon/robot/wires.dm index 51d416c7f5d..f197e49b02e 100644 --- a/code/modules/mob/living/silicon/robot/wires.dm +++ b/code/modules/mob/living/silicon/robot/wires.dm @@ -21,7 +21,7 @@ BorgIndexToWireColor[flagIndex] = colorIndex BorgWireColorToIndex[colorIndex] = flagIndex colorIndexList -= colorIndex // Shortens the list. - //world.log << "Flag: [flag], CIndex: [colorIndex], FIndex: [flagIndex]" + //log_to_dd("Flag: [flag], CIndex: [colorIndex], FIndex: [flagIndex]") flagIndex+=1 return Borgwires diff --git a/code/modules/nano/nanomapgen.dm b/code/modules/nano/nanomapgen.dm index d77ff24af20..44154cdb675 100644 --- a/code/modules/nano/nanomapgen.dm +++ b/code/modules/nano/nanomapgen.dm @@ -19,42 +19,42 @@ /client/proc/nanomapgen_DumpImage() set name = "Generate NanoUI Map" set category = "Mapping" - + if(holder) - nanomapgen_DumpTile(1, 1, text2num(input(usr,"Enter the Z level to generate"))) + nanomapgen_DumpTile(1, 1, text2num(input(usr,"Enter the Z level to generate"))) /client/proc/nanomapgen_DumpTile(var/startX = 1, var/startY = 1, var/currentZ = 1, var/endX = -1, var/endY = -1) if (endX < 0 || endX > world.maxx) endX = world.maxx - + if (endY < 0 || endY > world.maxy) endY = world.maxy - + if (currentZ < 0 || currentZ > world.maxz) usr << "NanoMapGen: ERROR: currentZ ([currentZ]) must be between 1 and [world.maxz]" - + sleep(3) return NANOMAP_TERMINALERR - + if (startX > endX) usr << "NanoMapGen: ERROR: startX ([startX]) cannot be greater than endX ([endX])" - + sleep(3) return NANOMAP_TERMINALERR - + if (startY > endX) usr << "NanoMapGen: ERROR: startY ([startY]) cannot be greater than endY ([endY])" sleep(3) return NANOMAP_TERMINALERR - + var/icon/Tile = icon(file("nano/mapbase1024.png")) if (Tile.Width() != NANOMAP_MAX_ICON_DIMENSION || Tile.Height() != NANOMAP_MAX_ICON_DIMENSION) - world.log << "NanoMapGen: ERROR: BASE IMAGE DIMENSIONS ARE NOT [NANOMAP_MAX_ICON_DIMENSION]x[NANOMAP_MAX_ICON_DIMENSION]" + log_to_dd("NanoMapGen: ERROR: BASE IMAGE DIMENSIONS ARE NOT [NANOMAP_MAX_ICON_DIMENSION]x[NANOMAP_MAX_ICON_DIMENSION]") sleep(3) return NANOMAP_TERMINALERR - - world.log << "NanoMapGen: GENERATE MAP ([startX],[startY],[currentZ]) to ([endX],[endY],[currentZ])" + + log_to_dd("NanoMapGen: GENERATE MAP ([startX],[startY],[currentZ]) to ([endX],[endY],[currentZ])") usr << "NanoMapGen: GENERATE MAP ([startX],[startY],[currentZ]) to ([endX],[endY],[currentZ])" var/count = 0; @@ -62,26 +62,26 @@ for(var/WorldY = startY, WorldY <= endY, WorldY++) var/atom/Turf = locate(WorldX, WorldY, currentZ) - + var/icon/TurfIcon = new(Turf.icon, Turf.icon_state) TurfIcon.Scale(NANOMAP_ICON_SIZE, NANOMAP_ICON_SIZE) - + Tile.Blend(TurfIcon, ICON_OVERLAY, ((WorldX - 1) * NANOMAP_ICON_SIZE), ((WorldY - 1) * NANOMAP_ICON_SIZE)) - + count++ - + if (count % 8000 == 0) - world.log << "NanoMapGen: [count] tiles done" + log_to_dd("NanoMapGen: [count] tiles done") sleep(1) - + var/mapFilename = "nanomap_z[currentZ]-new.png" - - world.log << "NanoMapGen: sending [mapFilename] to client" + + log_to_dd("NanoMapGen: sending [mapFilename] to client") usr << browse(Tile, "window=picture;file=[mapFilename];display=0") - - world.log << "NanoMapGen: Done." - + + log_to_dd("NanoMapGen: Done.") + usr << "NanoMapGen: Done. File [mapFilename] uploaded to your cache." if (Tile.Width() != NANOMAP_MAX_ICON_DIMENSION || Tile.Height() != NANOMAP_MAX_ICON_DIMENSION) diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index af09f71e271..44a4eda8612 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -234,7 +234,7 @@ //remove the old powernet and replace it with a new one throughout the network. /proc/propagate_network(var/obj/O, var/datum/powernet/PN) - //world.log << "propagating new network" + //log_to_dd("propagating new network") var/list/worklist = list() var/list/found_machines = list() var/index = 1 @@ -282,7 +282,7 @@ //merge net2 into net1 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 diff --git a/code/world.dm b/code/world.dm index 92ba39d519b..2adf9da3032 100644 --- a/code/world.dm +++ b/code/world.dm @@ -30,7 +30,7 @@ var/global/datum/global_init/init = new () diaryofmeanpeople << "\n\nStarting up. [time2text(world.timeofday, "hh:mm.ss")]\n---------------------" if(byond_version < RECOMMENDED_VERSION) - world.log << "Your server's byond version does not meet the recommended requirements for this code. Please update BYOND" + log_to_dd("Your server's byond version does not meet the recommended requirements for this code. Please update BYOND") if(config && config.log_runtimes) log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log") @@ -42,8 +42,8 @@ var/global/datum/global_init/init = new () // dumb and hardcoded but I don't care~ config.server_name += " #[(world.port % 1000) / 100]" - timezoneOffset = text2num(time2text(0,"hh")) * 36000 - + timezoneOffset = text2num(time2text(0,"hh")) * 36000 + if(config && config.log_runtime) log = file("data/logs/runtime/[time2text(world.realtime,"YYYY-MM-DD-(hh-mm-ss)")]-runtime.log") @@ -412,9 +412,9 @@ var/failed_old_db_connections = 0 /hook/startup/proc/connectDB() if(!setup_database_connection()) - world.log << "Your server failed to establish a connection with the feedback database." + log_to_dd("Your server failed to establish a connection with the feedback database.") else - world.log << "Feedback database connection established." + log_to_dd("Feedback database connection established.") return 1 proc/setup_database_connection() @@ -437,7 +437,7 @@ proc/setup_database_connection() failed_db_connections = 0 //If this connection succeeded, reset the failed connections counter. else failed_db_connections++ //If it failed, increase the failed connections counter. - world.log << dbcon.ErrorMsg() + log_to_dd(dbcon.ErrorMsg()) return . @@ -454,9 +454,9 @@ proc/establish_db_connection() /hook/startup/proc/connectOldDB() if(!setup_old_database_connection()) - world.log << "Your server failed to establish a connection with the SQL database." + log_to_dd("Your server failed to establish a connection with the SQL database.") else - world.log << "SQL database connection established." + log_to_dd("SQL database connection established.") return 1 //These two procs are for the old database, while it's being phased out. See the tgstation.sql file in the SQL folder for more information. @@ -480,7 +480,7 @@ proc/setup_old_database_connection() failed_old_db_connections = 0 //If this connection succeeded, reset the failed connections counter. else failed_old_db_connections++ //If it failed, increase the failed connections counter. - world.log << dbcon.ErrorMsg() + log_to_dd(dbcon.ErrorMsg()) return . diff --git a/config/example/config.txt b/config/example/config.txt index 0153daa34e6..1ee86a8a09c 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -54,6 +54,9 @@ LOG_PDA ## log world.log and runtime errors to a file LOG_RUNTIME +## log world.log messages +# LOG_WORLD_OUTPUT + ## log all Topic() calls (for use by coders in tracking down Topic issues) # LOG_HREFS From bc41922cbcc28f9e77c883876b891334f144bdba Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 14 Aug 2015 23:33:38 -0400 Subject: [PATCH 24/62] Fixes bad PDA tnote entries and minor PDA bugs --- code/game/gamemodes/game_mode.dm | 7 +---- code/game/gamemodes/mutiny/mutiny.dm | 5 +--- code/game/machinery/computer/message.dm | 34 +++++++++------------- code/game/objects/items/devices/PDA/PDA.dm | 18 +++++++----- code/modules/events/money_spam.dm | 5 +--- code/modules/ninja/suit/SpiderOS.dm | 15 +++++++--- 6 files changed, 38 insertions(+), 46 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index fb2168181e3..40667f5e2c1 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -134,12 +134,7 @@ useMS.send_pda_message("[P.owner]", "[command_name()] Payroll", msg) // BUT NOPE, NEED TO DO THIS BULLSHIT. - P.tnote += "← From [command_name()] (Payroll):
[msg]
" - - if (!P.silent) - playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, P.loc)) - if(!P.silent) O.show_message(text("\icon[P] *[P.ttone]*")) + P.play_ringtone() //Search for holder of the PDA. var/mob/living/L = null if(P.loc && isliving(P.loc)) diff --git a/code/game/gamemodes/mutiny/mutiny.dm b/code/game/gamemodes/mutiny/mutiny.dm index 150ff09f5fe..ad4513e6709 100644 --- a/code/game/gamemodes/mutiny/mutiny.dm +++ b/code/game/gamemodes/mutiny/mutiny.dm @@ -105,10 +105,7 @@ datum/game_mode/mutiny if (!pda) return 0 - if (!pda.silent) - playsound(pda.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, pda.loc)) - O.show_message(text("\icon[pda] *[pda.ttone]*")) + pda.play_ringtone() head_mutineer.current << fluff.get_pda_body() return 1 diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 8a7d4d170a8..3099d738a70 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -446,16 +446,13 @@ //Sender isn't faking as someone who exists if(isnull(PDARec)) src.linkedServer.send_pda_message("[customrecepient.owner]", "[customsender]","[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") + customrecepient.play_ringtone() + 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]") @@ -464,16 +461,13 @@ if(!customrecepient.conversations.Find("\ref[PDARec]")) customrecepient.conversations.Add("\ref[PDARec]") - 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") + customrecepient.play_ringtone() + 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() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 6f743230357..74c1f2f51ff 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -921,14 +921,7 @@ var/global/list/obj/item/device/pda/PDAs = list() ai.show_message("Intercepted message from [who]: [t]") */ - if (!P.silent) - var/sound/S = sound('sound/machines/twobeep.ogg') - - if(P.ttone in ttone_sound) - S = ttone_sound[P.ttone] - playsound(P.loc, S, 50, 1) - for (var/mob/O in hearers(3, P.loc)) - if(!P.silent) O.show_message(text("\icon[P] *[P.ttone]*")) + P.play_ringtone() //Search for holder of the PDA. var/mob/living/L = null if(P.loc && isliving(P.loc)) @@ -951,6 +944,15 @@ var/global/list/obj/item/device/pda/PDAs = list() else U << "ERROR: Messaging server is not responding." +/obj/item/device/pda/proc/play_ringtone() + if (!silent) + var/sound/S = sound('sound/machines/twobeep.ogg') + + if(ttone in ttone_sound) + S = ttone_sound[ttone] + playsound(loc, S, 50, 1) + for (var/mob/O in hearers(3, loc)) + if(!silent) O.show_message(text("\icon[src] *[ttone]*")) /obj/item/device/pda/verb/verb_remove_id() set category = null diff --git a/code/modules/events/money_spam.dm b/code/modules/events/money_spam.dm index 07f68b9b5c6..198b483ee10 100644 --- a/code/modules/events/money_spam.dm +++ b/code/modules/events/money_spam.dm @@ -104,10 +104,7 @@ //Commented out because we don't send messages like this anymore. Instead it will just popup in their chat window. //P.tnote += "← From [sender] (Unknown / spam?):
[message]
" - if (!P.silent) - playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, P.loc)) - if(!P.silent) O.show_message(text("\icon[P] *[P.ttone]*")) + P.play_ringtone() //Search for holder of the PDA. var/mob/living/L = null if(P.loc && isliving(P.loc)) diff --git a/code/modules/ninja/suit/SpiderOS.dm b/code/modules/ninja/suit/SpiderOS.dm index 8b030b11ffb..fed3c2bd1f9 100644 --- a/code/modules/ninja/suit/SpiderOS.dm +++ b/code/modules/ninja/suit/SpiderOS.dm @@ -216,10 +216,17 @@ display_to << "Error: unable to deliver message." display_spideros() return - P.tnote += "← From an unknown source:
[t]
" - if (!P.silent) - playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) - P.audible_message("\icon[P] *[P.ttone]*", null, 3) + //Search for holder of the PDA. + var/mob/living/L = null + if(P.loc && isliving(P.loc)) + L = P.loc + //Maybe they are a pAI! + else + L = get(P, /mob/living/silicon) + + if(L) + L << "\icon[P] Message from unknown source: \"[t]\" (Unable to Reply)" + P.play_ringtone() P.overlays.Cut() P.overlays += image('icons/obj/pda.dmi', "pda-r") From 2f750b261af1aaae404d5dd0140fd98690843914 Mon Sep 17 00:00:00 2001 From: Alex6511 Date: Sat, 15 Aug 2015 03:55:57 -0400 Subject: [PATCH 25/62] Update wizard.dm --- code/game/gamemodes/wizard/wizard.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 148a4b41a25..bab42e18bc0 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -70,6 +70,11 @@ kill_objective.owner = wizard kill_objective.find_target() wizard.objectives += kill_objective + + var/datum/objective/steal/steal_objective = new + steal_objective.owner = wizard + steal_objective.find_target() + wizard.objectives += steal_objective if (!(locate(/datum/objective/escape) in wizard.objectives)) var/datum/objective/escape/escape_objective = new @@ -81,10 +86,10 @@ steal_objective.find_target() wizard.objectives += steal_objective - if (!(locate(/datum/objective/escape) in wizard.objectives)) - var/datum/objective/escape/escape_objective = new - escape_objective.owner = wizard - wizard.objectives += escape_objective + if (!(locate(/datum/objective/hijack) in wizard.objectives)) + var/datum/objective/hijack/hijack_objective = new + hijack_objective.owner = wizard + wizard.objectives += hijack_objective if(61 to 85) var/datum/objective/assassinate/kill_objective = new @@ -302,4 +307,4 @@ Made a proc so this is not repeated 14 (or more) times.*/ return 1 /proc/iswizard(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.wizards) \ No newline at end of file + return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.wizards) From 780cc34d6e8753fdabf7bed6a63c91f8264ee528 Mon Sep 17 00:00:00 2001 From: Alex6511 Date: Sat, 15 Aug 2015 04:03:01 -0400 Subject: [PATCH 26/62] Update wizard.dm --- code/game/gamemodes/wizard/wizard.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index bab42e18bc0..7c38d931a94 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -108,6 +108,11 @@ wizard.objectives += survive_objective else + var/datum/objective/steal/steal_objective = new + steal_objective.owner = wizard + steal_objective.find_target() + wizard.objectives += steal_objective + if (!(locate(/datum/objective/hijack) in wizard.objectives)) var/datum/objective/hijack/hijack_objective = new hijack_objective.owner = wizard From 8d131e664e3d6b3003ecb6f3aa462257e2fc150c Mon Sep 17 00:00:00 2001 From: Alex6511 Date: Sat, 15 Aug 2015 04:04:02 -0400 Subject: [PATCH 27/62] Update wizard.dm --- code/game/gamemodes/wizard/wizard.dm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 7c38d931a94..e9b12d95879 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -42,7 +42,7 @@ /datum/game_mode/wizard/pre_setup() for(var/datum/mind/wiz in wizards) - wiz.current.loc = pick(wizardstart) + wiz.current.loc = pick(wizardstart)io return 1 @@ -81,17 +81,6 @@ escape_objective.owner = wizard wizard.objectives += escape_objective if(31 to 60) - var/datum/objective/steal/steal_objective = new - steal_objective.owner = wizard - steal_objective.find_target() - wizard.objectives += steal_objective - - if (!(locate(/datum/objective/hijack) in wizard.objectives)) - var/datum/objective/hijack/hijack_objective = new - hijack_objective.owner = wizard - wizard.objectives += hijack_objective - - if(61 to 85) var/datum/objective/assassinate/kill_objective = new kill_objective.owner = wizard kill_objective.find_target() @@ -107,6 +96,17 @@ survive_objective.owner = wizard wizard.objectives += survive_objective + if(61 to 85) + var/datum/objective/steal/steal_objective = new + steal_objective.owner = wizard + steal_objective.find_target() + wizard.objectives += steal_objective + + if (!(locate(/datum/objective/hijack) in wizard.objectives)) + var/datum/objective/hijack/hijack_objective = new + hijack_objective.owner = wizard + wizard.objectives += hijack_objective + else var/datum/objective/steal/steal_objective = new steal_objective.owner = wizard From ddaea2f664ed4ef127424ad3b507851f26492df4 Mon Sep 17 00:00:00 2001 From: Alex6511 Date: Sat, 15 Aug 2015 04:05:51 -0400 Subject: [PATCH 28/62] Update wizard.dm --- code/game/gamemodes/wizard/wizard.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index e9b12d95879..6ccb27d2c2b 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -42,7 +42,7 @@ /datum/game_mode/wizard/pre_setup() for(var/datum/mind/wiz in wizards) - wiz.current.loc = pick(wizardstart)io + wiz.current.loc = pick(wizardstart) return 1 @@ -65,7 +65,6 @@ /datum/game_mode/proc/forge_wizard_objectives(var/datum/mind/wizard) switch(rand(1,100)) if(1 to 30) - var/datum/objective/assassinate/kill_objective = new kill_objective.owner = wizard kill_objective.find_target() @@ -97,10 +96,10 @@ wizard.objectives += survive_objective if(61 to 85) - var/datum/objective/steal/steal_objective = new - steal_objective.owner = wizard - steal_objective.find_target() - wizard.objectives += steal_objective + var/datum/objective/assassinate/kill_objective = new + kill_objective.owner = wizard + kill_objective.find_target() + wizard.objectives += kill_objective if (!(locate(/datum/objective/hijack) in wizard.objectives)) var/datum/objective/hijack/hijack_objective = new From 0df0c39452a083eaa75292e4f8410dc5956b6ad3 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 15 Aug 2015 18:18:26 +0200 Subject: [PATCH 29/62] Spawn panel improvements --- code/modules/admin/create_object.dm | 27 ++++------ code/modules/admin/topic.dm | 82 ++++++++++++----------------- html/create_object.html | 13 ++--- 3 files changed, 53 insertions(+), 69 deletions(-) diff --git a/code/modules/admin/create_object.dm b/code/modules/admin/create_object.dm index 5b5ee047852..ead589613fd 100644 --- a/code/modules/admin/create_object.dm +++ b/code/modules/admin/create_object.dm @@ -1,4 +1,5 @@ -/var/create_object_html = null +var/create_object_html = null +var/list/create_object_forms = list(/obj, /obj/structure, /obj/machinery, /obj/effect, /obj/item, /obj/mecha, /obj/item/weapon, /obj/item/clothing, /obj/item/stack, /obj/item/device, /obj/item/weapon/reagent_containers, /obj/item/weapon/gun) /datum/admins/proc/create_object(var/mob/user) if (!create_object_html) @@ -9,20 +10,14 @@ user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475") +/datum/admins/proc/quick_create_object(mob/user) + var/path = input("Select the path of the object you wish to create.", "Path", /obj) in create_object_forms + var/html_form = create_object_forms[path] -/datum/admins/proc/quick_create_object(var/mob/user) + if (!html_form) + var/objectjs = list2text(typesof(path), ";") + html_form = file2text('html/create_object.html') + html_form = replacetext(html_form, "null /* object types */", "\"[objectjs]\"") + create_object_forms[path] = html_form - var/quick_create_object_html = null - var/pathtext = null - - pathtext = input("Select the path of the object you wish to create.", "Path", "/obj") in list("/obj","/obj/structure","/obj/item","/obj/item/weapon","/obj/item/clothing","/obj/machinery","/obj/mecha") - - var path = text2path(pathtext) - - if (!quick_create_object_html) - var/objectjs = null - objectjs = list2text(typesof(path), ";") - quick_create_object_html = file2text('html/create_object.html') - quick_create_object_html = replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"") - - user << browse(replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475") \ No newline at end of file + user << browse(replacetext(html_form, "/* ref src */", "\ref[src]"), "window=qco[path];size=425x475") \ No newline at end of file diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a0ce958a5f4..8c2cb8d1014 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1935,28 +1935,13 @@ dirty_paths = href_list["object_list"] var/paths = list() - var/removed_paths = list() for(var/dirty_path in dirty_paths) var/path = text2path(dirty_path) if(!path) - removed_paths += dirty_path continue else if(!ispath(path, /obj) && !ispath(path, /turf) && !ispath(path, /mob)) - removed_paths += dirty_path continue - else if(ispath(path, /obj/item/weapon/gun/energy/pulse_rifle)) - if(!check_rights((R_SERVER|R_EVENT),0)) - removed_paths += dirty_path - continue - else if(ispath(path, /obj/item/weapon/melee/energy/blade))//Not an item one should be able to spawn./N - if(!check_rights((R_SERVER|R_EVENT),0)) - removed_paths += dirty_path - continue - else if(ispath(path, /obj/effect/anomaly/bhole)) - if(!check_rights((R_SERVER|R_EVENT),0)) - removed_paths += dirty_path - continue paths += path if(!paths) @@ -1965,8 +1950,6 @@ if(length(paths) > 5) alert("Select fewer object types, (max 5)") return - else if(length(removed_paths)) - alert("Removed:\n" + list2text(removed_paths, "\n")) var/list/offset = text2list(href_list["offset"],",") var/number = dd_range(1, 100, text2num(href_list["object_count"])) @@ -1978,41 +1961,36 @@ if(!obj_dir || !(obj_dir in list(1,2,4,8,5,6,9,10))) obj_dir = 2 var/obj_name = sanitize(href_list["object_name"]) + + + var/atom/target //Where the object will be spawned var/where = href_list["object_where"] if (!( where in list("onfloor","inhand","inmarked") )) where = "onfloor" - if( where == "inhand" ) - usr << "Support for inhand not available yet. Will spawn on floor." - where = "onfloor" - if ( where == "inhand" ) //Can only give when human or monkey - if ( !( ishuman(usr) ) ) - usr << "Can only spawn in hand when you're a human or a monkey." - where = "onfloor" - else if ( usr.get_active_hand() ) - usr << "Your active hand is full. Spawning on floor." - where = "onfloor" + switch(where) + if("inhand") + if (!iscarbon(usr) && !isrobot(usr)) + usr << "Can only spawn in hand when you're a carbon mob or cyborg." + where = "onfloor" + target = usr - if ( where == "inmarked" ) - if ( !marked_datum ) - usr << "You don't have any object marked. Abandoning spawn." - return - else - if ( !istype(marked_datum,/atom) ) - usr << "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn." - return - - var/atom/target //Where the object will be spawned - switch ( where ) - if ( "onfloor" ) - switch (href_list["offset_type"]) + if("onfloor") + switch(href_list["offset_type"]) if ("absolute") target = locate(0 + X,0 + Y,0 + Z) if ("relative") target = locate(loc.x + X,loc.y + Y,loc.z + Z) - if ( "inmarked" ) - target = marked_datum + if("inmarked") + if(!marked_datum) + usr << "You don't have any object marked. Abandoning spawn." + return + else if(!istype(marked_datum,/atom)) + usr << "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn." + return + else + target = marked_datum if(target) for (var/path in paths) @@ -2020,9 +1998,8 @@ if(path in typesof(/turf)) var/turf/O = target var/turf/N = O.ChangeTurf(path) - if(N) - if(obj_name) - N.name = obj_name + if(N && obj_name) + N.name = obj_name else var/atom/O = new path(target) if(O) @@ -2032,18 +2009,29 @@ if(istype(O,/mob)) var/mob/M = O M.real_name = obj_name + if(where == "inhand" && isliving(usr) && istype(O, /obj/item)) + var/mob/living/L = usr + var/obj/item/I = O + L.put_in_hands(I) + if(isrobot(L)) + var/mob/living/silicon/robot/R = L + if(R.module) + R.module.modules += I + I.loc = R.module + R.module.rebuild() + R.activate_module(I) if (number == 1) log_admin("[key_name(usr)] created a [english_list(paths)]") for(var/path in paths) if(ispath(path, /mob)) - message_admins("[key_name_admin(usr)] created a [english_list(paths)]", 1) + message_admins("[key_name_admin(usr)] created a [english_list(paths)]") break else log_admin("[key_name(usr)] created [number]ea [english_list(paths)]") for(var/path in paths) if(ispath(path, /mob)) - message_admins("[key_name_admin(usr)] created [number]ea [english_list(paths)]", 1) + message_admins("[key_name_admin(usr)] created [number]ea [english_list(paths)]") break return diff --git a/html/create_object.html b/html/create_object.html index a1f115b7839..ac47cc7769b 100644 --- a/html/create_object.html +++ b/html/create_object.html @@ -27,7 +27,7 @@
- Type
+ Type
Offset: A @@ -39,12 +39,12 @@ Where:


- +