From 19f684d1b7998170315172960d6e33cf22eed8ea Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 14 Apr 2018 00:43:40 +0100 Subject: [PATCH 001/308] Allows paper to have variably-sized window --- code/modules/paperwork/paper.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 34a447306db..68d74d57a5d 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -34,6 +34,8 @@ var/contact_poison // Reagent ID to transfer on contact var/contact_poison_volume = 0 var/contact_poison_poisoner = null + var/paper_width = 400//Width of the window that opens + var/paper_height = 400//Height of the window that opens var/const/deffont = "Verdana" var/const/signfont = "Times New Roman" @@ -72,12 +74,12 @@ if((!user.say_understands(null, all_languages["Galactic Common"]) && !forceshow) || forcestars) //assuming all paper is written in common is better than hardcoded type checks data = "[name][stars(info)][stamps]" if(view) - usr << browse(data, "window=[name]") + usr << browse(data, "window=[name];size=[paper_width]x[paper_height]") onclose(usr, "[name]") else data = "[name][infolinks ? info_links : info][stamps]" if(view) - usr << browse(data, "window=[name]") + usr << browse(data, "window=[name];size=[paper_width]x[paper_height]") onclose(usr, "[name]") return data From b60eb67202165bd0d9d6b6c7f64e7334e8f01dea Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 14 Apr 2018 01:06:11 +0100 Subject: [PATCH 002/308] Adds fortunes to fortune cookies --- code/_globalvars/lists/fortunes.dm | 21 ++++++++++++++++++++ code/modules/food_and_drinks/food/snacks.dm | 9 +++++++++ code/modules/paperwork/paper.dm | 15 ++++++++++++++ icons/obj/bureaucracy.dmi | Bin 20140 -> 20348 bytes paradise.dme | 3 ++- 5 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 code/_globalvars/lists/fortunes.dm diff --git a/code/_globalvars/lists/fortunes.dm b/code/_globalvars/lists/fortunes.dm new file mode 100644 index 00000000000..0ccf794d6b0 --- /dev/null +++ b/code/_globalvars/lists/fortunes.dm @@ -0,0 +1,21 @@ +var/global/list/fortune_cookie_messages = list("A woman named [pick(first_names_female)] may have an opportunity for you.", +"A man named [pick(first_names_male)] may have an opportunity for you.", +"If you feel you are right, stand firmly by your convictions.", +"A stranger is a friend you have not spoken to yet.", +"Yesterday, you said tomorrow. Just do it!", +"Luck always favours the prepared mind.", +"Failure is the mother of success.", +"A rolling stone gathers no moss.", +"When life gives you lemons, make lemonade.", +"You will inherit some money or a small piece of land.", +"Happy news is on its way to you.", +"You will live a long, happy life.", +"When one door closes, another opens.", +"Life is a canvas, and you are its painter.", +"Failure to prepare is to prepare to fail.", +"Beware the robot that thinks for itself.", +"A foolish man listens to his heart.
A wise man listens to cookies.", +"A chance meeting opens new doors to success and friendship.", +"The greatest danger could be your stupidity.", +"He who laughs at himself never runs out of things to laugh at.", +"Help! I'm being held prisoner in a Nanotrasen bakery!") diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index c9885f9cf80..41275152a9c 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1054,6 +1054,15 @@ icon_state = "fortune_cookie" filling_color = "#E8E79E" list_reagents = list("nutriment" = 3) + var/obj/item/weapon/paper/fortune/F + +/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/New() + ..() + F = new /obj/item/weapon/paper/fortune(src) + +/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/Post_Consume(mob/living/carbon/human/user) + to_chat(user, "[F] falls out of [src]!") + user.put_in_hands(F) /obj/item/weapon/reagent_containers/food/snacks/badrecipe name = "Burned mess" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 68d74d57a5d..446718986f2 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -478,6 +478,21 @@ /obj/item/weapon/paper/crumpled/bloody icon_state = "scrap_bloodied" +/obj/item/weapon/paper/fortune + name = "fortune" + icon_state = "slip" + paper_height = 150 + var/fortunemessage + +/obj/item/weapon/paper/fortune/New() + ..() + var/fortunemessage = pick(fortune_cookie_messages) + info = "

[fortunemessage]

" + info += "Lucky numbers: [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)]" + +/obj/item/weapon/paper/fortune/update_icon() + ..() + icon_state = initial(icon_state) /* * Premade paper */ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 720fafd884796d0dae915e79af27a24515992e7c..8593012e52833d977ba48998bddde3c084668149 100644 GIT binary patch literal 20348 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 literal 20140 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

PnD^pN>zHI-@9JWW2{>~~WmZ~~xA>Xf6c;y4y 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 Bwn_j1 diff --git a/paradise.dme b/paradise.dme index 56dc61e5140..ea3daa4b847 100644 --- a/paradise.dme +++ b/paradise.dme @@ -100,6 +100,7 @@ #include "code\_globalvars\station.dm" #include "code\_globalvars\unused.dm" #include "code\_globalvars\lists\flavor_misc.dm" +#include "code\_globalvars\lists\fortunes.dm" #include "code\_globalvars\lists\misc.dm" #include "code\_globalvars\lists\mobs.dm" #include "code\_globalvars\lists\names.dm" @@ -206,8 +207,8 @@ #include "code\controllers\ProcessScheduler\core\processScheduler.dm" #include "code\controllers\subsystem\air.dm" #include "code\controllers\subsystem\fires.dm" -#include "code\controllers\subsystem\nightshift.dm" #include "code\controllers\subsystem\nanoui.dm" +#include "code\controllers\subsystem\nightshift.dm" #include "code\controllers\subsystem\spacedrift.dm" #include "code\controllers\subsystem\sun.dm" #include "code\controllers\subsystem\throwing.dm" From 30cb338f4cda49b246d6a3679a95cb176da3cdf3 Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Wed, 28 Jun 2017 17:59:24 -0700 Subject: [PATCH 003/308] Contribution Guidelines: Part 1: Setting Up Git --- .github/SETTING_UP_GIT.md | 178 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 .github/SETTING_UP_GIT.md diff --git a/.github/SETTING_UP_GIT.md b/.github/SETTING_UP_GIT.md new file mode 100644 index 00000000000..84902783659 --- /dev/null +++ b/.github/SETTING_UP_GIT.md @@ -0,0 +1,178 @@ +# Setting Up Git (Windows/Mac Only) + +## Linux users + +You will want to install the `git` package from your distribution's respective +package manager, whatever that may be. + +--- + + +## Git-SCM +So you want to start contributing to Paradise? Where, well do you start? +First off, you will need some tools to work with Git, the +[Version Control System](https://en.wikipedia.org/wiki/Version_control) +that we operate off. There are many choices out there for dealing with Git, +including GitHub for Desktop- However, all of them are based off of the same +command-line tools. As such, we advise, rather than using a GUI Program, you +learn how to use the command line. + +An important note here is that the Git-SCM package for Windows includes +some GUI-based software in it. This can be used for easily monitoring the +state of your current branch, without downloading multiple different tools. + +## Installing +The version of Git that we will be using is available at https://git-scm.com/. +There should be four big orange buttons on the front page of the site when you +go there. You will want to click on the one labeled "Downloads". +![https://i.imgur.com/a6tX7IV.png](https://i.imgur.com/a6tX7IV.png) + +From here, you will want to select your operating system in this box. +![https://i.imgur.com/Ee4wVsF.png](https://i.imgur.com/Ee4wVsF.png) + +Download the `setup` version, which should automatically start downloading when +you select your operating system. Place it wherever you prefer to store your +downloaded files. You should end up with a file that looks like +`Git-version.number.here-32/64-bit.exe`. You should run this executable file. +![https://i.imgur.com/jnbodzV.png](https://i.imgur.com/jnbodzV.png) + +Click Next, after reading the GNU-GPL license if you wish to do so, which will +bring you to this screen. +![https://i.imgur.com/cl9RodU.png](https://i.imgur.com/cl9RodU.png) + +Your default options may be different than this- You'll want to amend them to +match this screenshot. (Future proofing: `Windows Explorer integration` partially +selected, just for `Git Bash Here`, `Git LFS (Large File Support)` checked, +and `Associate .git* configuration files with the default text editor` checked. +All other boxes should be left unchecked). Click next. The next screen is very +important. +![https://i.imgur.com/6ii7aRO.png](https://i.imgur.com/6ii7aRO.png) + +The screen should say `Adjusting your PATH environment`. You will definitely want +to select `Use Git from Git Bash only`- This is the safest option, and will not +change your PATH variables at all. The disadvantage of this is that any future +terminal emulators will be unable to use Git, as will the windows command prompt. + +Select `Use the OpenSSL library` for `Choosing HTTPS transport backend`. + +For Windows, you will also get the following screen: +![https://i.imgur.com/jOZJWvO.png](https://i.imgur.com/jOZJWvO.png) + +You will want to select "Checkout Windows-style, commit Unix-style line endings" +for working with our repository. + +If you get the choice between MinTTY and Windows' default console window, select +MinTTY. +![https://i.imgur.com/ZdZU0NB.png](https://i.imgur.com/ZdZU0NB.png) + +For `configuring extra options`, select `Enable file system caching` and +`Enable Git Credential Manager`, leaving `Enable symbolic links` disabled. +![https://i.imgur.com/6gspQAL.png](https://i.imgur.com/6gspQAL.png) + +From there, just hit `Install`. + +## Configuring + +We are going to configure Git for password-less SSH authentication for GitHub. +There is a simple way to make this require that you instead just enter your +password once upon opening a terminal for the first time running the program +after a restart, which we will cover when it is applicable. + +This guide is mostly copy-pasted from +`https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/`, + So you can view that for further instruction. + +As we are working with a completely fresh install of Git, we can skip over some +steps. You will want to open Git Bash, then use the text below, changing the email +to the one you use for GitHub. +```bash +ssh-keygen -t rsa -b 4096 -C "your_email@example.com" +``` +This will create a new SSH private/public key, using the email as a label. +```bash +Generating public/private rsa key pair. +``` + +When you're prompted to `Enter a file in which to save the key`, you will want +to just press enter, to accept the default file location. We will rename the key +later. + +Remember that I mentioned you could either do password-less SSH authentication, +or require a password one time per session? This is the point at which you +choose this, with the `Enter passphrase (empty for no passphrase):` prompt. If +you do not care about having a password on the private key (which you should +never ever distribute beyond your own computers on secure mediums), you can just +hit enter twice to completely skip setting a password on the key. Otherwise, enter +your desired password. + +You will now want to go to your home directory `C:/Users/YourName` and open the +`.ssh` folder. You should see two files in here, `id_rsa` and `id_rsa.pub`. Rename +them both to `your_github_username_rsa` and `your_github_username_rsa.pub`. +You'll then want to create two new folders, `public` and `private`. Put the `.pub` +file into `public`, then put the other one into `private`. + +As we are not using GitHub for Desktop, we will need to now setup SSH-agent. +Start by typing the command `vim ~/.bashrc`. This will open the Vi IMproved text +editor, which is one of the ones that comes with Git by default. It is entirely +built into the shell, and the interface will take a bit of getting used to. +You will want to hit `i`, to go into `Insert Mode`. This will produce a blinking +cursor on the top section, what you would expect for a text editor. You may now +type what you like, or right click and paste to paste from your clipboard. +Paste the following into the file: +```bash +#!/bin/bash + +SSH_ENV=$HOME/.ssh/environment + +function add_keys { + ssh-add ~/.ssh/private/* +} + +function start_agent { + echo "Initializing new SSH agent..." + /usr/bin/ssh-agent | sed 's/^echo/#echo' > ${SSH_ENV} + echo Suceeded + chmod 600 ${SSH_ENV} + . ${SSH_ENV} > /dev/null + add_keys; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . ${SSH_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi +``` + +Hit escape, then hit `:` followed by `wq` and enter. This is, to Vi, Insert Mode +to command mode (`ESC`), Command start `:`, and `w`rite `q`uit `ENTER` submit. + +Restart Git Bash- If you set a password on your SSH key, it will ask it for you +when it starts. Otherwise, it should just say `Identity added: ...`. You can see +all of the identities you have by running `ssh-add -l` in the shell at any time. + +You will now want to follow the instructions in this article to add the SSH key +to your GitHub profile: +https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ + +Obviously, for the first step, use the key we renamed and put into the `public` +folder, not the one in the `private` folder. + +To test that this all worked, you should run `ssh -T git@github.com`. If there +are any warning messages about authenticity, type `yes` followed by enter. You +should then see: +``` +Hi username! You've successfully authenticated, but GitHub does not +provide shell access. +``` + +If not, follow the troubleshooting directions in this article: +https://help.github.com/articles/error-permission-denied-publickey/ + + +Congratulations, you have now setup Git for Windows. \ No newline at end of file From f9e050918f44a5acbd62cbb470de4a009cb46e3e Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Fri, 13 Apr 2018 19:19:30 -0700 Subject: [PATCH 004/308] Contributing Guidelines: Part 2 - Stealing from /tg/ and updating --- .github/CONTRIBUTING.md | 400 +++++++++++++++++++++++++++++++++----- .github/SETTING_UP_GIT.md | 16 +- 2 files changed, 356 insertions(+), 60 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 98686aee07d..0e0eee8be53 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -45,59 +45,215 @@ actual development. conflicts for an existing pull request. New pull requests should not have any merge commits. Use `git rebase` or `git reset` to update your branches, not `git pull`. -#### BYOND Specific Guidelines: - - Any `type` or `proc` paths **must** use absolute pathing unless the file you are - working in primarily utilizes relative pathing. - - Paths must begin with `/`. It should be `/obj/machinery/fancy_robot`, - not `obj/machinery/fancy_robot`. - - New bases of datum must begin with `/datum/`. `/datum/arbitrary_datum`, - not `/arbitrary_datum`. - - Don't use strings in combination with `text2path()` unless the paths are being - dynamically created. Variables can contain normal paths just fine. - - Don't duplicate code. If you have identical code in two places, it should probably - be a new proc that they both can use. - - No magic numbers/strings. If you have a number or text that is important and used in - your code, make a `#DEFINE` statement with a name that clearly indicates it's use. - - `if(condition)` must be used over `if (condition)` or any other variation. - - The same applies for `while` and `for` loops, they must have no space between the - keyword and condition brackets. `while(condition)`, `for(condition)` - - If you want to output a message to a player's chat - (this includes text sent to `world`), use `to_chat(mob/client/world, "message")`. - Do not use `mob/client/world << "message"`. - - Do not use one-line control statements (if, else, for, while, etc). The space saved - is not worth the decreased readability. - - Control statements comparing a variable to a constant should be formatted `variable`, - `operator`, `constant`. This means `if(count <= 10)` is preferred over - `if(10 >= count)`. - - **Never** use a colon `:` operator to bypass type safety checks, unless you are doing - something where the tiny performance increase is incredibly noticeable (eg, a loop for - a huge list). You should properly typecast everything and use the period `.` - operator. - - Use early returns, and avoid far-indented if blocks. This means that you should not - do this: +## Specifications + +As mentioned before, you are expected to follow these specifications in order to make everyone's lives easier. It'll save both your time and ours, by making +sure you don't have to make any changes and we don't have to ask you to. Thank you for reading this section! + +### Object Oriented Code +As BYOND's Dream Maker (henceforth "DM") is an object-oriented language, code must be object-oriented when possible in order to be more flexible when adding +content to it. If you don't know what "object-oriented" means, we highly recommend you do some light research to grasp the basics. + +### All BYOND paths must contain the full path +(i.e. absolute pathing) + +DM will allow you nest almost any type keyword into a block, such as: + +```DM +datum + datum1 + var + varname1 = 1 + varname2 + static + varname3 + varname4 + proc + proc1() + code + proc2() + code + + datum2 + varname1 = 0 + proc + proc3() + code + proc2() + ..() + code +``` + +The use of this is not allowed in this project *unless the majority of the file is already relatively pathed* as it makes finding definitions via full text +searching next to impossible. The only exception is the variables of an object may be nested to the object, but must not nest further. + +The previous code made compliant: + +```DM +/datum/datum1 + var/varname1 + var/varname2 + var/static/varname3 + var/static/varname4 + +/datum/datum1/proc/proc1() + code +/datum/datum1/proc/proc2() + code +/datum/datum1/datum2 + varname1 = 0 +/datum/datum1/datum2/proc/proc3() + code +/datum/datum1/datum2/proc2() + ..() + code +``` + +### No overriding type safety checks +The use of the : operator to override type safety checks is not allowed. You must cast the variable to the proper type. + +### Type paths must begin with a / +eg: `/datum/thing`, not `datum/thing` + +### Datum type paths must began with "datum" +In DM, this is optional, but omitting it makes finding definitions harder. To be specific, you can declare the path `/arbitrary`, but it +will still be, in actuality, `/datum/arbitrary`. Write your code to reflect this. + +### Do not use text/string based type paths +It is rarely allowed to put type paths in a text format, as there are no compile errors if the type path no longer exists. Here is an example: + +```DM +//Good +var/path_type = /obj/item/baseball_bat + +//Bad +var/path_type = "/obj/item/baseball_bat" +``` + +### Use var/name format when declaring variables +While DM allows other ways of declaring variables, this one should be used for consistency. + +### Tabs, not spaces +You must use tabs to indent your code, NOT SPACES. + +(You may use spaces to align something, but you should tab to the block level first, then add the remaining spaces) + +### No hacky code +Hacky code, such as adding specific checks (ex: `istype(src, /obj/whatever)`), is highly discouraged and only allowed when there is ***no*** other option. ( +Protip: 'I couldn't immediately think of a proper way so thus there must be no other option' is not gonna cut it here! If you can't think of anything else, say that outright and admit that you need help with it. Maintainers exist for exactly that reason.) + +You can avoid hacky code by using object-oriented methodologies, such as overriding a function (called "procs" in DM) or sectioning code into functions and +then overriding them as required. + +### No duplicated code +Copying code from one place to another may be suitable for small, short-time projects, but Paradise is a long-term project and highly discourages this. + +Instead you can use object orientation, or simply placing repeated code in a function, to obey this specification easily. + +### Startup/Runtime tradeoffs with lists and the "hidden" init proc +First, read the comments in [this BYOND thread](http://www.byond.com/forum/?post=2086980&page=2#comment19776775), starting where the link takes you. + +There are two key points here: + +1) Defining a list in the variable's definition calls a hidden proc - init. If you have to define a list at startup, do so in New() (or preferably Initialize()) and avoid the overhead of a second call (Init() and then New()) + +2) It also consumes more memory to the point where the list is actually required, even if the object in question may never use it! + +Remember: although this tradeoff makes sense in many cases, it doesn't cover them all. Think carefully about your addition before deciding if you need to use it. + +### No magic numbers or strings +This means stuff like having a "mode" variable for an object set to "1" or "2" with no clear indicator of what that means. Make these #defines with a name that +more clearly states what it's for. For instance: +````DM +/datum/proc/do_the_thing(thing_to_do) + switch(thing_to_do) + if(1) + (...) + if(2) + (...) +```` +There's no indication of what "1" and "2" mean! Instead, you'd do something like this: +````DM +#define DO_THE_THING_REALLY_HARD 1 +#define DO_THE_THING_EFFICIENTLY 2 +/datum/proc/do_the_thing(thing_to_do) + switch(thing_to_do) + if(DO_THE_THING_REALLY_HARD) + (...) + if(DO_THE_THING_EFFICIENTLY) + (...) +```` +This is clearer and enhances readability of your code! Get used to doing it! + +### Control statements +(if, while, for, etc) + +* All control statements must not contain code on the same line as the statement (`if (blah) return`) +* All control statements comparing a variable to a number should use the formula of `thing` `operator` `number`, not the reverse + (eg: `if (count <= 10)` not `if (10 >= count)`) +* All control statements must be spaced as `if()`, with the brackets touching the keyword. +* Do not use one-line control statements. + Instead of doing ``` - /datum/datum1/proc/proc1() - if(thing1) - if(!thing2) - if(thing3 == 30) - do stuff + if(x) return ``` - Instead, you should do this: + You should do ``` - /datum/datum1/proc/proc1() - if(!thing1) - return - if(thing2) - return - if(thing3 != 30) - return - do stuff + if(x) + return ``` - - Any pull requests that affect map files must use the map-merge tools. Pull requests - that do not follow this guideline will be automatically declined, unless explicit - permission was given. - - The following examples of code are present in the code, but are no longer acceptable: - - To display messages to all mobs that can view `src`, you should use + +### Player Output +Due to the use of "Goonchat", Paradise requires a special syntax for outputting text messages to players. Instead of `mob/client/world << "message"`, +you must use `to_chat(mob/client/world, "message")`. Failure to do so will lead to your code not working. + +### Use early return +Do not enclose a proc in an if-block when returning on a condition is more feasible +This is bad: +````DM +/datum/datum1/proc/proc1() + if(thing1) + if(!thing2) + if(thing3 == 30) + do stuff +```` +This is good: +````DM +/datum/datum1/proc/proc1() + if(!thing1) + return + if(thing2) + return + if(thing3 != 30) + return + do stuff +```` +This prevents nesting levels from getting deeper then they need to be. + +### Operators +#### Spacing +* Operators that should be separated by spaces + * Boolean and logic operators like &&, || <, >, ==, etc (but not !) + * Bitwise AND & + * Argument separator operators like , (and ; when used in a forloop) + * Assignment operators like = or += or the like + * Math operators like +, -, /, or \* +* Operators that should not be separated by spaces + * Bitwise OR | + * Access operators like . and : + * Parentheses () + * logical not ! + +#### Use +* Bitwise AND - '&' + * Should be written as ```bitfield & bitflag``` NEVER ```bitflag & bitfield```, both are valid, but the latter is confusing and nonstandard. +* Associated lists declarations must have their key value quoted if it's a string + * WRONG: list(a = "b") + * RIGHT: list("a" = "b") + +### Legacy Code +SS13 has a lot of legacy code that's never been updated. Here are some examples of common legacy trends which are no longer acceptable: + * To display messages to all mobs that can view `src`, you should use `visible_message()`. - Bad: ``` @@ -108,7 +264,7 @@ actual development. ``` visible_message("Arbitrary text") ``` - - You should not use color macros (`\red, \blue, \green, \black`) to color text, + * You should not use color macros (`\red, \blue, \green, \black`) to color text, instead, you should use span classes. `red text`, `blue text`. - Bad: @@ -119,7 +275,7 @@ actual development. ``` usr << "Red Textblack text" ``` - - To use variables in strings, you should **never** use the `text()` operator, use + * To use variables in strings, you should **never** use the `text()` operator, use embedded expressions directly in the string. - Bad: ``` @@ -129,7 +285,7 @@ actual development. ``` usr << "\The [src] is leaking [liquid_type]" ``` - - To reference a variable/proc on the src object, you should **not** use + * To reference a variable/proc on the src object, you should **not** use `src.var`/`src.proc()`. The `src.` in these cases is implied, so you should just use `var`/`proc()`. - Bad: @@ -144,6 +300,146 @@ actual development. ``` +### Develop Secure Code + +* Player input must always be escaped safely, we recommend you use stripped_input in all cases where you would use input. Essentially, just always treat input from players as inherently malicious and design with that use case in mind + +* Calls to the database must be escaped properly - use sanitizeSQL to escape text based database entries from players or admins, and isnum() for number based database entries from players or admins. + +* All calls to topics must be checked for correctness. Topic href calls can be easily faked by clients, so you should ensure that the call is valid for the state the item is in. Do not rely on the UI code to provide only valid topic calls, because it won't. + +* Information that players could use to metagame (that is, to identify round information and/or antagonist type via information that would not be available to them in character) should be kept as administrator only. + +* Where you have code that can cause large-scale modification and *FUN*, make sure you start it out locked behind one of the default admin roles - use common sense to determine which role fits the level of damage a function could do. + +### Files +* Because runtime errors do not give the full path, try to avoid having files with the same name across folders. + +* File names should not be mixed case, or contain spaces or any character that would require escaping in a uri. + +* Files and path accessed and referenced by code above simply being #included should be strictly lowercase to avoid issues on filesystems where case matters. + +### SQL +* Do not use the shorthand sql insert format (where no column names are specified) because it unnecessarily breaks all queries on minor column changes and prevents using these tables for tracking outside related info such as in a connected site/forum. + +* All changes to the database's layout(schema) must be specified in the database changelog in SQL, as well as reflected in the schema files + +* Any time the schema is changed the `DB_MAJOR_VERSION` defines must be incremented, as well as the example config, with an appropriate conversion kit placed +in the SQL/updates folder. + +* Queries must never specify the database, be it in code, or in text files in the repo. + +### Mapping Standards +* Map Merge + * You MUST run Map Merge prior to opening your PR when updating existing maps to minimize the change differences (even when using third party mapping programs such as FastDMM.) + * Failure to run Map Merge on a map after using third party mapping programs (such as FastDMM) greatly increases the risk of the map's key dictionary + becoming corrupted by future edits after running map merge. Resolving the corruption issue involves rebuilding the map's key dictionary; + +* Variable Editing (Var-edits) + * While var-editing an item within the editor is perfectly fine, it is preferred that when you are changing the base behavior of an item (how it functions) that you make a new subtype of that item within the code, especially if you plan to use the item in multiple locations on the same map, or across multiple maps. This makes it easier to make corrections as needed to all instances of the item at one time as opposed to having to find each instance of it and change them all individually. + * Subtypes only intended to be used on away mission or ruin maps should be contained within an .dm file with a name corresponding to that map within `code\modules\awaymissions` or `code\modules\ruins` respectively. This is so in the event that the map is removed, that subtype will be removed at the same time as well to minimize leftover/unused data within the repo. + * Please attempt to clean out any dirty variables that may be contained within items you alter through var-editing. For example, due to how DM functions, changing the `pixel_x` variable from 23 to 0 will leave a dirty record in the map's code of `pixel_x = 0`. Likewise this can happen when changing an item's icon to something else and then back. This can lead to some issues where an item's icon has changed within the code, but becomes broken on the map due to it still attempting to use the old entry. + * Areas should not be var-edited on a map to change it's name or attributes. All areas of a single type and it's altered instances are considered the same area within the code, and editing their variables on a map can lead to issues with powernets and event subsystems which are difficult to debug. + +### Other Notes +* Code should be modular where possible; if you are working on a new addition, then strongly consider putting it in its own file unless it makes sense to put it with similar ones (i.e. a new tool would go in the "tools.dm" file) + +* Bloated code may be necessary to add a certain feature, which means there has to be a judgement over whether the feature is worth having or not. You can help make this decision easier by making sure your code is modular. + +* You are expected to help maintain the code that you add, meaning that if there is a problem then you are likely to be approached in order to fix any issues, runtimes, or bugs. + +* Do not divide when you can easily convert it to multiplication. (ie `4/2` should be done as `4*0.5`) + +* If you used regex to replace code during development of your code, post the regex in your PR for the benefit of future developers and downstream users. + +#### Enforced not enforced +The following coding styles are not only not enforced at all, but are generally frowned upon to change for little to no reason: + +* English/British spelling on var/proc names + * Color/Colour - both are fine, but keep in mind that BYOND uses `color` as a base variable + +### Dream Maker Quirks/Tricks +Like all languages, Dream Maker has its quirks, some of them are beneficial to us, like these + +#### In-To for-loops +```for(var/i = 1, i <= some_value, i++)``` is a fairly standard way to write an incremental for loop in most languages (especially those in the C family), but +DM's ```for(var/i in 1 to some_value)``` syntax is oddly faster than its implementation of the former syntax; where possible, it's advised to use DM's syntax. ( +Note, the ```to``` keyword is inclusive, so it automatically defaults to replacing ```<=```; if you want ```<``` then you should write it as ```1 to +some_value-1```). + +HOWEVER, if either ```some_value``` or ```i``` changes within the body of the for (underneath the ```for(...)``` header) or if you are looping over a list AND +changing the length of the list then you can NOT use this type of for-loop! + +### for(var/A in list) VS for(var/i in 1 to list.len) +The former is faster than the latter, as shown by the following profile results: +https://file.house/zy7H.png +Code used for the test in a readable format: +https://pastebin.com/w50uERkG + +#### Istypeless for loops +A name for a differing syntax for writing for-each style loops in DM. It's NOT DM's standard syntax, hence why this is considered a quirk. Take a look at this: +```DM +var/list/bag_of_items = list(sword, apple, coinpouch, sword, sword) +var/obj/item/sword/best_sword +for(var/obj/item/sword/S in bag_of_items) + if(!best_sword || S.damage > best_sword.damage) + best_sword = S +``` +The above is a simple proc for checking all swords in a container and returning the one with the highest damage, and it uses DM's standard syntax for a +for-loop by specifying a type in the variable of the for's header that DM interprets as a type to filter by. It performs this filter using ```istype()``` (or +some internal-magic similar to ```istype()``` - this is BYOND, after all). This is fine in its current state for ```bag_of_items```, but if ```bag_of_items``` +contained ONLY swords, or only SUBTYPES of swords, then the above is inefficient. For example: +```DM +var/list/bag_of_swords = list(sword, sword, sword, sword) +var/obj/item/sword/best_sword +for(var/obj/item/sword/S in bag_of_swords) + if(!best_sword || S.damage > best_sword.damage) + best_sword = S +``` +specifies a type for DM to filter by. + +With the previous example that's perfectly fine, we only want swords, but here the bag only contains swords? Is DM still going to try to filter because we gave +it a type to filter by? YES, and here comes the inefficiency. Wherever a list (or other container, such as an atom (in which case you're technically accessing +their special contents list, but that's irrelevant)) contains datums of the same datatype or subtypes of the datatype you require for your loop's body, +you can circumvent DM's filtering and automatic ```istype()``` checks by writing the loop as such: +```DM +var/list/bag_of_swords = list(sword, sword, sword, sword) +var/obj/item/sword/best_sword +for(var/s in bag_of_swords) + var/obj/item/sword/S = s + if(!best_sword || S.damage > best_sword.damage) + best_sword = S +``` +Of course, if the list contains data of a mixed type then the above optimisation is DANGEROUS, as it will blindly typecast all data in the list as the +specified type, even if it isn't really that type, causing runtime errors. + +#### Dot variable +Like other languages in the C family, DM has a ```.``` or "Dot" operator, used for accessing variables/members/functions of an object instance. +eg: +```DM +var/mob/living/carbon/human/H = YOU_THE_READER +H.gib() +``` +However, DM also has a dot variable, accessed just as `.` on its own, defaulting to a value of null. Now, what's special about the dot operator is that it is automatically returned (as in the `return` statement) at the end of a proc, provided the proc does not already manually return (`return count` for example.) Why is this special? + +With `.` being everpresent in every proc, can we use it as a temporary variable? Of course we can! However, the `.` operator cannot replace a typecasted variable - it can hold data any other var in DM can, it just can't be accessed as one, although the `.` operator is compatible with a few operators that look weird but work perfectly fine, such as: `.++` for incrementing `.'s` value, or `.[1]` for accessing the first element of `.`, provided that it's a list. + +## Globals versus static + +DM has a var keyword, called global. This var keyword is for vars inside of types. For instance: + +```DM +mob + var + global + thing = TRUE +``` +This does NOT mean that you can access it everywhere like a global var. Instead, it means that that var will only exist once for all instances of its type, in this case that var will only exist once for all mobs - it's shared across everything in its type. (Much more like the keyword `static` in other languages like PHP/C++/C#/Java) + +Isn't that confusing? + +There is also an undocumented keyword called `static` that has the same behaviour as global but more correctly describes BYOND's behaviour. Therefore, we always use static instead of global where we need it, as it reduces suprise when reading BYOND code. + ## Maintainers The only current official role for GitHub staff are the `Maintainers`. There are up to three `Maintainers` at once, and they share equal power. The `Maintainers` are diff --git a/.github/SETTING_UP_GIT.md b/.github/SETTING_UP_GIT.md index 84902783659..4eca3d017cb 100644 --- a/.github/SETTING_UP_GIT.md +++ b/.github/SETTING_UP_GIT.md @@ -7,7 +7,7 @@ package manager, whatever that may be. --- - +## Windows user ## Git-SCM So you want to start contributing to Paradise? Where, well do you start? First off, you will need some tools to work with Git, the @@ -27,17 +27,17 @@ There should be four big orange buttons on the front page of the site when you go there. You will want to click on the one labeled "Downloads". ![https://i.imgur.com/a6tX7IV.png](https://i.imgur.com/a6tX7IV.png) -From here, you will want to select your operating system in this box. +From here, you will want to select your operating system in this box. ![https://i.imgur.com/Ee4wVsF.png](https://i.imgur.com/Ee4wVsF.png) Download the `setup` version, which should automatically start downloading when you select your operating system. Place it wherever you prefer to store your downloaded files. You should end up with a file that looks like -`Git-version.number.here-32/64-bit.exe`. You should run this executable file. +`Git-version.number.here-32/64-bit.exe`. You should run this executable file. ![https://i.imgur.com/jnbodzV.png](https://i.imgur.com/jnbodzV.png) Click Next, after reading the GNU-GPL license if you wish to do so, which will -bring you to this screen. +bring you to this screen. ![https://i.imgur.com/cl9RodU.png](https://i.imgur.com/cl9RodU.png) Your default options may be different than this- You'll want to amend them to @@ -45,7 +45,7 @@ match this screenshot. (Future proofing: `Windows Explorer integration` partiall selected, just for `Git Bash Here`, `Git LFS (Large File Support)` checked, and `Associate .git* configuration files with the default text editor` checked. All other boxes should be left unchecked). Click next. The next screen is very -important. +important. ![https://i.imgur.com/6ii7aRO.png](https://i.imgur.com/6ii7aRO.png) The screen should say `Adjusting your PATH environment`. You will definitely want @@ -55,18 +55,18 @@ terminal emulators will be unable to use Git, as will the windows command prompt Select `Use the OpenSSL library` for `Choosing HTTPS transport backend`. -For Windows, you will also get the following screen: +For Windows, you will also get the following screen: ![https://i.imgur.com/jOZJWvO.png](https://i.imgur.com/jOZJWvO.png) You will want to select "Checkout Windows-style, commit Unix-style line endings" for working with our repository. If you get the choice between MinTTY and Windows' default console window, select -MinTTY. +MinTTY. ![https://i.imgur.com/ZdZU0NB.png](https://i.imgur.com/ZdZU0NB.png) For `configuring extra options`, select `Enable file system caching` and -`Enable Git Credential Manager`, leaving `Enable symbolic links` disabled. +`Enable Git Credential Manager`, leaving `Enable symbolic links` disabled. ![https://i.imgur.com/6gspQAL.png](https://i.imgur.com/6gspQAL.png) From there, just hit `Install`. From e352741f2b509ad1077d961f91bbe8a75341f9fe Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 14 Apr 2018 14:17:06 +0100 Subject: [PATCH 005/308] Keeps old fortune cookie behaviour if a non-blank paper is used in the recipe --- code/modules/food_and_drinks/food/snacks.dm | 10 +--------- .../food_and_drinks/recipes/recipes_oven.dm | 18 ++++++------------ 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index ca0c1bd2e7c..049f78fa5f9 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1054,15 +1054,7 @@ icon_state = "fortune_cookie" filling_color = "#E8E79E" list_reagents = list("nutriment" = 3) - var/obj/item/weapon/paper/fortune/F - -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/New() - ..() - F = new /obj/item/weapon/paper/fortune(src) - -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/Post_Consume(mob/living/carbon/human/user) - to_chat(user, "[F] falls out of [src]!") - user.put_in_hands(F) + trash = /obj/item/weapon/paper /obj/item/weapon/reagent_containers/food/snacks/badrecipe name = "Burned mess" diff --git a/code/modules/food_and_drinks/recipes/recipes_oven.dm b/code/modules/food_and_drinks/recipes/recipes_oven.dm index a1b684d9343..2fcb2eb95a0 100644 --- a/code/modules/food_and_drinks/recipes/recipes_oven.dm +++ b/code/modules/food_and_drinks/recipes/recipes_oven.dm @@ -180,21 +180,15 @@ result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie /datum/recipe/oven/fortunecookie/make_food(obj/container) - var/obj/item/weapon/paper/paper = locate() in container - paper.loc = null //prevent deletion + var/obj/item/weapon/paper/P = locate() in container var/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/being_cooked = ..() - paper.loc = being_cooked - being_cooked.trash = paper //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn + if(P.info) + P.loc = being_cooked //Prevents the oven deleting our paper + being_cooked.trash = P //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn + else + being_cooked.trash = new /obj/item/weapon/paper/fortune(being_cooked) return being_cooked -/datum/recipe/oven/fortunecookie/check_items(obj/container) - . = ..() - if(.) - var/obj/item/weapon/paper/paper = locate() in container - if(!paper || !paper.info) - return -1 - return . - /datum/recipe/oven/pizzamargherita items = list( /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, From b66c700a638b4e7fc5085ffd97d478306d3085f2 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 14 Apr 2018 16:40:25 +0100 Subject: [PATCH 006/308] tigercat & falseincarnate code suggestions --- code/_globalvars/lists/fortunes.dm | 4 ++-- code/modules/food_and_drinks/food/snacks.dm | 2 +- code/modules/food_and_drinks/recipes/recipes_oven.dm | 7 +++---- code/modules/paperwork/paper.dm | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code/_globalvars/lists/fortunes.dm b/code/_globalvars/lists/fortunes.dm index 0ccf794d6b0..409f7d10392 100644 --- a/code/_globalvars/lists/fortunes.dm +++ b/code/_globalvars/lists/fortunes.dm @@ -1,4 +1,4 @@ -var/global/list/fortune_cookie_messages = list("A woman named [pick(first_names_female)] may have an opportunity for you.", +GLOBAL_LIST_INIT(fortune_cookie_messages, list("A woman named [pick(first_names_female)] may have an opportunity for you.", "A man named [pick(first_names_male)] may have an opportunity for you.", "If you feel you are right, stand firmly by your convictions.", "A stranger is a friend you have not spoken to yet.", @@ -18,4 +18,4 @@ var/global/list/fortune_cookie_messages = list("A woman named [pick(first_names_ "A chance meeting opens new doors to success and friendship.", "The greatest danger could be your stupidity.", "He who laughs at himself never runs out of things to laugh at.", -"Help! I'm being held prisoner in a Nanotrasen bakery!") +"Help! I'm being held prisoner in a Nanotrasen bakery!")) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 049f78fa5f9..0e5009a1225 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1054,7 +1054,7 @@ icon_state = "fortune_cookie" filling_color = "#E8E79E" list_reagents = list("nutriment" = 3) - trash = /obj/item/weapon/paper + trash = /obj/item/weapon/paper/fortune /obj/item/weapon/reagent_containers/food/snacks/badrecipe name = "Burned mess" diff --git a/code/modules/food_and_drinks/recipes/recipes_oven.dm b/code/modules/food_and_drinks/recipes/recipes_oven.dm index 2fcb2eb95a0..95dfa1c77dd 100644 --- a/code/modules/food_and_drinks/recipes/recipes_oven.dm +++ b/code/modules/food_and_drinks/recipes/recipes_oven.dm @@ -181,12 +181,11 @@ /datum/recipe/oven/fortunecookie/make_food(obj/container) var/obj/item/weapon/paper/P = locate() in container + P.loc = null //So we don't delete the paper while cooking the cookie var/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/being_cooked = ..() - if(P.info) - P.loc = being_cooked //Prevents the oven deleting our paper + if(P.info) //If there's anything written on the paper, just move it into the fortune cookie + P.forceMove(being_cooked) //Prevents the oven deleting our paper being_cooked.trash = P //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn - else - being_cooked.trash = new /obj/item/weapon/paper/fortune(being_cooked) return being_cooked /datum/recipe/oven/pizzamargherita diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 446718986f2..b15c5bc7fe2 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -486,7 +486,7 @@ /obj/item/weapon/paper/fortune/New() ..() - var/fortunemessage = pick(fortune_cookie_messages) + var/fortunemessage = pick(GLOB.fortune_cookie_messages) info = "

[fortunemessage]

" info += "Lucky numbers: [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)]" From dd2b615b3a70b1adc81e8ee361f9cdf75d063927 Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Sat, 14 Apr 2018 10:20:21 -0700 Subject: [PATCH 007/308] MINIMAN10000's suggestion (changelog instructions in PR section) --- .github/CONTRIBUTING.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0e0eee8be53..257cb8b07cf 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -45,6 +45,24 @@ actual development. conflicts for an existing pull request. New pull requests should not have any merge commits. Use `git rebase` or `git reset` to update your branches, not `git pull`. +#### Using Changelog + - Tags used in changelog include add/rscadd, del/rscdel, fix/fixes, typo/spellcheck. + - Without specifying a name it will default to using your GitHub name. + Some examples +``` +:cl: +add: The ability to change the color of wires +del: Deleted depreciated wire merging now handled in parent +fix: Moving wires now follows the user input instead of moving the stack +/:cl: +``` +``` +:cl: N3X15 +typo: Fixes some misspelled words under Using Changelog +/:cl: +``` + + ## Specifications As mentioned before, you are expected to follow these specifications in order to make everyone's lives easier. It'll save both your time and ours, by making From e919164424048cccddd087201c93cdaa1c6dc06e Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Sat, 14 Apr 2018 10:23:18 -0700 Subject: [PATCH 008/308] Standardize to * lists instead of - lists --- .github/CONTRIBUTING.md | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 257cb8b07cf..5e5646c5da8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -21,7 +21,7 @@ reporting bugs in the code. Refer to ISSUE_TEMPLATE for the exact format that yo should be in. #### Guidelines: - - Issue reports should be as detailed as possible, and if applicable, should include + * Issue reports should be as detailed as possible, and if applicable, should include instructions on how to reproduce the bug. ## Pull requests @@ -31,23 +31,23 @@ strongly recommended you get approval/traction for it from our forums before sta actual development. #### Guidelines: - - Pull requests should be atomic; Make one commit for each distinct change, so if a part + * Pull requests should be atomic; Make one commit for each distinct change, so if a part of a pull request needs to be removed/changed, you may simply modify that single commit. Due to limitations of the engine, this may not always be possible; but do try your best. - - Document and explain your pull requests thoroughly. Detail what each commit changes, + * Document and explain your pull requests thoroughly. Detail what each commit changes, and why it changes it. We do not want to have to read all of you commit names to figure out what your pull request is about. - - Any pull request that is not solely composed of fixes or non gameplay-affecting + * Any pull request that is not solely composed of fixes or non gameplay-affecting refactors must have a changelog. Inline changelogs are supported through the format described [here](https://github.com/ParadiseSS13/Paradise/pull/3291#issuecomment-172950466) and should be used rather than manually edited .yml file changelogs. - - Pull requests should not have any merge commits except in the case of fixing merge + * Pull requests should not have any merge commits except in the case of fixing merge conflicts for an existing pull request. New pull requests should not have any merge commits. Use `git rebase` or `git reset` to update your branches, not `git pull`. #### Using Changelog - - Tags used in changelog include add/rscadd, del/rscdel, fix/fixes, typo/spellcheck. - - Without specifying a name it will default to using your GitHub name. + * Tags used in changelog include add/rscadd, del/rscdel, fix/fixes, typo/spellcheck. + * Without specifying a name it will default to using your GitHub name. Some examples ``` :cl: @@ -273,45 +273,45 @@ This prevents nesting levels from getting deeper then they need to be. SS13 has a lot of legacy code that's never been updated. Here are some examples of common legacy trends which are no longer acceptable: * To display messages to all mobs that can view `src`, you should use `visible_message()`. - - Bad: + * Bad: ``` for(var/mob/M in viewers(src)) M.show_message("Arbitrary text") ``` - - Good: + * Good: ``` visible_message("Arbitrary text") ``` * You should not use color macros (`\red, \blue, \green, \black`) to color text, instead, you should use span classes. `red text`, `blue text`. - - Bad: + * Bad: ``` usr << "\red Red Text \black black text" ``` - - Good: + * Good: ``` usr << "Red Textblack text" ``` * To use variables in strings, you should **never** use the `text()` operator, use embedded expressions directly in the string. - - Bad: + * Bad: ``` usr << text("\The [] is leaking []!", src.name, src.liquid_type) ``` - - Good: + * Good: ``` usr << "\The [src] is leaking [liquid_type]" ``` * To reference a variable/proc on the src object, you should **not** use `src.var`/`src.proc()`. The `src.` in these cases is implied, so you should just use `var`/`proc()`. - - Bad: + * Bad: ``` var/user = src.interactor src.fillReserves(user) ``` - - Good: + * Good: ``` var/user = interactor fillReserves(user) @@ -465,21 +465,21 @@ responsible for properly tagging new pull requests and issues, moderating commen pull requests/issues, and merging/closing pull requests. ### Maintainer List - - [tigercat2000](https://github.com/tigercat2000) - - [Fox P McCloud](https://github.com/Fox-McCloud) - - [Crazy Lemon](https://github.com/Crazylemon64) +* [tigercat2000](https://github.com/tigercat2000) +* [Fox P McCloud](https://github.com/Fox-McCloud) +* [Crazy Lemon](https://github.com/Crazylemon64) ### Maintainer instructions - - Do not `self-merge`; this refers to the practice of opening a pull request, then +* Do not `self-merge`; this refers to the practice of opening a pull request, then merging it yourself. A different maintainer must review and merge your pull request, no matter how trivial. This is to ensure quality. - - A subset of this instruction: Do not push directly to the repository, always make a + * A subset of this instruction: Do not push directly to the repository, always make a pull request. - - Wait for the Travis CI build to complete. If it fails, the pull request may only be +* Wait for the Travis CI build to complete. If it fails, the pull request may only be merged if there is a very good reason (example: fixing the Travis configuration). - - Pull requests labeled as bugfixes and refactors may be merged as soon as they are +* Pull requests labeled as bugfixes and refactors may be merged as soon as they are reviewed. - - The shortest waiting period for -any- feature or balancing altering pull request is 24 +* The shortest waiting period for -any- feature or balancing altering pull request is 24 hours, to allow other coders and the community time to discuss the proposed changes. - - If the discussion is active, or the change is controversial, the pull request is to be +* If the discussion is active, or the change is controversial, the pull request is to be put on hold until a consensus is reached. From 5f4b2eef0a0af7885b47ea6920785cbb55628e40 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 15 Apr 2018 16:40:55 +0100 Subject: [PATCH 009/308] More fortunes --- code/_globalvars/lists/fortunes.dm | 44 +++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/code/_globalvars/lists/fortunes.dm b/code/_globalvars/lists/fortunes.dm index 409f7d10392..546e33f913f 100644 --- a/code/_globalvars/lists/fortunes.dm +++ b/code/_globalvars/lists/fortunes.dm @@ -1,21 +1,57 @@ -GLOBAL_LIST_INIT(fortune_cookie_messages, list("A woman named [pick(first_names_female)] may have an opportunity for you.", -"A man named [pick(first_names_male)] may have an opportunity for you.", -"If you feel you are right, stand firmly by your convictions.", +GLOBAL_LIST_INIT(fortune_cookie_messages, list("If you feel you are right, stand firmly by your convictions.", "A stranger is a friend you have not spoken to yet.", "Yesterday, you said tomorrow. Just do it!", +"Do, or do not. There is no try.", +"Fear leads to anger. Anger leads to hate. Hate leads to suffering.", "Luck always favours the prepared mind.", +"A smile is your passport into the hearts of others.", +"Hard work pays off in the future, laziness pays off now.", +"Change can hurt, but it leads a path to something better.", +"If winter comes soon, can spring be far behind?", +"Love with your heart; use your head for everything else.", +"The man on the top of the mountain did not fall there.", +"The greatest risk is not taking one.", +"Strategy without tactics is the slowest route to victory.
Tactics without strategy is the noise before defeat.", +"If you are far from the enemy, make him believe you are near.", +"He who knows when he can fight and when he cannot, will be victorious.", +"A clever person solves a problem. A wise person avoids it.", +"When fighting for freedom, never wear new pants.", +"If you want the rainbow, you must put up with the rain.", +"Get ready! Good fortune comes in bunches.", +"An exciting opportunity lies ahead of you.", +"A journey of a thousand miles begins with a single step.", +"Expect the unexpected.", +"Live this day as if it were your last.", +"Remember the compliments you receive; forget the insults.", +"A chance meeting opens new doors to success and friendship.", "Failure is the mother of success.", "A rolling stone gathers no moss.", "When life gives you lemons, make lemonade.", "You will inherit some money or a small piece of land.", "Happy news is on its way to you.", +"A pleasant surprise is in store for you.", +"You will be invited to an exciting event.", +"Keep your plans secret for now.", "You will live a long, happy life.", "When one door closes, another opens.", "Life is a canvas, and you are its painter.", "Failure to prepare is to prepare to fail.", "Beware the robot that thinks for itself.", +"The early bird gets the worm, but the second mouse gets the cheese.", +"Don't pursue happiness - create it.", +"Courage is not the absence of fear; it is the conquest of it.", +"All things are difficult before they are easy.", +"A ship in harbour is safe, but that's not why ships are built.", +"Hardly anyone knows how much is gained by ignoring the future.", +"The wise man is the one that makes you think that he is dumb.", +"Hatred outlives the hateful.", +"The fatal flaw in every plan is the assumption that you know more than the enemy", +"A journey of a thousand miles begins with a single step.", +"Dig the well before you are thirsty.", +"Be not afraid of growing slowly, be afraid only of standing still.", +"Do not remove a fly from your friend's forehead with a hatchet.", "A foolish man listens to his heart.
A wise man listens to cookies.", -"A chance meeting opens new doors to success and friendship.", +"Thank you! But your fortune is in another cookie!", "The greatest danger could be your stupidity.", "He who laughs at himself never runs out of things to laugh at.", "Help! I'm being held prisoner in a Nanotrasen bakery!")) From 434a23d016f5c2b32899c1e480f0aa0028ed5604 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 15 Apr 2018 21:33:38 +0100 Subject: [PATCH 010/308] p tag instead of span tag --- code/modules/paperwork/paper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b15c5bc7fe2..bb2d4b05e39 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -488,7 +488,7 @@ ..() var/fortunemessage = pick(GLOB.fortune_cookie_messages) info = "

[fortunemessage]

" - info += "Lucky numbers: [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)]" + info += "

Lucky numbers: [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)]

" /obj/item/weapon/paper/fortune/update_icon() ..() From 4ad9c1b1d84f3c14d34f66ddc85699e5f802cd86 Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Thu, 19 Apr 2018 15:36:10 -0800 Subject: [PATCH 011/308] Fox's requests --- .github/CONTRIBUTING.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5e5646c5da8..c59c1225db2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -370,11 +370,7 @@ in the SQL/updates folder. * If you used regex to replace code during development of your code, post the regex in your PR for the benefit of future developers and downstream users. -#### Enforced not enforced -The following coding styles are not only not enforced at all, but are generally frowned upon to change for little to no reason: - -* English/British spelling on var/proc names - * Color/Colour - both are fine, but keep in mind that BYOND uses `color` as a base variable +* All new var/proc names should use the American English spelling of words. This is for consistency with BYOND. ### Dream Maker Quirks/Tricks Like all languages, Dream Maker has its quirks, some of them are beneficial to us, like these @@ -429,7 +425,7 @@ for(var/s in bag_of_swords) best_sword = S ``` Of course, if the list contains data of a mixed type then the above optimisation is DANGEROUS, as it will blindly typecast all data in the list as the -specified type, even if it isn't really that type, causing runtime errors. +specified type, even if it isn't really that type, causing runtime errors (AKA your shit won't work if this happens). #### Dot variable Like other languages in the C family, DM has a ```.``` or "Dot" operator, used for accessing variables/members/functions of an object instance. @@ -458,6 +454,23 @@ Isn't that confusing? There is also an undocumented keyword called `static` that has the same behaviour as global but more correctly describes BYOND's behaviour. Therefore, we always use static instead of global where we need it, as it reduces suprise when reading BYOND code. +### Global Vars + +All new global vars must use the defines in code/\_\_defines/\_globals.dm. Basic usage is as follows: + +To declare a global var: +```DM +GLOBAL_VAR(my_global_here) +``` +To access it: +``` +GLOB.my_global_here = X +``` + +There are a few other defines that do other things. `GLOBAL_REAL` shouldn't be used unless you know exactly what you're doing. +`GLOBAL_VAR_INIT` allows you to set an initial value on the var, like `GLOBAL_VAR_INIT(number_one, 1)`. +`GLOBAL_LIST_INIT` allows you to define a list global var with an initial value. Etc. + ## Maintainers The only current official role for GitHub staff are the `Maintainers`. There are up to three `Maintainers` at once, and they share equal power. The `Maintainers` are From 452e2b723a57fd636703d538305665e0a2b1e4f4 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 20 Apr 2018 19:41:57 +0100 Subject: [PATCH 012/308] fortune cookies aren't weapons silly --- code/modules/food_and_drinks/food/snacks.dm | 2 +- code/modules/paperwork/paper.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 99c0681b43c..6242b50c2e1 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1054,7 +1054,7 @@ icon_state = "fortune_cookie" filling_color = "#E8E79E" list_reagents = list("nutriment" = 3) - trash = /obj/item/weapon/paper/fortune + trash = /obj/item/paper/fortune /obj/item/reagent_containers/food/snacks/badrecipe name = "Burned mess" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 3f1072a4d22..0b725b729ae 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -478,19 +478,19 @@ /obj/item/paper/crumpled/bloody icon_state = "scrap_bloodied" -/obj/item/weapon/paper/fortune +/obj/item/paper/fortune name = "fortune" icon_state = "slip" paper_height = 150 var/fortunemessage -/obj/item/weapon/paper/fortune/New() +/obj/item/paper/fortune/New() ..() var/fortunemessage = pick(GLOB.fortune_cookie_messages) info = "

[fortunemessage]

" info += "

Lucky numbers: [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)], [rand(1,49)]

" -/obj/item/weapon/paper/fortune/update_icon() +/obj/item/paper/fortune/update_icon() ..() icon_state = initial(icon_state) /* From fdc986174b149df09fd6e47c7956f7d73e94f306 Mon Sep 17 00:00:00 2001 From: FalseIncarnate Date: Mon, 30 Apr 2018 22:09:35 -0400 Subject: [PATCH 013/308] E.L.O. Fluff 2 Second fluff item for E.L.O., wasn't included in previous PR due to payment confirmation taking too long to bundle the two items together. Adds E.L.O.'s second fluff item: a medal. Ckey: `V-Force_Bomber` Character Name: `E.L.O.` --- code/modules/customitems/item_defines.dm | 9 ++++++++- icons/obj/clothing/ties_overlay.dmi | Bin 3589 -> 3808 bytes icons/obj/custom_items.dmi | Bin 93254 -> 93548 bytes 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index a075dbdfba3..6dca8eccc75 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1348,4 +1348,11 @@ righthand_file = 'icons/mob/inhands/fluff_righthand.dmi' icon_state = "teri_horn" item_state = "teri_horn" - honk_sound = 'sound/items/teri_horn.ogg' \ No newline at end of file + honk_sound = 'sound/items/teri_horn.ogg' + +/obj/item/clothing/accessory/medal/fluff/elo + name = "distinguished medal of loyalty and excellence" + desc = "This medal is cut into the shape of a Victoria Cross, and is awarded to those who have proven themselves to Nanotrasen with a long and successful career." + icon = 'icons/obj/custom_items.dmi' + icon_state = "elo-medal" + item_color = "elo-medal" \ No newline at end of file diff --git a/icons/obj/clothing/ties_overlay.dmi b/icons/obj/clothing/ties_overlay.dmi index a17fed4818c05044e473f5a2aedae38fd007a8ce..37bbfbf5d2508a039f6ce7759461f0083e6eb3dd 100644 GIT binary patch literal 3808 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 Y;zM=_q3@p7^vM-qtZ%M|x#1l9KQ%5gMF0Q* literal 3589 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 y&5~F}Ozx`)NwQk=yn$i=eVaK+JLv^OLxmsG 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%0AIyCvTpUr29Zt5b`GBUDn4w0<8(6-V6|# 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 OJyL$6RH9%W`o93QKznTf From fd1460f0cd47fb7f209bbe61c9a5bef40cfe7e73 Mon Sep 17 00:00:00 2001 From: Kyep Date: Wed, 9 May 2018 01:56:40 -0700 Subject: [PATCH 014/308] 2->4 atmos suits --- _maps/map_files/MetaStation/MetaStation.v41A.II.dmm | 9 ++++----- _maps/map_files/cyberiad/cyberiad.dmm | 5 +++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 145248966bc..ea718835a3d 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -2225,7 +2225,7 @@ "aQO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 5},/area/hallway/secondary/construction{name = "\improper Garden"}) "aQP" = (/obj/machinery/door/firedoor/border_only{density = 1; dir = 8; icon_state = "door_closed"; name = "Animal Pen A"; opacity = 1},/turf/simulated/floor/grass,/area/hallway/secondary/construction{name = "\improper Garden"}) "aQQ" = (/turf/simulated/floor/grass,/area/hallway/secondary/construction{name = "\improper Garden"}) -"aQR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/command/glass{name = "Bridge Access"; req_access_txt = "19"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge) +"aQR" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/hardsuit/atmos,/obj/item/clothing/head/helmet/space/hardsuit/atmos,/turf/simulated/floor/plasteel{dir = 9; icon_state = "caution"},/area/atmos) "aQS" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engine/engineering) "aQT" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/engine/engineering) "aQU" = (/turf/simulated/floor/plasteel{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/engine/engineering) @@ -5510,8 +5510,7 @@ "cbX" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/starboard) "cbY" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/medical/genetics) "cbZ" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "toxins_blastdoor"; name = "privacy shutters"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/mixing{name = "\improper Toxins Lab"}) -"cca" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/turf/simulated/floor/plasteel{dir = 9; icon_state = "caution"},/area/atmos) -"ccb" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "caution"},/area/atmos) +"cca" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/hardsuit/atmos,/obj/item/clothing/head/helmet/space/hardsuit/atmos,/turf/simulated/floor/plasteel{dir = 1; icon_state = "caution"},/area/atmos) "ccc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "caution"},/area/atmos) "ccd" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "blackcorner"},/area/atmos) "cce" = (/obj/machinery/meter,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible/purple,/turf/simulated/floor/plasteel,/area/atmos) @@ -8614,7 +8613,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaUNbBpbaBbaCbBqbBrbaBbaBbBsbBtbchbBubBvbBvbBvbBwbBxbBybBzbBAbBBbBCbBDbBEbBFbBGbBBbBHbBIbBJbBKbBKbBLbBKbBKarKbBMbBNbzKbBObBPbBQbBRbBSbzKbBTbBUbzKbBTbBUbzKbzPbfIbkJbqcbBVbClbBXdaebBYbBZbCabCbbwdbAkbDrbyqboEbDVbCgboEboEbAkbChbDWcgibyqbEfbEgbhwbCmbCnbCobCpbCqbCrbCsbCtbhtbhybbrbhzbspbCubCvbCwbCxbCybCzbCAbspbCBbCCbCCbCEbCFbCGbCHaoGaoGaoGaoGaoGaoGbCIaoGbCJbCKbCLbCMbCNbCNbCNbCNbCNbCMbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCMbCMbCMabqaaaaaaaaaabqaaaabqaaaabqaaaabeaaaabeaaaaaaaaaaaaaaaaaaaaaabqabqabqabqaaaaaaaaaabdaXHbsfbKkbvhbeXbeXaXLbBlbFhbFibFjbKnbFlbFmbFnbBlaXLbeXbeXbvhbvhbvibdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaaaUNbcdbcebcebDkbcebDlbDmbDnbDnbDobDnbDpbDqbEJbDsbDtbDubDvbDwbpBbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbBKbDKbDLapdbzKbDMbDNbBQbBRbBSbzKbDObDPbzKbDObDPbzKbDQbfIbkJbqcbqcaPCbqcbqcbqcaPGaPFbsObqcbFJbtQbDXboEbwibwibDYbDZbEabEbbEcbEdbEebshbFUbEhbEibEjbEkbElbEmbEnbhwcgjbhtbEpbbrbhzbspbEqbErbCybEsbCybEtbCybEubEvbCHbaubvzbEybEzbEAbEBbECbEDbEEbEFbEGbEHaoGbEIbwTbHCbCMbEKcgkbEMbENbEObCMbEPbEQbERbESbzLbEUbEVbEWbEXbEYbEZbFabCMabqabqabqabqabqabqabqaaaabeaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdclHbKpbKobKqbfbbgNaXLbBlbGPbGQbGRbMpbGTbGUbGVbBlaXLbgNbgQbMtbMrbMrbNXaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqaUNaUNaWDaUNbdQaUNaWDaUNaUNaUNaWDaUNaWDaWDaWDbnWbnXapfbFoapfapfbFpbFqbFpbFrbFpbFpbFpbFpbBKbBKbFsbFtbBKbBKbBKbFuaoXbzKbFvbFwbBQbFxbzKbzKbFybzKbzKbFzbzKbzKbFAbfIbkJbFBbFCbFDbFEbFFbFGbFDbFDbFHbFIbAkbHDbAdbFKbFLbFMbFNbFObFPbFQbFRbFSbyqbFTbAkbhwbFVbFWbFXbFYbFZbGabhwbGbbhtbhybbrbhzbspbGcbGdbGebGdbGfbGgbGhbGibEvbCHbvzbDSbCHbEvbGlbGmbGnbGobGpbGqbEGbCIaoGbGrbGsbGtbDTbGvbGwbGxbGybGzbCMbGAbGBbGCbGDbzLbGEbGFbGGbGHbGIbGJbGKbCMabqbGLbGLbGLbGLbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaabPHbNYbdMbeWbeXaXLbBlbIybIzbIAbPJbIBbRobIDbBlaXLbeXbeYbdMbRpbsdbPHaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabGWbGXbGXbGYbGXbGXbGXbGZbGXbGXbHaabqaUNbHbdfOdfPapfbWdbHJbHdbFpbHebHfbHgbHhbHibHjbFpbHkbHkbHlbHmbHnbHobBKbFubHpbzKbHqbHrbBQbBRbHsbHtbFwbHubHvbHwbHxbaibzPbfIbkJbFBbEwbDUbExbExbExbExbExbHzbFIaQRaPUbkWbkWbkWbETbGkbGjbHybGubkWbkWbkWaRjaUibhwbhwbEhbhwbhwbhwbhxbhwbHKbhtbHLbHMbhzbHAbHObHObHObHPbHObHQbHObHRbEvbEvbEvbEvbEvbCHbHEbHUbHVbHWbHXbHYbEGbCIaoGbHZbGsbIacglbIcbIdbIebIfbIgbHFbIibIjbIkbIlbzLbImbInbIobIpbIqbIrbIsbHGbIubIvbIwbIxbIxbGLabqaaabFcaaabFbaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaXHbdMbeWbeXaXLbKlbKlbKlbHNbRqbHNbKlbKlbKlaXLbeXbeYbdMaXOabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqaaabGWbGXbGXbGYbGXbGXbGXbGZbGXbGXbHaabqaUNbHbdfOdfPapfbWdbHJbHdbFpbHebHfbHgbHhbHibHjbFpbHkbHkbHlbHmbHnbHobBKbFubHpbzKbHqbHrbBQbBRbHsbHtbFwbHubHvbHwbHxbaibzPbfIbkJbFBbEwbDUbExbExbExbExbExbHzbFIaUiaPUbkWbkWbkWbETbGkbGjbHybGubkWbkWbkWaRjaUibhwbhwbEhbhwbhwbhwbhxbhwbHKbhtbHLbHMbhzbHAbHObHObHObHPbHObHQbHObHRbEvbEvbEvbEvbEvbCHbHEbHUbHVbHWbHXbHYbEGbCIaoGbHZbGsbIacglbIcbIdbIebIfbIgbHFbIibIjbIkbIlbzLbImbInbIobIpbIqbIrbIsbHGbIubIvbIwbIxbIxbGLabqaaabFcaaabFbaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdaXHbdMbeWbeXaXLbKlbKlbKlbHNbRqbHNbKlbKlbKlaXLbeXbeYbdMaXOabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGWbIGbIHbIIbIJbIJbIKbIJbIJbIJbIKbGYbHHaUNaUNdfQbIMapfbgYaEjaUubFpbIQbHfbHgbIRbISbITbFpbIUbIVbIWbIXbBKbBKbBKbFucgmbzKbIYbIZbBQbBRbBQbBQbBQbBQbBQbJabBQbzMbJbbJcbJdbJebJfbJgbJfbJhbJfbJgbJfbJibCibJkbJjbJmbJlbJpbJnbJnbJqbKYbJrbJsbJtbJubJvbJwbJxbJobJybJzbJobJAbJBbJobJCbJDbJEbJFbwxbJGbCybJHbCybJIbCybJJbCybJKbEvbEvbCHbEvbEvbJMbHIbHUbJObECbHXbJPbEGbCIaoGbJQbJRbyUbDTbJSbIdbJTbIdbJUbJVbJWbJXbJYbJZbzLbKabKbbKcbKdbKebKfbKgbzLabqbzLbKhbIxbKibGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXaXLbMobRrbMqbHNbRsbHNbMsbSXbMuaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKrbKsbKsbKsbKsbKsbKsbKsbKsbKsbKsbKtbKubKvbKudfQbKwapfbgYbKyanEbFpbKzbHfbHgbKAbHfbKBbFpbBKbKCbBKbHmbKDbKEbBKbFucgobzKbKFbHrbKGbKHbKIbKIbKIbKIbKIbKJbKIbKKbygbKLbKMbKNbKObKPbKObKQbSrbKSbKTbKUbKVbKWbKXbKOcnjbKZbLabLbbaybLdcpcbLebLfbLgbLhbLibLjbLkbLlbLmbLnbLobLpbLibLqbLrbLsbLtbLubLvbLwbLxbLybLybLzbLAbLwbLBbaNbbRbbQbCHbLFbCHbIhbLHbLIbLJbhabLLbLMbLNaoGbLObLPbLQbLRaUwbLTbLUbLVbLWbzLbLXbLYbLZbMabMbbMcbIobMdbMebMfbMgbMhbItbMjbMkbMlbIxbMmbGLabqaaabFcaaabFbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXaXLbNZbOabObbHNbRqbHNbObbOabOcaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMvbMwbMxbMybMzbMzbMAbMzbMzbMzbMAbGYaUNaUNaUNdfQbMBapfbjEapfapfbFpbMDbMEbMFbHfbHfbHfbFpbMGbMHbBKcgpbBKbBKbBKbMJbMKbMLbFwbFwbJabMMbMNbFwbFwbFwbFwbFwbMPbaibzPbMQbMRbMSbMSbMTbMUbMVbMSbMSbMWbMWbMXbMYbMWbMZbtkbNbbvlbMZbNdbNdbvybNfbCDbNdbNhbNibNjbNkbNhbNhbHBbNmbNlbNhbNobhtbNpbNqbNrbLGbNtbNubNtbNvbNwbCybCybHRbHSbEvbDRbILbHTbILbbRbJLbINbKmbJNbNEbEGbNFaoGbNGbNHbNIbNJbNKbNLbNMbNNbNObNPbNQbNRbGIbGFbzLbMibNcbNabNcbNabNgbNebzLabqbGLbGLbGLbGLbGLabqaaabFcaaabFbaaabFcabfabeabqabeabfabfabeabeaaaaaaaaaaaaaaaaaaaaaaaaabdclHbdMbeWbeXaXLbPIbOabOabOabSZbSYbOabOabPKaXLbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8627,7 +8626,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqabqabqaUNbUBbUBaUNdgndgjbBtbBtdgobBtbsxdgqapfbXHavUavUavUbDLapdatkaoXaqBayBapdbXIauyauCapfapfapfapfapfbXKapfapfbFucgmbzKbXLbXMbXNbXNbWsbWtbXPbzKcgtbXRbXSbzKbDQbfIbXTbMSbQdbXUbXVbXWbXXbOBbXYbXZbYabMWbMWbYbbYcbYdbYebYfbNdbYgbSdaVsbYibYjbNhbYkbYlbYmbYnbNUbYobYobYpbNhbYqbhtbYrbbrbOWbQIbYvbYEbYwbStcbacbbbUcbNzbNybNBbNAbNDbNCbUCbPObQIbEGbEGbEGbEGbEGbNFaoGbYGbUrasJasJchGchFaXPasJbCMbCMbYJbNRbVPbCNbYKbYLbGGbYMbVRbRgbYNbSUbItbMjbMkbYObVVbYPbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbeWbeXbeXbeXbeXbeXbeXbdObeXbeXbeXbeXbeXbeXbeYbdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabredgrdgtdgsdgvdgudgxdgwdgyapfapfapfapfbWmbYRavUbYSbYTbYUbYVbYVdfibYWbYVbYVbYTbYVbYVbYVbYZbYVaPTcgucgobzKbZbbZccgvbZebHrbZfbZgbzKbzKbzKbzKbzKbZhbfIbOvdeEbMSbZjbZjbZjbMSbMSbMWbMWbZkbMWbMWbZlbZlbZlbZmbZlbZnbZnbZobZpbZnbZnbNhbNhbNhbNhbNhbNhbZqbZqbZqbNhbZrdeFbZsbbrbZtbZubZvbZvbZvbZvbZvbZvbZxbZybZvbZvbZvbZvbQIbZzbWfbWnbWhbXibZEasJbZFbZGaoGbVLbZHbZIasJbYHckgasJarrbCMbZJbJWbZKbCNbCNbCNbZLbGGbZMbZNbRgbUwbRibzLabqbGLbGLbGLbGLbGLabqabqbRmabqbPGabqabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaXHbdMbKkbvhbvhbvhbvhbvhbvhbdObvhbvhbvhbvhbvhbvhbvibdMaXOabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgrdgfdgzdgzdgzdgzdgzdgAaaaabqaaabZPbZPbZQbZRbZSapfbZTapfapfapfaYabZUbZUbZUbZUbZUbZUbZUapfcgHapfapfbzKbZYbZZcaacabbHrbWscaccadcaeayBapfcafbzPcagcahcaicajcakcakcakcalcamcancaocakcapcaqcaicaicarcascarcarcatcarcaucavcavcawcaxcaycazcaAcaBcakcakcakcaCcaDcavcaEbbrcaFcgKbajcaIcaJbZwcaLcaMcaNcaKcaOcaQcaPcaRbQIcaScaTcaUbYxbYycaXcdobZGcaZaoGaoGaoGaoGaoGcmHbXtbCMbCMbCMcbcbJWbNRcbdbbdbbPbKacbgcbhcbibVScbjbPCbHGbIubIvcbkcblcblbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdclHcerbMrbMrbMrbMrbMrcLLcLLcQccLLcLLbMrbMrbMrbMrbMrbNXaWCabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgrdgJdgzdgzdgzdgzdgDdgraaaabqaaabZSbcEcbncbobZSapdcbpbPQcbqapfcbrbZUcbscbtcbucbvcbwbZUcgVcgUchnapfbzKbzKbzKbzKbzKbzKbzKbzKbzKaxqaoXapfcbxbzPcbycbzbekbekbekbekbekbekbenbekcbAcbBcbCbembekbekbekbvTcbDcbEcbFbekbekbekbekbekcbGcbHbekbekbenbekbekbekbekcbIbekcbAcbJcbKcbLcbMcbNcbOcbNcbPcbPcbQcbRcbScbPcbOcbTbQIbQIbQIbQIcbUcbVasIarrbdlcbXasIcbXazpbefaoGayoaoGbCMccaccbcccccdcceccfccfccfbMcbGGbGGbGGbRgccgbRibzLabqbzLcchcciccjbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaabPHbsdbsdbsdbPHbNYbbXcUIcUMcUIbbZaXOabqaaaaaaaaaabqaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgrdgJdgzdgzdgzdgzdgDdgraaaabqaaabZSbcEcbncbobZSapdcbpbPQcbqapfcbrbZUcbscbtcbucbvcbwbZUcgVcgUchnapfbzKbzKbzKbzKbzKbzKbzKbzKbzKaxqaoXapfcbxbzPcbycbzbekbekbekbekbekbekbenbekcbAcbBcbCbembekbekbekbvTcbDcbEcbFbekbekbekbekbekcbGcbHbekbekbenbekbekbekbekcbIbekcbAcbJcbKcbLcbMcbNcbOcbNcbPcbPcbQcbRcbScbPcbOcbTbQIbQIbQIbQIcbUcbVasIarrbdlcbXasIcbXazpbefaoGayoaoGbCMaQRccacccccdcceccfccfccfbMcbGGbGGbGGbRgccgbRibzLabqbzLcchcciccjbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaabPHbsdbsdbsdbPHbNYbbXcUIcUMcUIbbZaXOabqaaaaaaaaaabqaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgrdgzdgzdgzdgzdgzdgzdgraaaabqabqbZSccnccoccpbZSapdccqaEjapfapfccsbZUchyccuccvccwccxbZUapfapfapfapfavXchoccAccAccAccAchpccAccAccBbcGccCccDccEccFccGccIchschtccJccGccGccKccGbdabcXccLbcYbcXbcXbcXccMccNbcZbcYbcXbcXbcXbdbccOccPccQccQccQccRccQccQccQccSccTccOccUccVccWccXccYccZcdacdbcdccddcdecdfcdgcdhcdecdibZvcdjcdkbZvcbUcbVasIasIasIasIasIcdmcdocdocdpcdqcdrcdscdtcducdvcdwcdxbGGbGGbGGbGGbGGbInbGGbRgcdybSUbItbMjbMkcdzcblcdAbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdabdabdaXHcerbzhcWjbzhbNXaXOabdabdabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgrdgrdgBdgFdgFdgFdgrdgraaaabqaaabZScdCcdDcdEbZScdFapdcdGapfcdHceNbZUcdJcdKchvchycdNbZUceTceUceVbZUchychwchzchxaoXauyauJauCcdTcdTcdTcdTcdTcdTcdTchMchMchNchMcdUcdUcdUcdUcdVcdWcdWcdXcdYcdWcdZcdWceacebbbrceccedceecefceecegcehceeceeceibZubbgbbibbicejbZucekbZuaYxchOaYxbZvcenceocfDcdhcitcescdfcixcdhcetceubZvcevcewbZvcexceycezcdocdocdocdoceAceBceCceDceCceCbPmceFceGceHbGGceIbPwbPwbPwbPwbPwceJbGGbRgbUwceKbCMabqbGLbGLbGLbGLbGLabqaaabFcaaabFbaaabFcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaabsdbsdbsdbsdbsdaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgGdgHdgHdgHdgHdgHdgHdgGaaaabeaaabZSbTYceMbTYbZSapfapfapfapfbZUchPbZUceOchQceRchychSbZUcfVcfWcfVbZUbZUceZbZUbZUbZUbZUbZUbZUcdTcfachTbgHchUcfecffchMchWchVchXcdUchZchYcdUciacjdciacjjcjhciacjdciacjmcfocfpcfqcfrcOmcftcOmcfucfvcOmcftcOmcfwcfxcfxcfxcfxcfxcfybZucfzcfAcfBbajcfCcbOcdfcdhcdhcdecfDcdhcdhcdecfEbZvcfFcfGbZvcbUbgJcfIceCceCceCceCceCcfJcfKcfLcfKcfKbCMcfMcfNcfOcfPcfQbInbGGbGGceIbPwcfRbSSbRgcfSbRibCMabqabqabqabqabqabqabqabqbPFabqbPGabqbRmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdabdabdabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 91ff38abb2c..37021816407 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -7171,6 +7171,7 @@ "cHU" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/wall,/area/engine/break_room) "cHV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/wall/r_wall,/area/atmos/control) "cHW" = (/turf/simulated/floor/plasteel{tag = "icon-whitegreen (WEST)"; icon_state = "whitegreen"; dir = 8},/area/medical/virology/lab{name = "\improper Virology Lobby"}) +"cHX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/hardsuit/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/atmos,/turf/simulated/floor/plasteel,/area/atmos) "cHY" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel,/area/atmos/control) "cHZ" = (/obj/machinery/kitchen_machine/grill,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cIa" = (/obj/machinery/cooker/deepfryer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -9010,8 +9011,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwaaaaabaaaaabaabcVkaabaaaaabcVkaabaaaaabcVkaabaaaaaaaaaaaaaaaaaaaaaaaaaaacRzcRzcRzcVlcVdcVmcRAcVncNBcNNcTccTccTccTccVocTccUfcSUcVhcVicVjcGPcGRcGQcGTcGScGVcGUcGXcGWcGZcGYcHbcHacUtcTjcTecVxcVDcRXcRXcVFcPTcVGcVHcSdcVIcQPcVJcVEcVLcVKcVOcVMcVQcVPcVQcVRaabcQZcQZcQZcQZcQZcRecBPcHcctZctZcmJcKOcAucsLcyJcsLcMfcsLcHdchfchfchfcHechfctrbQXciYbUxcHfcBRcJKcJKcJKcWicWhcWpcWjcWqcWfcEHcEHcEHcEHcWgcWrcWwaaaaaaaaaaabaabaaaaaaaaaaaabGHbGHcFcbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwaabcNFcWxcNMaaacNFcWxcNMaaacNFcWxcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabcRzcRAcRAcRAcRAcWkcWlcWmcNBcWncNBcNBcMvcWocNBcSUcWzcWycVjcHhcUicWscWtcWucWucHkcWDcWCcWFaYtaZBcHkcWBcWHcWJcWIcWLcWKcWPcWMcWScWQcUGcWTcWUcWNcWOcWVcWWcWRcWYcWXcXbcXacXdcXccQpcSncXecWZcWZcQZcRecBPcGIcsLcsLcHlchfchfchfcyPcyPchfchfchfchfcHZcIacsLchfctrcIccIbcIbcIbcXmcXmcXmcXmcXmcXscXvcXtcXzcXxcNocXAcNocXAcNocXBcWwaaaaaaaaaaaaaabaabaaaaaaaaaaaabGHcFcbGHaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNFcWxcNMaabcNFcWxcNMaaacNFcWxcNMaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaaaaaaabaabcXucXucXucXucXucXucXucXCcXucXucSUcXwcXDcVjcHhcUicXycUicUicXEcRRcXGcXFcUwcIdcIecRRcXLcRXcTecXMcXOcXNcWPcXPcXJaZCcXRcXQcXVcXScXRcXWcXYcXXcYacSdcXTcXUcYccYbaabcTocYfcIfcXZcQZcRecBQcIgdfMdfMcIhcIichfcIkcIjcImcIlcIocInchfcsLcIpcsLchfctrcIqciYbQXcIrcIsciYcIucItcBRcYqcYscYrcYvcYqcYscYwcYxcYqcYscYycBRaabaabaabaabaabaabaabaabaabaabbGHcFcbGHbGHbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcWxcNMaaacNFcWxcNMaaacNFcWxcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabcXucYtcYtcYucYAcYBcYBcYDcYCcYCcYEcYGcYFcVjcHhcVjcYHcVjcVjcVjcRRcYLcIvcIxcIwcIycYIcYJcYQcYRcYMcYMcYMcYXcYUcYZaZHcZacYScVIcQPcYTcZbcYVcYWcZccSdcXTcZdcZgcZecZhcSncZicWZcWZcQZcRecBQckKcExchfcyJcJqcyPcJscImcJucJtcJvcsLcJwcYjcIpcJxchfctrcIqciYbQXcpEbQXciYcJzcIrcBRcZqcZscZrcxNcZtcZycZvcxNcZzcZBcZAcBRaabaabaaaaaaaaaaaaaaaaaaaaaaaabGHcFcbGGbGGbGHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcWxcNMaaacNFcWxcNMaabcNFcWxcNMaabaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacXucYtcYtcYucZucZucZucZCcZwcZxcSUcJBcJAcJDcJCcJFcJEcJHcZFcZFcZLcZOcZNcVjcVjcVjcZPcZRcZQcZMcJIcKscZVdacdabcSUcZScZSdafcVIcQPcZUdagcZWcZXcZYcSdcZZdahdajdaidadcQZcQZcQZcQZcQZcRecBQckKdaecsLcyJcJqchfcKvcKucKwcJtcKAcIjcKCcKBcKDcJxchfctrcIqcGLbQXcKEcKFciYcKGbQXcBRcMkcJKcJKcxNcMkcJKcJKcxNcMkcJKcJKcBRaaaaabaabaaaaaaaaaaaaaaacuQcuQbGHdaucuQbGGbGHbGHbGHcTQcTQaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcWxcNMaaacNFcWxcNMaaacNFcWxcNMaabaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaabaabaabcXucYtcYtcYucYAcYBcYBcYDcYCcYCcYEcYGcYFcVjcHhcVjcYHcVjcVjcVjcRRcYLcIvcIxcIwcIycYIcYJcYQcYRcYMcYMcYMcYXcYUcYZaZHcZacYScHXcQPcYTcZbcYVcYWcZccSdcXTcZdcZgcZecZhcSncZicWZcWZcQZcRecBQckKcExchfcyJcJqcyPcJscImcJucJtcJvcsLcJwcYjcIpcJxchfctrcIqciYbQXcpEbQXciYcJzcIrcBRcZqcZscZrcxNcZtcZycZvcxNcZzcZBcZAcBRaabaabaaaaaaaaaaaaaaaaaaaaaaaabGHcFcbGGbGGbGHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaabcNFcWxcNMaaacNFcWxcNMaabcNFcWxcNMaabaabaabaabaaaaabaaaaaaaabaabaaaaaaaaaaabaaaaaacXucYtcYtcYucZucZucZucZCcZwcZxcSUcJBcJAcJDcJCcJFcJEcJHcZFcZFcZLcZOcZNcVjcVjcVjcZPcZRcZQcZMcJIcKscZVdacdabcSUcZScZSdafcHXcQPcZUdagcZWcZXcZYcSdcZZdahdajdaidadcQZcQZcQZcQZcQZcRecBQckKdaecsLcyJcJqchfcKvcKucKwcJtcKAcIjcKCcKBcKDcJxchfctrcIqcGLbQXcKEcKFciYcKGbQXcBRcMkcJKcJKcxNcMkcJKcJKcxNcMkcJKcJKcBRaaaaabaabaaaaaaaaaaaaaaacuQcuQbGHdaucuQbGGbGHbGHbGHcTQcTQaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamhaabcNFdavcNMaaacNFdavcNMaaacNFdavcNMaabalvaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaabcXudaodapcZucZucZudaxdardardardardardardarcKHcKJcKIcKKdawdawdawdaFdaydaJdaAdaBdawdaydaKdaRcKLcKsdaSdacdabdaGdaHdaIdaTdaUdaLdaMdaNcZcdaOdaPdaVdaYdaWdaZcXcdbacSndbcdbbdbbcQZcRecBPckKchfcBNdaXcJqchfcKNcKMcJtcIjcJtcKScJtcJucJtcsLchfctrcIqciYbQXciYciYciYbQXbQXcBRdbfcKZcJKcxNdbfcKZcJKcxNdbfcKZcJKcBRaaaaaaaabaabaaaaaaaaaaaacuQdbgbGGcFccuQdbhcuQdbibGHaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaalvaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaabcXudbjcZucZucZucZucZudardbtdblcKTdbwdbvdarcKUdbqdbrcHhcVjcVjdbsdbBdbydbEdbCdbGdbFdbzcSUdbAcKLcKsdbHdacdbJcSUdbDcZSdbKdbLcSddaMdaNdbNcSddaPdaVcXTcXUdbOcYbdbIcTodbScLVdbWcQZcRecBPckKchfdbMdbMcJqchfcLYcsLcLZcIjcMccMbcMecMdcJGcJvcyPctrcIqciYbQXbQXcMhciYbQXaqFcBRdbRcJKcJKcxNdbRcJKcJKcxNdbRcJKcJKcBRaaaaaaaaaaabaabaaaaaaaaacuQbGGbGGcFccuQbGGbGGbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalwalwalvalwalwamhalvalvalvalvalwalvalvalwdbTaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacXudbUcZwcZucZucZudbVdardbldcccMOcMTcMScMVcMUcMYcMWcMZcVjdcmdcldchdcocNbcNacNcdcrdcndcwdbrcHhdcydcxcZMdczcSUdcscZSdctdcLcSddaMdaNcZccSddcvdaVcXTdcOdcRcZedcScSndcTdbbdbbcQZcRecBQckKdcAcuccABcJqchfchfcNdcNecDncNfcNfcNgchfchfchfchfctrcIqciYbQXcNhcKFciYcepcepcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRcBRaaaaaaaaaaaaaabaabaaaaaabGHbGHbGHcFccuQdcJdcKbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From ca8499897cc7662990f184a13bc3351ba20e987f Mon Sep 17 00:00:00 2001 From: Citinited Date: Wed, 9 May 2018 22:17:44 +0100 Subject: [PATCH 015/308] Adds macaroni and derivative foodstuffs --- code/modules/food_and_drinks/food/snacks.dm | 29 ++++++++++++++++++ .../kitchen_machinery/processor.dm | 4 +++ .../recipes/recipes_microwave.dm | 8 +++++ .../food_and_drinks/recipes/recipes_oven.dm | 9 ++++++ icons/obj/food/food.dmi | Bin 130184 -> 132180 bytes 5 files changed, 50 insertions(+) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 9eb2bb7fb13..eb38057c7a2 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1040,6 +1040,21 @@ filling_color = "#EDDD00" list_reagents = list("nutriment" = 1, "vitamin" = 1) +/obj/item/reagent_containers/food/snacks/macaroni + name = "Macaroni twists" + desc = "These are little twists of raw macaroni." + icon_state = "macaroni" + filling_color = "#EDDD00" + list_reagents = list("nutriment" = 1, "vitamin" = 1) + +/obj/item/reagent_containers/food/snacks/macncheese + name = "Macaroni cheese" + desc = "One of the most comforting foods in the world. Apparently." + trash = /obj/item/trash/snack_bowl + icon_state = "macncheese" + filling_color = "#ffe45d" + list_reagents = list("nutriment" = 5, "vitamin" = 2, "cheese" = 4) + /obj/item/reagent_containers/food/snacks/cheesyfries name = "Cheesy Fries" desc = "Fries. Covered in cheese. Duh." @@ -2065,6 +2080,20 @@ icon_state = "hawaiianpizzaslice" filling_color = "#e5b437" +/obj/item/reagent_containers/food/snacks/sliceable/pizza/macpizza + name = "Macaroni cheese pizza" + desc = "Gastronomists have yet to classify this dish as 'pizza'." + icon_state = "macpizza" + slice_path = /obj/item/reagent_containers/food/snacks/macpizzaslice + list_reagents = list("nutriment" = 40, "vitamin" = 5) //More nutriment because carbs, but it's not any more vitaminicious + filling_color = "#ffe45d" + +/obj/item/reagent_containers/food/snacks/macpizzaslice + name = "Macaroni cheese pizza slice" + desc = "A delicious slice of pizza topped with macaroni cheese... wait, what the hell? Who would do this?!" + icon_state = "macpizzaslice" + filling_color = "#ffe45d" + /obj/item/pizzabox name = "pizza box" desc = "A box suited for pizzas." diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index dfbea528d53..ad4dcb5e4d8 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -87,6 +87,10 @@ input = /obj/item/reagent_containers/food/snacks/doughslice output = /obj/item/reagent_containers/food/snacks/spaghetti +/datum/food_processor_process/macaroni + input = /obj/item/reagent_containers/food/snacks/spaghetti + output = /obj/item/reagent_containers/food/snacks/macaroni + /datum/food_processor_process/parsnip input = /obj/item/reagent_containers/food/snacks/grown/parsnip output = /obj/item/reagent_containers/food/snacks/roastparsnip diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.dm b/code/modules/food_and_drinks/recipes/recipes_microwave.dm index effbcef37ba..a9936c31bc8 100644 --- a/code/modules/food_and_drinks/recipes/recipes_microwave.dm +++ b/code/modules/food_and_drinks/recipes/recipes_microwave.dm @@ -396,6 +396,14 @@ ) result = /obj/item/reagent_containers/food/snacks/spesslaw +/datum/recipe/microwave/macncheese + reagents = list("water" = 5) + items = list( + /obj/item/reagent_containers/food/snacks/cheesewedge, + /obj/item/reagent_containers/food/snacks/macaroni, + ) + result = /obj/item/reagent_containers/food/snacks/macncheese + /datum/recipe/microwave/superbiteburger reagents = list("sodiumchloride" = 5, "blackpepper" = 5) items = list( diff --git a/code/modules/food_and_drinks/recipes/recipes_oven.dm b/code/modules/food_and_drinks/recipes/recipes_oven.dm index b4b636a6ee7..025670aa817 100644 --- a/code/modules/food_and_drinks/recipes/recipes_oven.dm +++ b/code/modules/food_and_drinks/recipes/recipes_oven.dm @@ -264,6 +264,15 @@ ) result = /obj/item/reagent_containers/food/snacks/sliceable/pizza/hawaiianpizza +/datum/recipe/oven/macncheesepizza + items = list( + /obj/item/reagent_containers/food/snacks/sliceable/flatdough, + /obj/item/reagent_containers/food/snacks/cheesewedge, + /obj/item/reagent_containers/food/snacks/cheesewedge, + /obj/item/reagent_containers/food/snacks/macncheese, + ) + result = /obj/item/reagent_containers/food/snacks/sliceable/pizza/macpizza + /datum/recipe/oven/amanita_pie items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 3395b112947a16e7e3e0c13a5da3477bc79592d6..3a0ec2167149292eba2a60d3aa55772b3635bf36 100644 GIT binary patch delta 23431 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 delta 21434 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 z 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 From de62acadf4d90898eeedb019f6a9a92012d38780 Mon Sep 17 00:00:00 2001 From: Ansari Date: Thu, 17 May 2018 18:27:11 +0800 Subject: [PATCH 016/308] Add labeler to investigate logs --- code/modules/paperwork/handlabeler.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 2700c8702db..666fbcbc183 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -35,6 +35,7 @@ user.visible_message("[user] labels [A] as [label].", \ "You label [A] as [label].") + investigate_log("[key_name(user)] labelled [A] as [label].", "label") // Investigate goes BEFORE rename so the original name is preserved in the log A.name = "[A.name] ([label])" /obj/item/hand_labeler/attack_self(mob/user as mob) From 029fcde64940cf6a2712723772601ac865baae1d Mon Sep 17 00:00:00 2001 From: Ansari Date: Thu, 17 May 2018 18:35:06 +0800 Subject: [PATCH 017/308] Add 3000 delay to shuttle (5 minutes) on war declaration --- code/game/gamemodes/nuclear/nuclear_challenge.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 6bb181b4136..da161205d36 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -3,7 +3,7 @@ #define CHALLENGE_SCALE_PLAYER 1 // How many player per scaling bonus #define CHALLENGE_SCALE_BONUS 2 // How many TC per scaling bonus #define CHALLENGE_MIN_PLAYERS 50 -#define CHALLENGE_SHUTTLE_DELAY 15000 //25 minutes, so the ops have at least 5 minutes before the shuttle is callable. +#define CHALLENGE_SHUTTLE_DELAY 18000 //30 minutes, so the ops have at least 5 minutes before the shuttle is callable. Gives the nuke op at least 15 minutes before shuttle arrive. /obj/item/nuclear_challenge name = "Declaration of War (Challenge Mode)" From 985893687aa69c806ca67bfe18811c740f525aa6 Mon Sep 17 00:00:00 2001 From: Ansari Date: Thu, 17 May 2018 23:17:53 +0800 Subject: [PATCH 018/308] Fix grammar --- code/game/gamemodes/nuclear/nuclear_challenge.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index da161205d36..98bd3afc55b 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -3,7 +3,7 @@ #define CHALLENGE_SCALE_PLAYER 1 // How many player per scaling bonus #define CHALLENGE_SCALE_BONUS 2 // How many TC per scaling bonus #define CHALLENGE_MIN_PLAYERS 50 -#define CHALLENGE_SHUTTLE_DELAY 18000 //30 minutes, so the ops have at least 5 minutes before the shuttle is callable. Gives the nuke op at least 15 minutes before shuttle arrive. +#define CHALLENGE_SHUTTLE_DELAY 18000 //30 minutes, so the ops have at least 10 minutes before the shuttle is callable. Gives the nuke ops at least 15 minutes before shuttle arrive. /obj/item/nuclear_challenge name = "Declaration of War (Challenge Mode)" From 215232507650610ac5ba53d541226be1eebddfe8 Mon Sep 17 00:00:00 2001 From: Ansari Date: Fri, 18 May 2018 11:37:22 +0800 Subject: [PATCH 019/308] Uses define instead of string --- code/__DEFINES/misc.dm | 3 +++ code/modules/paperwork/handlabeler.dm | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 4f38a183a80..8962da6ba2f 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -344,5 +344,8 @@ //for obj explosion block calculation #define EXPLOSION_BLOCK_PROC -1 +// Defines for investigate to prevent typos and for styling +#define INVESTIGATE_LABEL "labels" + // The SQL version required by this version of the code #define SQL_VERSION 2 diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 666fbcbc183..e3cceb9738a 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -35,7 +35,7 @@ user.visible_message("[user] labels [A] as [label].", \ "You label [A] as [label].") - investigate_log("[key_name(user)] labelled [A] as [label].", "label") // Investigate goes BEFORE rename so the original name is preserved in the log + investigate_log("[key_name(user)] labelled [A] as [label].", INVESTIGATE_LABEL) // Investigate goes BEFORE rename so the original name is preserved in the log A.name = "[A.name] ([label])" /obj/item/hand_labeler/attack_self(mob/user as mob) From 3f1824093e92101d7ad0c349088e68f074f97f6b Mon Sep 17 00:00:00 2001 From: Ansari Date: Sat, 19 May 2018 15:28:53 +0800 Subject: [PATCH 020/308] Logs cryo ejection and content to prevent griffin --- code/game/machinery/cryo.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 63d5c9811b4..4fbd5a6ff1e 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -115,6 +115,7 @@ visible_message("[user] climbs into the cryo cell.") else visible_message("[user] puts [L.name] into the cryo cell.") + log_game("[key_name(user)] puts [key_name(L.name)] into a cryo cell at [COORD(src)].") if(user.pulling == L) user.stop_pulling() @@ -262,6 +263,7 @@ if(href_list["ejectOccupant"]) if(!occupant || isslime(usr) || ispAI(usr)) return 0 // don't update UIs attached to this object + log_game("[key_name(occupant)] ejected by [key_name(usr)] at cryo cell at [COORD(src)]") go_out() add_fingerprint(usr) @@ -269,16 +271,18 @@ /obj/machinery/atmospherics/unary/cryo_cell/attackby(var/obj/item/G as obj, var/mob/user as mob, params) if(istype(G, /obj/item/reagent_containers/glass)) + var/obj/item/reagent_containers/B = G if(beaker) to_chat(user, "A beaker is already loaded into the machine.") return if(!user.drop_item()) - to_chat(user, "The [G] is stuck to you!") + to_chat(user, "The [B] is stuck to you!") return - G.forceMove(src) - beaker = G + B.forceMove(src) + beaker = B + log_game("[user] added [B] containing [B.reagentlist(B)] to a cryo cell at [COORD(src)]") + user.visible_message("[user] adds \a [B] to \the [src]!", "You add \a [B] to \the [src]!") - user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!") if(istype(G, /obj/item/screwdriver)) if(occupant || on) @@ -452,6 +456,7 @@ else if(usr.incapacitated()) //are you cuffed, dying, lying, stunned or other return + log_game("[key_name(occupant)] ejected by [key_name(usr)] at cryo cell at [COORD(src)]") go_out() add_fingerprint(usr) return From 10c34f4ce9e666d2989a4fd3052b642c4610983f Mon Sep 17 00:00:00 2001 From: Ansari Date: Sat, 19 May 2018 18:45:14 +0800 Subject: [PATCH 021/308] Remove two \the. Refactors reagentlist while at it so that its default argument is src --- code/game/machinery/cryo.dm | 6 +++--- code/modules/food_and_drinks/food/condiment.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- code/modules/reagents/reagent_containers.dm | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 4fbd5a6ff1e..98b916d5240 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -276,12 +276,12 @@ to_chat(user, "A beaker is already loaded into the machine.") return if(!user.drop_item()) - to_chat(user, "The [B] is stuck to you!") + to_chat(user, "[B] is stuck to you!") return B.forceMove(src) beaker = B - log_game("[user] added [B] containing [B.reagentlist(B)] to a cryo cell at [COORD(src)]") - user.visible_message("[user] adds \a [B] to \the [src]!", "You add \a [B] to \the [src]!") + log_game("[user] added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]") + user.visible_message("[user] adds \a [B] to [src]!", "You add \a [B] to [src]!") if(istype(G, /obj/item/screwdriver)) diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index f9ec698f196..c40e47e213a 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -47,7 +47,7 @@ if(!reagents || !reagents.total_volume) return // The condiment might be empty after the delay. user.visible_message("[user] feeds [M] from [src].") - add_attack_logs(user, M, "Fed [src] containing [reagentlist(src)]") + add_attack_logs(user, M, "Fed [src] containing [reagentlist()]") var/fraction = min(10/reagents.total_volume, 1) reagents.reaction(M, INGEST, fraction) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index a1e4b555412..8a6c501186e 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1020,7 +1020,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, return 1 /mob/living/carbon/proc/forceFedAttackLog(var/obj/item/reagent_containers/food/toEat, mob/user) - add_attack_logs(user, src, "Fed [toEat]. Reagents: [toEat.reagentlist(toEat)]") + add_attack_logs(user, src, "Fed [toEat]. Reagents: [toEat.reagentlist()]") if(!iscarbon(user)) LAssailant = null else diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 28d8857efe1..ea098259af0 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -61,10 +61,10 @@ /obj/item/reagent_containers/afterattack(obj/target, mob/user , flag) return -/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers/snack) //Attack logs for regents in pills +/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers = src) //Attack logs for regents in pills var/data - if(snack && snack.reagents && snack.reagents.reagent_list && snack.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries - for(var/datum/reagent/R in snack.reagents.reagent_list) //no reagents will be left behind + if(src && src.reagents && src.reagents.reagent_list && src.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries + for(var/datum/reagent/R in src.reagents.reagent_list) //no reagents will be left behind data += "[R.id]([R.volume] units); " //Using IDs because SOME chemicals(I'm looking at you, chlorhydrate-beer) have the same names as other chemicals. return data else return "No reagents" From 6fbfe6cd3551950dd19ac3289ace91798becea85 Mon Sep 17 00:00:00 2001 From: Ansari Date: Sat, 19 May 2018 20:13:45 +0800 Subject: [PATCH 022/308] Fixes reagentlist so you are not locked to src and can use it to check something else's reagent list. It defaults to src. And make it so that your username is shown when putting stuffs in cryo --- code/game/machinery/cryo.dm | 2 +- code/modules/reagents/reagent_containers.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 98b916d5240..219d37ce627 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -280,7 +280,7 @@ return B.forceMove(src) beaker = B - log_game("[user] added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]") + log_game("[key_name(user)] added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]") user.visible_message("[user] adds \a [B] to [src]!", "You add \a [B] to [src]!") diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index ea098259af0..1ce02e2cffe 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -61,9 +61,9 @@ /obj/item/reagent_containers/afterattack(obj/target, mob/user , flag) return -/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers = src) //Attack logs for regents in pills +/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers/C = src) //Return reagents in a reagent_container, default to source var/data - if(src && src.reagents && src.reagents.reagent_list && src.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries + if(C && C.reagents && C.reagents.reagent_list && C.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries for(var/datum/reagent/R in src.reagents.reagent_list) //no reagents will be left behind data += "[R.id]([R.volume] units); " //Using IDs because SOME chemicals(I'm looking at you, chlorhydrate-beer) have the same names as other chemicals. return data From 0b79d8a9b792ebcd9800faeeb2b288986888eba9 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 20 May 2018 03:10:04 -0400 Subject: [PATCH 023/308] Cleans up some Machinery Attackby --- code/game/machinery/Freezer.dm | 14 ++- code/game/machinery/OpTable.dm | 21 ++--- code/game/machinery/PDApainter.dm | 18 ++-- code/game/machinery/Sleeper.dm | 115 ++++++++++++------------ code/game/machinery/adv_med.dm | 85 +++++++++--------- code/game/machinery/alarm.dm | 43 +++++---- code/game/machinery/cell_charger.dm | 12 +-- code/game/machinery/chiller.dm | 4 +- code/game/machinery/cloning.dm | 37 ++++---- code/game/machinery/cryopod.dm | 72 ++++++++------- code/game/machinery/doppler_array.dm | 12 +-- code/game/machinery/dye_generator.dm | 16 ++-- code/game/machinery/firealarm.dm | 44 +++++---- code/game/machinery/flasher.dm | 16 ++-- code/game/machinery/gameboard.dm | 13 +-- code/game/machinery/guestpass.dm | 16 ++-- code/game/machinery/hologram.dm | 13 +-- code/game/machinery/igniter.dm | 20 +++-- code/game/machinery/iv_drip.dm | 10 +-- code/game/machinery/navbeacon.dm | 11 +-- code/game/machinery/poolcontroller.dm | 10 +-- code/game/machinery/recharger.dm | 2 +- code/game/machinery/rechargestation.dm | 15 ++-- code/game/machinery/recycler.dm | 8 +- code/game/machinery/requests_console.dm | 23 ++--- code/game/machinery/spaceheater.dm | 25 +++--- code/game/machinery/syndicatebeacon.dm | 13 ++- code/game/machinery/syndicatebomb.dm | 3 +- code/game/machinery/teleporter.dm | 71 ++++++++------- code/game/machinery/transformer.dm | 6 +- code/game/machinery/vending.dm | 2 +- 31 files changed, 406 insertions(+), 364 deletions(-) diff --git a/code/game/machinery/Freezer.dm b/code/game/machinery/Freezer.dm index b065c87b8ab..4876c904de7 100644 --- a/code/game/machinery/Freezer.dm +++ b/code/game/machinery/Freezer.dm @@ -57,9 +57,10 @@ if(exchange_parts(user, I)) return - default_deconstruction_crowbar(I) + if(default_deconstruction_crowbar(I)) + return - if(istype(I, /obj/item/wrench)) + if(iswrench(I)) if(!panel_open) to_chat(user, "Open the maintenance panel first.") return @@ -75,6 +76,8 @@ break build_network() update_icon() + else + return ..() /obj/machinery/atmospherics/unary/cold_sink/freezer/update_icon() if(panel_open) @@ -216,9 +219,10 @@ if(exchange_parts(user, I)) return - default_deconstruction_crowbar(I) + if(default_deconstruction_crowbar(I)) + return - if(istype(I, /obj/item/wrench)) + if(iswrench(I)) if(!panel_open) to_chat(user, "Open the maintenance panel first.") return @@ -234,6 +238,8 @@ break build_network() update_icon() + else + return ..() /obj/machinery/atmospherics/unary/heat_reservoir/heater/update_icon() if(panel_open) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 3c9c27f1590..07d955390b7 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -143,19 +143,20 @@ take_victim(usr,usr) -/obj/machinery/optable/attackby(obj/item/W as obj, mob/living/carbon/user as mob, params) - if(istype(W, /obj/item/grab)) - if(iscarbon(W:affecting)) - take_victim(W:affecting,usr) - qdel(W) - return - if(istype(W, /obj/item/wrench)) - playsound(src.loc, W.usesound, 50, 1) - if(do_after(user, 20 * W.toolspeed, target = src)) +/obj/machinery/optable/attackby(obj/item/I, mob/living/carbon/user, params) + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I + if(iscarbon(G.affecting)) + take_victim(G.affecting, user) + qdel(G) + if(iswrench(I)) + playsound(loc, I.usesound, 50, 1) + if(do_after(user, 20 * I.toolspeed, target = src)) to_chat(user, "You deconstruct the table.") new /obj/item/stack/sheet/plasteel(loc, 5) qdel(src) - + else + return ..() /obj/machinery/optable/proc/check_table(mob/living/carbon/patient as mob) if(src.victim && get_turf(victim) == get_turf(src) && victim.lying) diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index a90bc66bce3..f3701945017 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -43,19 +43,21 @@ QDEL_NULL(storedpda) return ..() -/obj/machinery/pdapainter/attackby(var/obj/item/O as obj, var/mob/user as mob, params) - if(istype(O, /obj/item/pda)) +/obj/machinery/pdapainter/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/pda)) if(storedpda) to_chat(user, "There is already a PDA inside.") return else - var/obj/item/pda/P = usr.get_active_hand() + var/obj/item/pda/P = user.get_active_hand() if(istype(P)) - user.drop_item() - storedpda = P - P.loc = src - P.add_fingerprint(usr) - update_icon() + if(user.drop_item()) + storedpda = P + P.forceMove(src) + P.add_fingerprint(user) + update_icon() + else + return ..() /obj/machinery/pdapainter/attack_hand(mob/user as mob) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 7d386ddfb1a..cf04a159799 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -97,10 +97,10 @@ return if(beaker.reagents.total_volume < beaker.reagents.maximum_volume) - src.occupant.transfer_blood_to(beaker, 1) - for(var/datum/reagent/x in src.occupant.reagents.reagent_list) - src.occupant.reagents.trans_to(beaker, 3) - src.occupant.transfer_blood_to(beaker, 1) + occupant.transfer_blood_to(beaker, 1) + for(var/datum/reagent/x in occupant.reagents.reagent_list) + occupant.reagents.trans_to(beaker, 3) + occupant.transfer_blood_to(beaker, 1) if(occupant) for(var/A in occupant.reagents.addiction_list) @@ -117,7 +117,7 @@ if(M == occupant) continue else - M.forceMove(src.loc) + M.forceMove(loc) updateDialog() return @@ -253,7 +253,7 @@ to_chat(usr, "Close the maintenance panel first.") return 0 - if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) + if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) if(href_list["chemical"]) if(occupant) if(occupant.stat == DEAD) @@ -268,7 +268,7 @@ toggle_filter() if(href_list["ejectify"]) eject() - src.add_fingerprint(usr) + add_fingerprint(usr) return 1 /obj/machinery/sleeper/blob_act() @@ -280,31 +280,31 @@ return -/obj/machinery/sleeper/attackby(var/obj/item/G as obj, var/mob/user as mob, params) - if(istype(G, /obj/item/reagent_containers/glass)) +/obj/machinery/sleeper/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/reagent_containers/glass)) if(!beaker) if(!user.drop_item()) - to_chat(user, "\The [G] is stuck to you!") + to_chat(user, "[I] is stuck to you!") return - beaker = G - G.forceMove(src) - user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!") + beaker = I + I.forceMove(src) + user.visible_message("[user] adds \a [I] to [src]!", "You add \a [I] to [src]!") return else to_chat(user, "The sleeper has a beaker already.") return - if(istype(G, /obj/item/screwdriver)) - if(src.occupant) + if(isscrewdriver(I)) + if(occupant) to_chat(user, "The maintenance panel is locked.") return - default_deconstruction_screwdriver(user, "[base_icon]-o", "[base_icon]-open", G) + default_deconstruction_screwdriver(user, "[base_icon]-o", "[base_icon]-open", I) return - if(istype(G, /obj/item/wrench)) - if(src.occupant) + if(iswrench(I)) + if(occupant) to_chat(user, "The scanner is occupied.") return if(panel_open) @@ -312,51 +312,52 @@ return if(dir == 4) orient = "LEFT" - dir = 8 + setDir(8) else orient = "RIGHT" - dir = 4 - playsound(src.loc, G.usesound, 50, 1) + setDir(4) + playsound(loc, I.usesound, 50, 1) return - if(exchange_parts(user, G)) + if(exchange_parts(user, I)) return - if(istype(G, /obj/item/crowbar)) - default_deconstruction_crowbar(G) + if(default_deconstruction_crowbar(I)) return - if(istype(G, /obj/item/grab)) + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(panel_open) to_chat(user, "Close the maintenance panel first.") return - if(!ismob(G:affecting)) + if(!ismob(G.affecting)) return - if(src.occupant) + if(occupant) to_chat(user, "The sleeper is already occupied!") return - for(var/mob/living/carbon/slime/M in range(1,G:affecting)) - if(M.Victim == G:affecting) - to_chat(usr, "[G:affecting.name] will not fit into the sleeper because they have a slime latched onto their head.") + for(var/mob/living/carbon/slime/M in range(1, G.affecting)) + if(M.Victim == G.affecting) + to_chat(usr, "[G.affecting.name] will not fit into the sleeper because they have a slime latched onto their head.") return - visible_message("[user] starts putting [G:affecting:name] into the sleeper.") + visible_message("[user] starts putting [G.affecting:name] into the sleeper.") - if(do_after(user, 20, target = G:affecting)) - if(src.occupant) + if(do_after(user, 20, target = G.affecting)) + if(occupant) to_chat(user, "The sleeper is already occupied!") return - if(!G || !G:affecting) return + if(!G || !G.affecting) + return var/mob/M = G:affecting M.forceMove(src) - src.occupant = M - src.icon_state = "[base_icon]" + occupant = M + icon_state = "[base_icon]" to_chat(M, "You feel cool air surround you. You go numb as your senses turn inward.") - src.add_fingerprint(user) + add_fingerprint(user) qdel(G) - return - return + else + return ..() /obj/machinery/sleeper/ex_act(severity) @@ -365,21 +366,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return if(2.0) if(prob(50)) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return if(3.0) if(prob(25)) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return @@ -422,10 +423,10 @@ to_chat(user, "The sleeper does not offer that chemical!") return - if(src.occupant) - if(src.occupant.reagents) - if(src.occupant.reagents.get_reagent_amount(chemical) + amount <= max_chem) - src.occupant.reagents.add_reagent(chemical, amount) + if(occupant) + if(occupant.reagents) + if(occupant.reagents.get_reagent_amount(chemical) + amount <= max_chem) + occupant.reagents.add_reagent(chemical, amount) return else to_chat(user, "You can not inject any more of this chemical.") @@ -445,8 +446,8 @@ if(usr.incapacitated()) //are you cuffed, dying, lying, stunned or other return - src.icon_state = "[base_icon]-open" - src.go_out() + icon_state = "[base_icon]-open" + go_out() add_fingerprint(usr) return @@ -504,15 +505,15 @@ visible_message("[user] starts putting [L.name] into the sleeper.") if(do_after(user, 20, target = L)) - if(src.occupant) + if(occupant) to_chat(user, "The sleeper is already occupied!") return if(!L) return L.forceMove(src) - src.occupant = L - src.icon_state = "[base_icon]" + occupant = L + icon_state = "[base_icon]" to_chat(L, "You feel cool air surround you. You go numb as your senses turn inward.") - src.add_fingerprint(user) + add_fingerprint(user) if(user.pulling == L) user.stop_pulling() return @@ -527,7 +528,7 @@ set src in oview(1) if(usr.stat != 0 || !(ishuman(usr))) return - if(src.occupant) + if(occupant) to_chat(usr, "The sleeper is already occupied!") return if(panel_open) @@ -541,17 +542,17 @@ return visible_message("[usr] starts climbing into the sleeper.") if(do_after(usr, 20, target = usr)) - if(src.occupant) + if(occupant) to_chat(usr, "The sleeper is already occupied!") return usr.stop_pulling() usr.forceMove(src) - src.occupant = usr - src.icon_state = "[base_icon]" + occupant = usr + icon_state = "[base_icon]" for(var/obj/O in src) qdel(O) - src.add_fingerprint(usr) + add_fingerprint(usr) return return diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index f2dc8c8bfa2..dae751d9ed0 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -2,9 +2,9 @@ name = "body scanner" icon = 'icons/obj/Cryogenic2.dmi' icon_state = "bodyscanner-open" - density = 1 + density = TRUE dir = 8 - anchored = 1 + anchored = TRUE idle_power_usage = 1250 active_power_usage = 2500 @@ -32,7 +32,7 @@ if(M == occupant) continue else - M.forceMove(src.loc) + M.forceMove(loc) /obj/machinery/bodyscanner/New() ..() @@ -54,37 +54,36 @@ component_parts += new /obj/item/stack/cable_coil(null, 2) RefreshParts() -/obj/machinery/bodyscanner/attackby(var/obj/item/G as obj, var/mob/user as mob) - if(istype(G, /obj/item/screwdriver)) - if(src.occupant) +/obj/machinery/bodyscanner/attackby(obj/item/I, mob/user) + if(isscrewdriver(I)) + if(occupant) to_chat(user, "The maintenance panel is locked.") return - default_deconstruction_screwdriver(user, "bodyscanner-o", "bodyscanner-open", G) + default_deconstruction_screwdriver(user, "bodyscanner-o", "bodyscanner-open", I) return - if(istype(G, /obj/item/wrench)) - if(src.occupant) + if(iswrench(I)) + if(occupant) to_chat(user, "The scanner is occupied.") return if(panel_open) to_chat(user, "Close the maintenance panel first.") return if(dir == 4) - dir = 8 + setDir(8) else - dir = 4 - playsound(src.loc, G.usesound, 50, 1) + setDir(4) + playsound(loc, I.usesound, 50, 1) return - if(exchange_parts(user, G)) + if(exchange_parts(user, I)) return - if(istype(G, /obj/item/crowbar)) - default_deconstruction_crowbar(G) + if(default_deconstruction_crowbar(I)) return - if(istype(G, /obj/item/grab)) - var/obj/item/grab/TYPECAST_YOUR_SHIT = G + if(istype(I, /obj/item/grab)) + var/obj/item/grab/TYPECAST_YOUR_SHIT = I if(panel_open) to_chat(user, "Close the maintenance panel first.") return @@ -105,7 +104,9 @@ occupant = M icon_state = "body_scanner_1" add_fingerprint(user) - qdel(G) + qdel(TYPECAST_YOUR_SHIT) + else + return ..() /obj/machinery/bodyscanner/MouseDrop_T(mob/living/carbon/human/O, mob/user as mob) @@ -123,7 +124,7 @@ to_chat(user, "Close the maintenance panel first.") return 0 //panel open if(occupant) - to_chat(user, "\The [src] is already occupied.") + to_chat(user, "[src] is already occupied.") return 0 //occupied if(O.buckled) @@ -137,7 +138,7 @@ return 0 if(O == user) - visible_message("[user] climbs into \the [src].") + visible_message("[user] climbs into [src].") else visible_message("[user] puts [O] into the body scanner.") @@ -175,21 +176,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return if(2.0) if(prob(50)) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return if(3.0) if(prob(25)) for(var/atom/movable/A as mob|obj in src) - A.forceMove(src.loc) + A.forceMove(loc) A.ex_act(severity) qdel(src) return @@ -238,7 +239,7 @@ stat &= ~NOPOWER else spawn(rand(0, 15)) - src.icon_state = "bodyscannerconsole-p" + icon_state = "bodyscannerconsole-p" stat |= NOPOWER /obj/machinery/body_scanconsole/New() @@ -292,33 +293,35 @@ break -/obj/machinery/body_scanconsole/attackby(var/obj/item/G as obj, var/mob/user as mob, params) - if(istype(G, /obj/item/screwdriver)) - default_deconstruction_screwdriver(user, "bodyscannerconsole-p", "bodyscannerconsole", G) +/obj/machinery/body_scanconsole/attackby(obj/item/I, mob/user, params) + if(default_deconstruction_screwdriver(user, "bodyscannerconsole-p", "bodyscannerconsole", I)) return - if(istype(G, /obj/item/wrench)) + if(iswrench(I)) if(panel_open) to_chat(user, "Close the maintenance panel first.") return if(dir == 4) - dir = 8 + setDir(8) else - dir = 4 - playsound(loc, G.usesound, 50, 1) + setDir(4) + playsound(loc, I.usesound, 50, 1) - if(exchange_parts(user, G)) + if(exchange_parts(user, I)) return - default_deconstruction_crowbar(G) + if(default_deconstruction_crowbar(I)) + return + else + return ..() -/obj/machinery/body_scanconsole/attack_ai(user as mob) +/obj/machinery/body_scanconsole/attack_ai(user) return attack_hand(user) -/obj/machinery/body_scanconsole/attack_ghost(user as mob) +/obj/machinery/body_scanconsole/attack_ghost(user) return attack_hand(user) -/obj/machinery/body_scanconsole/attack_hand(user as mob) +/obj/machinery/body_scanconsole/attack_hand(user) if(stat & (NOPOWER|BROKEN)) return @@ -326,13 +329,13 @@ to_chat(user, "Close the maintenance panel first.") return - if(!src.connected) + if(!connected) findscanner() ui_interact(user) -/obj/machinery/body_scanconsole/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) +/obj/machinery/body_scanconsole/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) ui = new(user, src, ui_key, "adv_med.tmpl", "Body Scanner", 690, 600) @@ -475,14 +478,14 @@ return 1 if(href_list["ejectify"]) - src.connected.eject() + connected.eject() if(href_list["print_p"]) generate_printing_text() if(!(printing) && printing_text) printing = 1 - visible_message("\The [src] rattles and prints out a sheet of paper.") + visible_message("[src] rattles and prints out a sheet of paper.") var/obj/item/paper/P = new /obj/item/paper(loc) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) P.info = "
Body Scan - [href_list["name"]]

" @@ -654,7 +657,7 @@ if(occupant.disabilities & NEARSIGHTED) dat += "Retinal misalignment detected.
" else - dat += "\The [src] is empty." + dat += "[src] is empty." else dat = " Error: No Body Scanner connected." diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index f9d83ff43f6..0828ecb57b9 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -969,31 +969,31 @@ playsound(src.loc, 'sound/effects/sparks4.ogg', 50, 1) return -/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob, params) - src.add_fingerprint(user) +/obj/machinery/alarm/attackby(obj/item/I, mob/user, params) + add_fingerprint(user) switch(buildstage) if(2) - if(istype(W, /obj/item/screwdriver)) // Opening that Air Alarm up. + if(isscrewdriver(I)) // Opening that Air Alarm up. // to_chat(user, "You pop the Air Alarm's maintence panel open.") wiresexposed = !wiresexposed to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"]") update_icon() return - if(istype(W, /obj/item/wirecutters)) // cutting the wires out + if(iswirecutter(I)) // cutting the wires out if(wires.wires_status == 31) // all wires cut var/obj/item/stack/cable_coil/new_coil = new /obj/item/stack/cable_coil() new_coil.amount = 5 - new_coil.loc = user.loc + new_coil.forceMove(user.loc) buildstage = 1 update_icon() return - if(wiresexposed && ((istype(W, /obj/item/multitool) || istype(W, /obj/item/wirecutters)))) + if(wiresexposed && ((ismultitool(I) || iswirecutter(I)))) return attack_hand(user) - if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))// trying to unlock the interface with an ID card + if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda))// trying to unlock the interface with an ID card if(stat & (NOPOWER|BROKEN)) to_chat(user, "It does nothing") return @@ -1004,13 +1004,11 @@ updateUsrDialog() else to_chat(user, "Access denied.") - - return if(1) - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/coil = W + if(istype(I, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/coil = I if(coil.amount < 5) to_chat(user, "You need more cable for this!") return @@ -1026,34 +1024,35 @@ first_run() return - else if(istype(W, /obj/item/crowbar)) + else if(iscrowbar(I)) to_chat(user, "You start prying out the circuit.") - playsound(get_turf(src), W.usesound, 50, 1) - if(do_after(user, 20 * W.toolspeed, target = src)) + playsound(get_turf(src), I.usesound, 50, 1) + if(do_after(user, 20 * I.toolspeed, target = src)) if(buildstage != 1) return to_chat(user, "You pry out the circuit!") var/obj/item/airalarm_electronics/circuit = new /obj/item/airalarm_electronics() - circuit.loc = user.loc + circuit.forceMove(user.loc) buildstage = 0 update_icon() - return + return if(0) - if(istype(W, /obj/item/airalarm_electronics)) + if(istype(I, /obj/item/airalarm_electronics)) to_chat(user, "You insert the circuit!") - playsound(get_turf(src), W.usesound, 50, 1) - qdel(W) + playsound(get_turf(src), I.usesound, 50, 1) + qdel(I) buildstage = 1 update_icon() return - else if(istype(W, /obj/item/wrench)) + else if(iswrench(I)) to_chat(user, "You remove the fire alarm assembly from the wall!") new /obj/item/mounted/frame/alarm_frame(get_turf(user)) - playsound(get_turf(src), W.usesound, 50, 1) + playsound(get_turf(src), I.usesound, 50, 1) qdel(src) + return - return 0 + return ..() /obj/machinery/alarm/power_change() if(powered(power_channel)) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 57ade18dab3..6b728f2a20b 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -36,8 +36,8 @@ if(charging) to_chat(user, "Current charge: [round(charging.percent(), 1)]%") -/obj/machinery/cell_charger/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/stock_parts/cell)) +/obj/machinery/cell_charger/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/stock_parts/cell)) if(stat & BROKEN) to_chat(user, "[src] is broken!") return @@ -57,19 +57,19 @@ if(!user.drop_item()) return - W.forceMove(src) - charging = W + I.forceMove(src) + charging = I user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.") chargelevel = -1 updateicon() - else if(iswrench(W)) + else if(iswrench(I)) if(charging) to_chat(user, "Remove the cell first!") return anchored = !anchored to_chat(user, "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground") - playsound(src.loc, W.usesound, 75, 1) + playsound(src.loc, I.usesound, 75, 1) else return ..() diff --git a/code/game/machinery/chiller.dm b/code/game/machinery/chiller.dm index f48d59593ca..d2f76a7c42a 100644 --- a/code/game/machinery/chiller.dm +++ b/code/game/machinery/chiller.dm @@ -68,8 +68,8 @@ user << browse(null, "window=aircond") user.unset_machine() else - ..() - return + return ..() + /obj/machinery/space_heater/air_conditioner/attack_hand(mob/user as mob) src.add_fingerprint(user) interact(user) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ee53fdbce8b..881136dbd58 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -349,19 +349,19 @@ use_power(200) //Let's unlock this early I guess. Might be too early, needs tweaking. -/obj/machinery/clonepod/attackby(obj/item/W, mob/user, params) +/obj/machinery/clonepod/attackby(obj/item/I, mob/user, params) if(!(occupant || mess)) - if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", W)) + if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I)) return - if(exchange_parts(user, W)) + if(exchange_parts(user, I)) return - if(default_deconstruction_crowbar(W)) + if(default_deconstruction_crowbar(I)) return - if(W.GetID()) - if(!check_access(W)) + if(I.GetID()) + if(!check_access(I)) to_chat(user, "Access Denied.") return if(!(occupant || mess)) @@ -374,34 +374,33 @@ go_out() //Removing cloning pod biomass - else if(istype(W, /obj/item/reagent_containers/food/snacks/meat)) - to_chat(user, "\The [src] processes \the [W].") - biomass += BIOMASS_MEAT_AMOUNT - user.drop_item() - qdel(W) - return - else if(istype(W, /obj/item/wrench)) + else if(istype(I, /obj/item/reagent_containers/food/snacks/meat)) + if(user.drop_item()) + to_chat(user, "[src] processes [I].") + biomass += BIOMASS_MEAT_AMOUNT + qdel(I) + else if(iswrench(I)) if(occupant) to_chat(user, "Can not do that while [src] is in use.") else if(anchored) - anchored = 0 + anchored = FALSE connected.pods -= src connected = null else - anchored = 1 - playsound(loc, W.usesound, 100, 1) + anchored = TRUE + playsound(loc, I.usesound, 100, 1) if(anchored) user.visible_message("[user] secures [src] to the floor.", "You secure [src] to the floor.") else user.visible_message("[user] unsecures [src] from the floor.", "You unsecure [src] from the floor.") - else if(istype(W, /obj/item/multitool)) - var/obj/item/multitool/M = W + else if(ismultitool(I)) + var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You load connection data from [src] to [M].") return else - ..() + return ..() /obj/machinery/clonepod/emag_act(user) if(isnull(occupant)) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 88827a6ab05..a44ec4344b7 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -112,7 +112,7 @@ to_chat(user, "\The [I] is no longer in storage.") return - visible_message("The console beeps happily as it disgorges \the [I].") + visible_message("The console beeps happily as it disgorges [I].") dispense_item(I) @@ -120,7 +120,8 @@ if(!allowed(user)) to_chat(user, "Access Denied.") return - if(!allow_items) return + if(!allow_items) + return if(frozen_items.len == 0) to_chat(user, "There is nothing to recover from storage.") @@ -323,15 +324,15 @@ // Also make sure there is a valid control computer /obj/machinery/cryopod/proc/despawn_occupant() //Drop all items into the pod. - for(var/obj/item/W in occupant) - occupant.unEquip(W) - W.forceMove(src) + for(var/obj/item/I in occupant) + occupant.unEquip(I) + I.forceMove(src) - if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items. - if(should_preserve_item(W) != CRYO_DESTROY) // Don't remove the contents of things that need preservation + if(I.contents.len) //Make sure we catch anything not handled by qdel() on the items. + if(should_preserve_item(I) != CRYO_DESTROY) // Don't remove the contents of things that need preservation continue - for(var/obj/item/O in W.contents) - if(istype(O,/obj/item/tank)) //Stop eating pockets, you fuck! + for(var/obj/item/O in I.contents) + if(istype(O, /obj/item/tank)) //Stop eating pockets, you fuck! continue O.forceMove(src) @@ -345,23 +346,23 @@ items -= occupant // Don't delete the occupant items -= announce // or the autosay radio. - for(var/obj/item/W in items) - if(istype(W,/obj/item/pda)) - var/obj/item/pda/P = W + for(var/obj/item/I in items) + if(istype(I, /obj/item/pda)) + var/obj/item/pda/P = I QDEL_NULL(P.id) qdel(P) continue - var/preserve = should_preserve_item(W) + var/preserve = should_preserve_item(I) if(preserve == CRYO_DESTROY) - qdel(W) + qdel(I) else if(control_computer && control_computer.allow_items) - control_computer.frozen_items += W + control_computer.frozen_items += I if(preserve == CRYO_OBJECTIVE) - control_computer.objective_items += W - W.loc = null + control_computer.objective_items += I + I.loc = null else - W.forceMove(loc) + I.forceMove(loc) // Skip past any cult sacrifice objective using this person if(GAMEMODE_IS_CULT && is_sacrifice_target(occupant.mind)) @@ -461,22 +462,23 @@ #undef CRYO_PRESERVE #undef CRYO_OBJECTIVE -/obj/machinery/cryopod/attackby(var/obj/item/G as obj, var/mob/user as mob, params) +/obj/machinery/cryopod/attackby(obj/item/I, mob/user, params) - if(istype(G, /obj/item/grab)) + if(istype(I, /obj/item/grab)) + var/obj/item/grab/G = I if(occupant) - to_chat(user, "\The [src] is in use.") + to_chat(user, "[src] is in use.") return - if(!ismob(G:affecting)) + if(!ismob(G.affecting)) return - if(!check_occupant_allowed(G:affecting)) + if(!check_occupant_allowed(G.affecting)) return var/willing = null //We don't want to allow people to be forced into despawning. - var/mob/living/M = G:affecting + var/mob/living/M = G.affecting time_till_despawn = initial(time_till_despawn) if(!istype(M) || M.stat == DEAD) @@ -485,20 +487,21 @@ if(M.client) if(alert(M,"Would you like to enter long-term storage?",,"Yes","No") == "Yes") - if(!M || !G || !G:affecting) return + if(!M || !G || !G.affecting) return willing = willing_time_divisor else willing = 1 if(willing) - visible_message("[user] starts putting [G:affecting:name] into \the [src].") + visible_message("[user] starts putting [G.affecting.name] into [src].") - if(do_after(user, 20, target = G:affecting)) - if(!M || !G || !G:affecting) return + if(do_after(user, 20, target = G.affecting)) + if(!M || !G || !G.affecting) + return if(occupant) - to_chat(user, "\The [src] is in use.") + to_chat(user, "[src] is in use.") return take_occupant(M, willing) @@ -516,6 +519,8 @@ to_chat(M, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") take_occupant(M, willing) + else + return ..() /obj/machinery/cryopod/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) @@ -567,7 +572,7 @@ if(willing) if(!Adjacent(L)) - to_chat(user, "You're not close enough to \the [src].") + to_chat(user, "You're not close enough to [src].") return if(L == user) visible_message("[user] starts climbing into the cryo pod.") @@ -633,14 +638,13 @@ if(occupant) items -= occupant if(announce) items -= announce - for(var/obj/item/W in items) - W.loc = get_turf(src) + for(var/obj/item/I in items) + I.forceMove(get_turf(src)) go_out() add_fingerprint(usr) name = initial(name) - return /obj/machinery/cryopod/verb/move_inside() set name = "Enter Pod" @@ -659,7 +663,7 @@ to_chat(usr, "You're too busy getting your life sucked out of you.") return - visible_message("[usr] starts climbing into \the [src].") + visible_message("[usr] starts climbing into [src].") if(do_after(usr, 20, target = usr)) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index f8d7432c540..527ed23639c 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -20,17 +20,19 @@ var/list/doppler_arrays = list() /obj/machinery/doppler_array/process() return PROCESS_KILL -/obj/machinery/doppler_array/attackby(var/obj/item/O, var/mob/user, params) - if(istype(O, /obj/item/wrench)) +/obj/machinery/doppler_array/attackby(obj/item/I, mob/user, params) + if(iswrench(I)) if(!anchored && !isinspace()) - anchored = 1 + anchored = TRUE power_change() to_chat(user, "You fasten [src].") else if(anchored) - anchored = 0 + anchored = FALSE power_change() to_chat(user, "You unfasten [src].") - playsound(loc, O.usesound, 50, 1) + playsound(loc, I.usesound, 50, 1) + else + return ..() /obj/machinery/doppler_array/verb/rotate() set name = "Rotate Tachyon-doppler Dish" diff --git a/code/game/machinery/dye_generator.dm b/code/game/machinery/dye_generator.dm index bb47a4939ec..89974f9b337 100644 --- a/code/game/machinery/dye_generator.dm +++ b/code/game/machinery/dye_generator.dm @@ -41,7 +41,7 @@ stat |= BROKEN icon_state = "[initial(icon_state)]-broken" -/obj/machinery/dye_generator/attack_hand(mob/user as mob) +/obj/machinery/dye_generator/attack_hand(mob/user) ..() src.add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) @@ -50,18 +50,18 @@ dye_color = temp set_light(2, l_color = temp) -/obj/machinery/dye_generator/attackby(obj/item/W, mob/user, params) +/obj/machinery/dye_generator/attackby(obj/item/I, mob/user, params) - if(default_unfasten_wrench(user, W, time = 60)) + if(default_unfasten_wrench(user, I, time = 60)) return - if(istype(W, /obj/item/hair_dye_bottle)) - user.visible_message("[user] fills the [W] up with some dye.","You fill the [W] up with some hair dye.") - var/obj/item/hair_dye_bottle/HD = W + if(istype(I, /obj/item/hair_dye_bottle)) + var/obj/item/hair_dye_bottle/HD = I + user.visible_message("[user] fills the [HD] up with some dye.","You fill the [HD] up with some hair dye.") HD.dye_color = dye_color HD.update_dye_overlay() else - ..() + return ..() //Hair Dye Bottle @@ -87,7 +87,7 @@ I.color = dye_color overlays += I -/obj/item/hair_dye_bottle/attack(mob/living/carbon/M as mob, mob/user as mob) +/obj/item/hair_dye_bottle/attack(mob/living/carbon/M, mob/user) if(user.a_intent != INTENT_HELP) ..() return diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 8cb98021576..b3664c58cd6 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -45,7 +45,7 @@ FIRE ALARM /obj/machinery/firealarm/emag_act(mob/user) if(!emagged) - emagged = 1 + emagged = TRUE if(user) user.visible_message("Sparks fly out of the [src]!", "You emag [src], disabling its thermal sensors.") @@ -62,19 +62,15 @@ FIRE ALARM /obj/machinery/firealarm/attack_ghost(mob/user) ui_interact(user) -/obj/machinery/firealarm/bullet_act(BLAH) - return alarm() - - /obj/machinery/firealarm/emp_act(severity) if(prob(50/severity)) alarm(rand(30/severity, 60/severity)) ..() -/obj/machinery/firealarm/attackby(obj/item/W, mob/user, params) +/obj/machinery/firealarm/attackby(obj/item/I, mob/user, params) add_fingerprint(user) - if(istype(W, /obj/item/screwdriver) && buildstage == 2) + if(iswirecutter(I) && buildstage == 2) wiresexposed = !wiresexposed update_icon() return @@ -82,37 +78,37 @@ FIRE ALARM if(wiresexposed) switch(buildstage) if(2) - if(istype(W, /obj/item/multitool)) + if(ismultitool(I)) detecting = !detecting if(detecting) user.visible_message("[user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") else user.visible_message("[user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") - else if(istype(W, /obj/item/wirecutters)) // cutting the wires out + else if(iswirecutter(I)) // cutting the wires out to_chat(user, "You cut the wires!") - playsound(loc, W.usesound, 50, 1) + playsound(loc, I.usesound, 50, 1) var/obj/item/stack/cable_coil/new_coil = new /obj/item/stack/cable_coil() new_coil.amount = 5 - new_coil.loc = user.loc + new_coil.forceMove(user.loc) buildstage = 1 update_icon() if(1) - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/coil = W + if(istype(I, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/coil = I if(!coil.use(5)) to_chat(user, "You cut the wires!") return buildstage = 2 - playsound(get_turf(src), W.usesound, 50, 1) - to_chat(user, "You wire \the [src]!") + playsound(get_turf(src), I.usesound, 50, 1) + to_chat(user, "You wire [src]!") update_icon() - else if(istype(W, /obj/item/crowbar)) + else if(iscrowbar(I)) to_chat(user, "You pry out the circuit!") - playsound(get_turf(src), W.usesound, 50, 1) - if(do_after(user, 20 * W.toolspeed, target = src)) + playsound(get_turf(src), I.usesound, 50, 1) + if(do_after(user, 20 * I.toolspeed, target = src)) if(buildstage != 1) return var/obj/item/firealarm_electronics/circuit = new /obj/item/firealarm_electronics() @@ -120,20 +116,20 @@ FIRE ALARM buildstage = 0 update_icon() if(0) - if(istype(W, /obj/item/firealarm_electronics)) + if(istype(I, /obj/item/firealarm_electronics)) to_chat(user, "You insert the circuit!") - qdel(W) + qdel(I) buildstage = 1 update_icon() - else if(istype(W, /obj/item/wrench)) + else if(iswrench(I)) to_chat(user, "You remove the fire alarm assembly from the wall!") new /obj/item/mounted/frame/firealarm(get_turf(user)) - playsound(get_turf(src), W.usesound, 50, 1) + playsound(get_turf(src), I.usesound, 50, 1) qdel(src) - return - alarm() + else + return ..() /obj/machinery/firealarm/process()//Note: this processing was mostly phased out due to other code, and only runs when needed if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index da64430b941..4b57a9542b2 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -38,14 +38,16 @@ // sd_set_light(0) //Don't want to render prison breaks impossible -/obj/machinery/flasher/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/wirecutters)) +/obj/machinery/flasher/attackby(obj/item/I, mob/user, params) + if(iswirecutter(I)) add_fingerprint(user) disable = !disable if(disable) - user.visible_message("[user] has disconnected the [src]'s flashbulb!", "You disconnect the [src]'s flashbulb!") + user.visible_message("[user] has disconnected [src]'s flashbulb!", "You disconnect [src]'s flashbulb!") if(!disable) - user.visible_message("[user] has connected the [src]'s flashbulb!", "You connect the [src]'s flashbulb!") + user.visible_message("[user] has connected [src]'s flashbulb!", "You connect [src]'s flashbulb!") + else + return ..() //Let the AI trigger them directly. /obj/machinery/flasher/attack_ai(mob/user) @@ -95,8 +97,8 @@ if((M.m_intent != MOVE_INTENT_WALK) && (anchored)) flash() -/obj/machinery/flasher/portable/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/wrench)) +/obj/machinery/flasher/portable/attackby(obj/item/I, mob/user, params) + if(iswrench(I)) add_fingerprint(user) anchored = !anchored @@ -107,6 +109,8 @@ else if(anchored) user.show_message(text("[src] is now secured.")) overlays += "[base_state]-s" + else + return ..() // Flasher button /obj/machinery/flasher_button diff --git a/code/game/machinery/gameboard.dm b/code/game/machinery/gameboard.dm index f1bd8b65a10..526a935cf90 100644 --- a/code/game/machinery/gameboard.dm +++ b/code/game/machinery/gameboard.dm @@ -93,8 +93,11 @@ if(href_list["close"]) close_game() -/obj/machinery/gameboard/attackby(var/obj/item/G as obj, var/mob/user as mob, params) - if(istype(G, /obj/item/wrench)) - default_unfasten_wrench(user, G) - else if(istype(G, /obj/item/crowbar)) - default_deconstruction_crowbar(G, ignore_panel = 1) +/obj/machinery/gameboard/attackby(obj/item/I, mob/user, params) + if(default_unfasten_wrench(user, I)) + return + + if(default_deconstruction_crowbar(I, ignore_panel = TRUE)) + return + else + return ..() \ No newline at end of file diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm index 6d90de7bf4d..450260f5f79 100644 --- a/code/game/machinery/guestpass.dm +++ b/code/game/machinery/guestpass.dm @@ -48,20 +48,22 @@ var/list/internal_log = list() var/mode = 0 // 0 - making pass, 1 - viewing logs -/obj/machinery/computer/guestpass/attackby(obj/O, mob/user, params) - if(istype(O, /obj/item/card/id)) +/obj/machinery/computer/guestpass/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/card/id)) if(!giver) - user.drop_item() - O.loc = src - giver = O - updateUsrDialog() + if(user.drop_item()) + I.forceMove(src) + giver = I + updateUsrDialog() else to_chat(user, "There is already ID card inside.") + else + return ..() /obj/machinery/computer/guestpass/proc/get_changeable_accesses() return giver.access -/obj/machinery/computer/guestpass/attack_ai(var/mob/user as mob) +/obj/machinery/computer/guestpass/attack_ai(mob/user) return attack_hand(user) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 58404b133bd..4e049cc5546 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -55,17 +55,20 @@ var/list/holopads = list() holograph_range += 1 * B.rating holo_range = holograph_range -/obj/machinery/hologram/holopad/attackby(obj/item/P as obj, mob/user as mob, params) - if(default_deconstruction_screwdriver(user, "holopad_open", "holopad0", P)) +/obj/machinery/hologram/holopad/attackby(obj/item/I, mob/user, params) + if(default_deconstruction_screwdriver(user, "holopad_open", "holopad0", I)) return - if(exchange_parts(user, P)) + if(exchange_parts(user, I)) return - if(default_unfasten_wrench(user, P)) + if(default_unfasten_wrench(user, I)) return - default_deconstruction_crowbar(P) + if(default_deconstruction_crowbar(I)) + return + else + return ..() /obj/machinery/hologram/holopad/attack_hand(var/mob/living/carbon/human/user) //Carn: Hologram requests. diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 411543b662f..22d1177c437 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -68,21 +68,23 @@ icon_state = "[base_state]-p" // src.sd_set_light(0) -/obj/machinery/sparker/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/detective_scanner)) +/obj/machinery/sparker/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/detective_scanner)) return - if(istype(W, /obj/item/screwdriver)) + if(isscrewdriver(I)) add_fingerprint(user) - src.disable = !src.disable - if(src.disable) - user.visible_message("[user] has disabled the [src]!", "You disable the connection to the [src].") + disable = !disable + if(disable) + user.visible_message("[user] has disabled [src]!", "You disable the connection to [src].") icon_state = "[base_state]-d" - if(!src.disable) - user.visible_message("[user] has reconnected the [src]!", "You fix the connection to the [src].") - if(src.powered()) + if(!disable) + user.visible_message("[user] has reconnected [src]!", "You fix the connection to [src].") + if(powered()) icon_state = "[base_state]" else icon_state = "[base_state]-p" + else + return ..() /obj/machinery/sparker/attack_ai() if(src.anchored) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index d7a4a3e2b04..4ccaa246578 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -88,17 +88,17 @@ to_chat(usr, "There's nothing attached to the IV drip!") -/obj/machinery/iv_drip/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/reagent_containers)) +/obj/machinery/iv_drip/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/reagent_containers)) if(beaker) to_chat(user, "There is already a reagent container loaded!") return if(!user.drop_item()) return - W.forceMove(src) - beaker = W - to_chat(user, "You attach [W] to [src].") + I.forceMove(src) + beaker = I + to_chat(user, "You attach [I] to [src].") update_icon() else return ..() diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index ee4f2e6eb62..116a0f8dbe1 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -97,17 +97,18 @@ updateicon() - else if(istype(I, /obj/item/card/id)||istype(I, /obj/item/pda)) + else if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) if(open) - if(src.allowed(user)) - src.locked = !src.locked - to_chat(user, "Controls are now [src.locked ? "locked" : "unlocked"].") + if(allowed(user)) + locked = !locked + to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") else to_chat(user, "Access denied.") updateDialog() else to_chat(user, "You must open the cover first!") - return + else + return ..() /obj/machinery/navbeacon/attack_ai(mob/user) interact(user, 1) diff --git a/code/game/machinery/poolcontroller.dm b/code/game/machinery/poolcontroller.dm index f6ecd511b2b..a4c2bcd9edf 100644 --- a/code/game/machinery/poolcontroller.dm +++ b/code/game/machinery/poolcontroller.dm @@ -31,18 +31,18 @@ emagged = 1 //Set the emag var to true. -/obj/machinery/poolcontroller/attackby(obj/item/P as obj, mob/user as mob, params) //Proc is called when a user hits the pool controller with something. - if(istype(P,/obj/item/multitool)) //If the mob hits the pool controller with a multitool, reset the emagged status +/obj/machinery/poolcontroller/attackby(obj/item/I, mob/user, params) //Proc is called when a user hits the pool controller with something. + if(ismultitool(I)) //If the mob hits the pool controller with a multitool, reset the emagged status if(emagged) //Check the emag status - to_chat(user, "You re-enable \the [src]'s temperature safeguards.")//Inform the user that they have just fixed the safeguards. + to_chat(user, "You re-enable [src]'s temperature safeguards.")//Inform the user that they have just fixed the safeguards. - emagged = 0 //Set the emagged var to false. + emagged = FALSE //Set the emagged var to false. else to_chat(user, "Nothing happens.")//If not emagged, don't do anything, and don't tell the user that it can be emagged. else //If it's not a multitool, defer to /obj/machinery/attackby - ..() + return ..() /obj/machinery/poolcontroller/attack_hand(mob/user as mob) ui_interact(user) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 68e6eaf2ad2..abc8d137679 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -54,7 +54,7 @@ to_chat(user, "[src] isn't connected to anything!") return 1 else - ..() + return ..() /obj/machinery/recharger/attack_hand(mob/user) if(issilicon(user)) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index fd973290244..f987b698772 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -136,18 +136,21 @@ else icon_state = "borgcharger0" -/obj/machinery/recharge_station/attackby(obj/item/P as obj, mob/user as mob, params) - if(istype(P, /obj/item/screwdriver)) - if(src.occupant) +/obj/machinery/recharge_station/attackby(obj/item/I, mob/user, params) + if(isscrewdriver(I)) + if(occupant) to_chat(user, "The maintenance panel is locked.") return - default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", P) + default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", I) return - if(exchange_parts(user, P)) + if(exchange_parts(user, I)) return - default_deconstruction_crowbar(P) + if(default_deconstruction_crowbar(I)) + return + else + return ..() /obj/machinery/recharge_station/proc/process_occupant() if(src.occupant) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index d80a628927b..72c0cd91002 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -51,6 +51,7 @@ var/const/SAFETY_COOLDOWN = 100 /obj/machinery/recycler/attackby(obj/item/I, mob/user, params) + add_fingerprint(user) if(default_deconstruction_screwdriver(user, "grinder-oOpen", "grinder-o0", I)) return @@ -60,9 +61,10 @@ var/const/SAFETY_COOLDOWN = 100 if(default_unfasten_wrench(user, I)) return - default_deconstruction_crowbar(I) - ..() - add_fingerprint(user) + if(default_deconstruction_crowbar(I)) + return + else + return ..() /obj/machinery/recycler/emag_act(mob/user) if(!emagged) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index e9c7c497d72..3aae4af4405 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -269,7 +269,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() return //err... hacking code, which has no reason for existing... but anyway... it was once supposed to unlock priority 3 messanging on that console (EXTREME priority...), but the code for that was removed. -/obj/machinery/requests_console/attackby(var/obj/item/O as obj, var/mob/user as mob) +/obj/machinery/requests_console/attackby(obj/item/I, mob/user) /* if(istype(O, /obj/item/crowbar)) if(open) @@ -292,14 +292,15 @@ var/list/obj/machinery/requests_console/allConsoles = list() else to_chat(user, "You can't do much with that.")*/ - if(istype(O, /obj/item/card/id)) - if(inoperable(MAINT)) return + if(istype(I, /obj/item/card/id)) + if(inoperable(MAINT)) + return if(screen == RCS_MESSAUTH) - var/obj/item/card/id/T = O + var/obj/item/card/id/T = I msgVerified = text("Verified by [T.registered_name] ([T.assignment])") updateUsrDialog() if(screen == RCS_ANNOUNCE) - var/obj/item/card/id/ID = O + var/obj/item/card/id/ID = I if(access_RC_announce in ID.GetAccess()) announceAuth = 1 announcement.announcer = ID.assignment ? "[ID.assignment] [ID.registered_name]" : ID.registered_name @@ -308,16 +309,18 @@ var/list/obj/machinery/requests_console/allConsoles = list() to_chat(user, "You are not authorized to send announcements.") updateUsrDialog() if(screen == RCS_SHIPPING) - var/obj/item/card/id/T = O + var/obj/item/card/id/T = I msgVerified = text("Sender verified as [T.registered_name] ([T.assignment])") updateUsrDialog() - if(istype(O, /obj/item/stamp)) - if(inoperable(MAINT)) return + if(istype(I, /obj/item/stamp)) + if(inoperable(MAINT)) + return if(screen == RCS_MESSAUTH) - var/obj/item/stamp/T = O + var/obj/item/stamp/T = I msgStamped = text("Stamped with the [T.name]") updateUsrDialog() - return + else + return ..() /obj/machinery/requests_console/proc/reset_message(var/mainmenu = 0) message = "" diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 1962e3631fb..3777dfc866d 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -56,27 +56,26 @@ return else // insert cell - var/obj/item/stock_parts/cell/C = usr.get_active_hand() + var/obj/item/stock_parts/cell/C = user.get_active_hand() if(istype(C)) - user.drop_item() - cell = C - C.loc = src - C.add_fingerprint(usr) + if(user.drop_item()) + cell = C + C.forceMove(src) + C.add_fingerprint(user) - user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") + user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].") else to_chat(user, "The hatch must be open to insert a power cell.") return - else if(istype(I, /obj/item/screwdriver)) + else if(isscrewdriver(I)) open = !open - user.visible_message("[user] [open ? "opens" : "closes"] the hatch on the [src].", "You [open ? "open" : "close"] the hatch on the [src].") + user.visible_message("[user] [open ? "opens" : "closes"] the hatch on [src].", "You [open ? "open" : "close"] the hatch on [src].") update_icon() if(!open && user.machine == src) user << browse(null, "window=spaceheater") user.unset_machine() else - ..() - return + return ..() /obj/machinery/space_heater/attack_hand(mob/user as mob) src.add_fingerprint(user) @@ -106,7 +105,7 @@ else on = !on - user.visible_message("[user] switches [on ? "on" : "off"] the [src].","You switch [on ? "on" : "off"] the [src].") + user.visible_message("[user] switches [on ? "on" : "off"] [src].","You switch [on ? "on" : "off"] [src].") update_icon() return @@ -131,7 +130,7 @@ usr.put_in_hands(cell) cell.add_fingerprint(usr) cell = null - usr.visible_message("[usr] removes the power cell from \the [src].", "You remove the power cell from \the [src].") + usr.visible_message("[usr] removes the power cell from [src].", "You remove the power cell from [src].") if("cellinstall") @@ -143,7 +142,7 @@ C.loc = src C.add_fingerprint(usr) - usr.visible_message("[usr] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") + usr.visible_message("[usr] inserts a power cell into [src].", "You insert the power cell into [src].") updateDialog() else diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 7ec64373373..37d1c3ae93c 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -158,14 +158,14 @@ return -/obj/machinery/power/singularity_beacon/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/screwdriver)) +/obj/machinery/power/singularity_beacon/attackby(obj/item/I, mob/user, params) + if(isscrewdriver(I)) if(active) to_chat(user, "You need to deactivate the beacon first!") return if(anchored) - anchored = 0 + anchored = FALSE to_chat(user, "You unscrew the beacon from the floor.") disconnect_from_network() return @@ -173,11 +173,10 @@ if(!connect_to_network()) to_chat(user, "This device must be placed over an exposed cable.") return - anchored = 1 + anchored = TRUE to_chat(user, "You screw the beacon to the floor and attach the cable.") - return - ..() - return + else + return ..() /obj/machinery/power/singularity_beacon/Destroy() diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index a4c73cc8fac..b269ab31c40 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -486,7 +486,8 @@ else to_chat(user, "The [I] wont fit! The [src] can only hold up to [max_beakers] containers.") return - ..() + else + return ..() /obj/item/bombcore/chemical/CheckParts(list/parts_list) ..() diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index a1248fc0b6d..618549ec288 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -38,21 +38,20 @@ break return power_station -/obj/machinery/computer/teleporter/attackby(I as obj, mob/living/user as mob, params) +/obj/machinery/computer/teleporter/attackby(obj/item/I, mob/living/user, params) if(istype(I, /obj/item/gps)) var/obj/item/gps/L = I if(L.locked_location && !(stat & (NOPOWER|BROKEN))) if(!user.unEquip(L)) - to_chat(user, "\the [I] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, "[I] is stuck to your hand, you cannot put it in [src]") return - L.loc = src + L.forceMove(src) locked = L - to_chat(user, "You insert the GPS device into the [name]'s slot.") + to_chat(user, "You insert the GPS device into the [src]'s slot.") else - ..() - return + return ..() -/obj/machinery/computer/teleporter/emag_act(user as mob) +/obj/machinery/computer/teleporter/emag_act(mob/user) if(!emagged) emagged = 1 to_chat(user, "The teleporter can now lock on to Syndicate beacons!") @@ -341,14 +340,18 @@ //--FalseIncarnate return -/obj/machinery/teleport/hub/attackby(obj/item/W, mob/user, params) - if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W)) +/obj/machinery/teleport/hub/attackby(obj/item/I, mob/user, params) + if(default_deconstruction_screwdriver(user, "tele-o", "tele0", I)) return - if(exchange_parts(user, W)) + if(exchange_parts(user, I)) return - default_deconstruction_crowbar(W) + if(default_deconstruction_crowbar(I)) + return + + else + return ..() /obj/machinery/teleport/hub/proc/teleport(atom/movable/M as mob|obj, turf/T) var/obj/machinery/computer/teleporter/com = power_station.teleporter_console @@ -438,14 +441,18 @@ else icon_state = "tele0" -/obj/machinery/teleport/perma/attackby(obj/item/W, mob/user, params) - if(default_deconstruction_screwdriver(user, "tele-o", "tele0", W)) +/obj/machinery/teleport/perma/attackby(obj/item/I, mob/user, params) + if(default_deconstruction_screwdriver(user, "tele-o", "tele0", I)) return - if(exchange_parts(user, W)) + if(exchange_parts(user, I)) return - default_deconstruction_crowbar(W) + if(default_deconstruction_crowbar(I)) + return + + else + return ..() /obj/machinery/teleport/station name = "station" @@ -506,40 +513,40 @@ teleporter_console = null return ..() -/obj/machinery/teleport/station/attackby(var/obj/item/W, mob/user, params) - if(istype(W, /obj/item/multitool) && !panel_open) - var/obj/item/multitool/M = W +/obj/machinery/teleport/station/attackby(obj/item/I, mob/user, params) + if(ismultitool(I) && !panel_open) + var/obj/item/multitool/M = I if(M.buffer && istype(M.buffer, /obj/machinery/teleport/station) && M.buffer != src) if(linked_stations.len < efficiency) linked_stations.Add(M.buffer) M.buffer = null - to_chat(user, "You upload the data from the [W.name]'s buffer.") + to_chat(user, "You upload the data from [M]'s buffer.") else to_chat(user, "This station can't hold more information, try to use better parts.") - if(default_deconstruction_screwdriver(user, "controller-o", "controller", W)) + if(default_deconstruction_screwdriver(user, "controller-o", "controller", I)) update_icon() return - if(exchange_parts(user, W)) + if(exchange_parts(user, I)) return - default_deconstruction_crowbar(W) + if(default_deconstruction_crowbar(I)) + return if(panel_open) - if(istype(W, /obj/item/multitool)) - var/obj/item/multitool/M = W + if(ismultitool(I)) + var/obj/item/multitool/M = I M.buffer = src - to_chat(user, "You download the data to the [W.name]'s buffer.") - return - if(istype(W, /obj/item/wirecutters)) + to_chat(user, "You download the data to the [M]'s buffer.") + if(iswirecutter(I)) link_console_and_hub() to_chat(user, "You reconnect the station to nearby machinery.") - return - if(istype(W, /obj/item/circuitboard/teleporter_perma)) - var/obj/item/circuitboard/teleporter_perma/C = W + if(istype(I, /obj/item/circuitboard/teleporter_perma)) + var/obj/item/circuitboard/teleporter_perma/C = I C.target = teleporter_console.target - to_chat(user, "You copy the targeting information from \the [src] to \the [W]") - return + to_chat(user, "You copy the targeting information from [src] to [C]") + else + return ..() /obj/machinery/teleport/station/attack_ai() src.attack_hand() diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 45294f01286..09385fa3a3e 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -344,12 +344,12 @@ domutcheck(H, null, MUTCHK_FORCED) H.update_mutations() -/obj/machinery/transformer/gene_applier/attackby(obj/item/W, mob/living/user, params) - if(istype(W, /obj/item/disk/data)) +/obj/machinery/transformer/gene_applier/attackby(obj/item/I, mob/living/user, params) + if(istype(I, /obj/item/disk/data)) if(locked) to_chat(user, "Access Denied.") return FALSE - var/obj/item/disk/data/D = W + var/obj/item/disk/data/D = I if(!D.buf) to_chat(user, "Error: No data found.") return FALSE diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index db228aff04f..50f09b89cd6 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -292,7 +292,7 @@ insert_item(user, I) return else - ..() + return ..() //Override this proc to do per-machine checks on the inserted item, but remember to call the parent to handle these generic checks before your logic! /obj/machinery/vending/proc/item_slot_check(mob/user, obj/item/I) From a31583c7f32e8375cb855bbbb757d2ed6c4e424c Mon Sep 17 00:00:00 2001 From: Ansari Date: Sun, 20 May 2018 17:07:43 +0800 Subject: [PATCH 024/308] More fixes --- code/modules/reagents/reagent_containers.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 1ce02e2cffe..e3e0daee333 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -61,10 +61,10 @@ /obj/item/reagent_containers/afterattack(obj/target, mob/user , flag) return -/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers/C = src) //Return reagents in a reagent_container, default to source +/obj/item/reagent_containers/proc/reagentlist() //Return reagents in a reagent_container, default to source var/data - if(C && C.reagents && C.reagents.reagent_list && C.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries - for(var/datum/reagent/R in src.reagents.reagent_list) //no reagents will be left behind + if(reagents && reagents.reagent_list && reagents.reagent_list.len) //find a reagent list if there is and check if it has entries + for(var/datum/reagent/R in reagents.reagent_list) //no reagents will be left behind data += "[R.id]([R.volume] units); " //Using IDs because SOME chemicals(I'm looking at you, chlorhydrate-beer) have the same names as other chemicals. return data else return "No reagents" From f328db7b2ad89d7831a1b35f2578d0045312e29b Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 20 May 2018 05:45:07 -0400 Subject: [PATCH 025/308] Refactors Camera Damage and Disabling --- code/_onclick/item_attack.dm | 2 +- code/datums/wires/camera.dm | 94 ------- code/game/machinery/camera/camera.dm | 250 ++++++++---------- code/game/machinery/camera/camera_assembly.dm | 67 ++--- code/game/objects/effects/effects.dm | 1 + code/game/objects/items.dm | 24 +- .../objects/items/weapons/storage/storage.dm | 21 +- code/game/objects/objs.dm | 1 + paradise.dme | 1 - 9 files changed, 178 insertions(+), 283 deletions(-) delete mode 100644 code/datums/wires/camera.dm diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index bf01bca6e3c..7dd3c140b4c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -17,7 +17,7 @@ return SendSignal(COMSIG_PARENT_ATTACKBY, W, user, params) /obj/attackby(obj/item/I, mob/living/user, params) - return ..() || I.attack_obj(src, user) + return ..() || (can_be_hit && I.attack_obj(src, user)) /mob/living/attackby(obj/item/I, mob/living/user, params) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/datums/wires/camera.dm b/code/datums/wires/camera.dm deleted file mode 100644 index ee25f8c3898..00000000000 --- a/code/datums/wires/camera.dm +++ /dev/null @@ -1,94 +0,0 @@ -// Wires for cameras. - -/datum/wires/camera - random = 0 - holder_type = /obj/machinery/camera - wire_count = 6 - -/datum/wires/camera/get_status() - . = ..() - var/obj/machinery/camera/C = holder - . += "The focus light is [(C.view_range == initial(C.view_range)) ? "on" : "off"]." - . += "The power link light is [C.can_use() ? "on" : "off"]." - . += "The camera light is [C.light_disabled ? "off" : "on"]." - . += "The alarm light is [C.alarm_on ? "on" : "off"]." - -/datum/wires/camera/CanUse(mob/living/L) - var/obj/machinery/camera/C = holder - if(!C.panel_open) - return 0 - return 1 - -var/const/CAMERA_WIRE_FOCUS = 1 -var/const/CAMERA_WIRE_POWER = 2 -var/const/CAMERA_WIRE_LIGHT = 4 -var/const/CAMERA_WIRE_ALARM = 8 -var/const/CAMERA_WIRE_NOTHING1 = 16 -var/const/CAMERA_WIRE_NOTHING2 = 32 - -/datum/wires/camera/GetWireName(index) - switch(index) - if(CAMERA_WIRE_FOCUS) - return "Focus" - - if(CAMERA_WIRE_POWER) - return "Power" - - if(CAMERA_WIRE_LIGHT) - return "Light" - - if(CAMERA_WIRE_ALARM) - return "Alarm" - - if(CAMERA_WIRE_NOTHING1) - return "Nothing" - - if(CAMERA_WIRE_NOTHING2) - return "Nothing" - -/datum/wires/camera/UpdateCut(index, mended) - var/obj/machinery/camera/C = holder - - switch(index) - if(CAMERA_WIRE_FOCUS) - var/range = (mended ? initial(C.view_range) : C.short_range) - C.setViewRange(range) - - if(CAMERA_WIRE_POWER) - if(C.status && !mended || !C.status && mended) - C.toggle_cam(usr, 1) - - if(CAMERA_WIRE_LIGHT) - C.light_disabled = !mended - - if(CAMERA_WIRE_ALARM) - if(!mended) - C.triggerCameraAlarm() - else - C.cancelCameraAlarm() - ..() - -/datum/wires/camera/UpdatePulsed(index) - var/obj/machinery/camera/C = holder - if(IsIndexCut(index)) - return - switch(index) - if(CAMERA_WIRE_FOCUS) - var/new_range = (C.view_range == initial(C.view_range) ? C.short_range : initial(C.view_range)) - C.setViewRange(new_range) - - if(CAMERA_WIRE_POWER) - C.toggle_cam(null) // Deactivate the camera - - if(CAMERA_WIRE_LIGHT) - C.light_disabled = !C.light_disabled - - if(CAMERA_WIRE_ALARM) - C.visible_message("[bicon(C)] *beep*", "[bicon(C)] *beep*") - ..() - -/datum/wires/camera/proc/CanDeconstruct() - if(IsIndexCut(CAMERA_WIRE_POWER) && IsIndexCut(CAMERA_WIRE_FOCUS) && IsIndexCut(CAMERA_WIRE_LIGHT) && IsIndexCut(CAMERA_WIRE_NOTHING1) && IsIndexCut(CAMERA_WIRE_NOTHING2)) - return 1 - else - return 0 \ No newline at end of file diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 0e9f261d73d..bbd4ed6201c 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -6,15 +6,17 @@ use_power = 2 idle_power_usage = 5 active_power_usage = 10 - layer = 5 + layer = WALL_OBJ_LAYER + armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0) - var/datum/wires/camera/wires = null // Wires datum + max_integrity = 100 + integrity_failure = 50 var/list/network = list("SS13") var/c_tag = null var/c_tag_order = 999 var/status = 1 - anchored = 1 - var/start_active = 0 //If it ignores the random chance to start broken on round start + anchored = TRUE + var/start_active = FALSE //If it ignores the random chance to start broken on round start var/invuln = null var/obj/item/camera_bug/bug = null var/obj/item/camera_assembly/assembly = null @@ -24,17 +26,14 @@ var/view_range = 7 var/short_range = 2 - var/light_disabled = 0 - var/alarm_on = 0 - var/busy = 0 - var/emped = 0 //Number of consecutive EMP's on this camera + var/alarm_on = FALSE + var/busy = FALSE + var/emped = FALSE //Number of consecutive EMP's on this camera - var/toggle_message = 'sound/items/Wirecutter.ogg' + var/toggle_sound = 'sound/items/Wirecutter.ogg' /obj/machinery/camera/New() ..() - wires = new(src) - assembly = new(src) assembly.state = 4 assembly.anchored = 1 @@ -47,17 +46,15 @@ ..() if(is_station_level(z) && prob(3) && !start_active) toggle_cam() - wires.CutAll() /obj/machinery/camera/Destroy() toggle_cam(null, 0) //kick anyone viewing out QDEL_NULL(assembly) if(istype(bug)) - bug.bugged_cameras -= src.c_tag + bug.bugged_cameras -= c_tag if(bug.current == src) bug.current = null bug = null - QDEL_NULL(wires) cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that cameranet.cameras -= src var/area/ai_monitored/A = get_area(src) @@ -71,33 +68,33 @@ return if(!isEmpProof()) if(prob(150/severity)) - icon_state = "[initial(icon_state)]emp" + update_icon() var/list/previous_network = network network = list() cameranet.removeCamera(src) stat |= EMPED set_light(0) emped = emped+1 //Increase the number of consecutive EMP's + update_icon() var/thisemp = emped //Take note of which EMP this proc is for spawn(900) if(loc) //qdel limbo triggerCameraAlarm() //camera alarm triggers even if multiple EMPs are in effect. if(emped == thisemp) //Only fix it if the camera hasn't been EMP'd again network = previous_network - icon_state = initial(icon_state) stat &= ~EMPED - cancelCameraAlarm() + update_icon() if(can_use()) cameranet.addCamera(src) emped = 0 //Resets the consecutive EMP count spawn(100) if(!QDELETED(src)) cancelCameraAlarm() - for(var/mob/O in mob_list) - if(O.client && O.client.eye == src) - O.unset_machine() - O.reset_perspective(null) - to_chat(O, "The screen bursts into static.") + for(var/mob/M in player_list) + if(M.client && M.client.eye == src) + M.unset_machine() + M.reset_perspective(null) + to_chat(M, "The screen bursts into static.") ..() /obj/machinery/camera/tesla_act(var/power)//EMP proof upgrade also makes it tesla immune @@ -106,109 +103,91 @@ ..() qdel(src)//to prevent bomb testing camera from exploding over and over forever -/obj/machinery/camera/ex_act(severity, target) - if(src.invuln) +/obj/machinery/camera/ex_act(severity) + if(invuln) return - else - ..() - return - -/obj/machinery/camera/blob_act() - qdel(src) - return - -/obj/machinery/camera/attack_ghost(mob/user) - if(panel_open) - wires.Interact(user) - -/obj/machinery/camera/attack_alien(mob/living/carbon/alien/humanoid/user) - if(!istype(user)) - return - user.do_attack_animation(src) - add_hiddenprint(user) - status = 0 - visible_message("\The [user] slashes at [src]!") - playsound(src.loc, 'sound/weapons/slash.ogg', 100, 1) - toggle_cam(user, 0) - + ..() /obj/machinery/camera/proc/setViewRange(num = 7) - src.view_range = num + view_range = num cameranet.updateVisibility(src, 0) -/obj/machinery/camera/attackby(obj/item/W, mob/living/user as mob, params) - var/msg = "You attach [W] into the assembly inner circuits." +/obj/machinery/camera/attackby(obj/item/I, mob/living/user as mob, params) + var/msg = "You attach [I] into the assembly inner circuits." var/msg2 = "The camera already has that upgrade!" // DECONSTRUCTION - if(istype(W, /obj/item/screwdriver)) -// to_chat(user, "You start to [panel_open ? "close" : "open"] the camera's panel.") - //if(toggle_panel(user)) // No delay because no one likes screwdrivers trying to be hip and have a duration cooldown + if(isscrewdriver(I)) panel_open = !panel_open - user.visible_message("[user] screws the camera's panel [panel_open ? "open" : "closed"]!", - "You screw the camera's panel [panel_open ? "open" : "closed"].") - playsound(src.loc, W.usesound, 50, 1) + to_chat(user, "You screw the camera's panel [panel_open ? "open" : "closed"].") + playsound(loc, I.usesound, 50, 1) - else if((istype(W, /obj/item/wirecutters) || istype(W, /obj/item/multitool)) && panel_open) - wires.Interact(user) + else if(iswirecutter(I) && panel_open) + toggle_cam(user, 1) + obj_integrity = max_integrity //this is a pretty simplistic way to heal the camera, but there's no reason for this to be complex. + playsound(loc, I.usesound, 50, 1) - else if(istype(W, /obj/item/weldingtool) && wires.CanDeconstruct()) - if(weld(W, user)) - to_chat(user, "You unweld the camera leaving it as just a frame screwed to the wall.") - if(!assembly) - assembly = new() - assembly.loc = src.loc - assembly.state = 1 - assembly.dir = src.dir - assembly.update_icon() - assembly = null - qdel(src) + else if(ismultitool(I) && panel_open) + setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) + to_chat(user, "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.") + + else if(iswelder(I) && panel_open) + var/obj/item/weldingtool/WT = I + if(!WT.remove_fuel(0, user)) return - else if(istype(W, /obj/item/analyzer) && panel_open) //XRay - if(!user.unEquip(W)) - to_chat(user, "[W] is stuck!") + to_chat(user, "You start to weld [src]...") + playsound(loc, WT.usesound, 50, 1) + if(do_after(user, 100 * WT.toolspeed, target = src)) + user.visible_message("[user] unwelds [src], leaving it as just a frame bolted to the wall.", + "You unweld [src], leaving it as just a frame bolted to the wall") + deconstruct(TRUE) + + else if(istype(I, /obj/item/analyzer) && panel_open) //XRay + if(!user.drop_item()) + to_chat(user, "[I] is stuck to your hand!") return if(!isXRay()) upgradeXRay() - qdel(W) + qdel(I) to_chat(user, "[msg]") else to_chat(user, "[msg2]") - else if(istype(W, /obj/item/stack/sheet/mineral/plasma) && panel_open) - if(!user.unEquip(W)) - to_chat(user, "[W] is stuck!") + else if(istype(I, /obj/item/stack/sheet/mineral/plasma) && panel_open) + if(!user.drop_item()) + to_chat(user, "[I] is stuck to your hand!") return if(!isEmpProof()) upgradeEmpProof() to_chat(user, "[msg]") - qdel(W) + qdel(I) else to_chat(user, "[msg2]") - else if(istype(W, /obj/item/assembly/prox_sensor) && panel_open) - if(!user.unEquip(W)) + else if(istype(I, /obj/item/assembly/prox_sensor) && panel_open) + if(!user.drop_item()) + to_chat(user, "[I] is stuck to your hand!") return if(!isMotion()) upgradeMotion() to_chat(user, "[msg]") - qdel(W) + qdel(I) else to_chat(user, "[msg2]") // OTHER - else if((istype(W, /obj/item/paper) || istype(W, /obj/item/pda)) && isliving(user)) + else if((istype(I, /obj/item/paper) || istype(I, /obj/item/pda)) && isliving(user)) var/mob/living/U = user var/obj/item/paper/X = null var/obj/item/pda/P = null var/itemname = "" var/info = "" - if(istype(W, /obj/item/paper)) - X = W + if(istype(I, /obj/item/paper)) + X = I itemname = X.name info = X.info else - P = W + P = I var/datum/data/pda/app/notekeeper/N = P.find_program(/datum/data/pda/app/notekeeper) if(N) itemname = P.name @@ -229,37 +208,58 @@ to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...") O << browse(text("[][]", itemname, info), text("window=[]", itemname)) - else if(istype(W, /obj/item/camera_bug)) - if(!src.can_use()) + else if(istype(I, /obj/item/camera_bug)) + if(!can_use()) to_chat(user, "Camera non-functional.") return - if(istype(src.bug)) + if(istype(bug)) to_chat(user, "Camera bug removed.") - src.bug.bugged_cameras -= src.c_tag - src.bug = null + bug.bugged_cameras -= c_tag + bug = null else to_chat(user, "Camera bugged.") - src.bug = W - src.bug.bugged_cameras[src.c_tag] = src + bug = I + bug.bugged_cameras[c_tag] = src - else if(istype(W, /obj/item/melee/energy/blade))//Putting it here last since it's a special case. I wonder if there is a better way to do these than type casting. - toggle_cam(user, 1) - var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() - spark_system.set_up(5, 0, loc) - spark_system.start() - playsound(loc, W.usesound, 50, 1) - playsound(loc, "sparks", 50, 1) - visible_message("[user] has sliced the camera apart with an energy blade!") - qdel(src) - - else if(istype(W, /obj/item/laser_pointer)) - var/obj/item/laser_pointer/L = W + else if(istype(I, /obj/item/laser_pointer)) + var/obj/item/laser_pointer/L = I L.laser_act(src, user) else - ..() - return + return ..() -/obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = 1) +/obj/machinery/camera/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) + if(damage_flag == "melee" && damage_amount < 12 && !(stat & BROKEN)) + return 0 + . = ..() + +/obj/machinery/camera/obj_break(damage_flag) + if(status) + triggerCameraAlarm() + toggle_cam(null, 0) + +/obj/machinery/camera/deconstruct(disassembled = TRUE) + if(disassembled) + if(!assembly) + assembly = new() + assembly.forceMove(loc) + assembly.state = 1 + assembly.setDir(dir) + assembly.update_icon() + assembly = null + else + new /obj/item/camera_assembly(loc) + new /obj/item/stack/cable_coil(loc, 2) + qdel(src) + +/obj/machinery/camera/update_icon() + if(!status) + icon_state = "[initial(icon_state)]1" + else if(stat & EMPED) + icon_state = "[initial(icon_state)]emp" + else + icon_state = "[initial(icon_state)]" + +/obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = TRUE) status = !status if(can_use()) cameranet.addCamera(src) @@ -268,10 +268,7 @@ cameranet.removeCamera(src) cameranet.updateChunk(x, y, z) var/change_msg = "deactivates" - if(!status) - icon_state = "[initial(icon_state)]1" - else - icon_state = initial(icon_state) + if(status) change_msg = "reactivates" triggerCameraAlarm() spawn(100) @@ -284,7 +281,8 @@ else visible_message("\The [src] [change_msg]!") - playsound(src.loc, toggle_message, 100, 1) + playsound(loc, toggle_sound, 100, 1) + update_icon() // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. @@ -300,9 +298,6 @@ motion_alarm.triggerAlarm(loc, src) /obj/machinery/camera/proc/cancelCameraAlarm() - if(wires.IsIndexCut(CAMERA_WIRE_ALARM)) - return - alarm_on = 0 motion_alarm.clearAlarm(loc, src) @@ -331,13 +326,13 @@ //If someone knows a better way to do this, let me know. -Giacom switch(i) if(NORTH) - src.dir = SOUTH + setDir(SOUTH) if(SOUTH) - src.dir = NORTH + setDir(NORTH) if(WEST) - src.dir = EAST + setDir(EAST) if(EAST) - src.dir = WEST + setDir(WEST) break //Return a working camera that can see a given mob @@ -357,32 +352,15 @@ return null -/obj/machinery/camera/proc/weld(var/obj/item/weldingtool/WT, var/mob/user) - if(busy) - return 0 - if(!WT.remove_fuel(0, user)) - return 0 - - to_chat(user, "You start to weld [src]...") - playsound(src.loc, WT.usesound, 50, 1) - busy = 1 - if(do_after(user, 100 * WT.toolspeed, target = src)) - busy = 0 - if(!WT.isOn()) - return 0 - return 1 - busy = 0 - return 0 - /obj/machinery/camera/proc/Togglelight(on=0) for(var/mob/living/silicon/ai/A in ai_list) for(var/obj/machinery/camera/cam in A.lit_cameras) if(cam == src) return if(on) - src.set_light(AI_CAMERA_LUMINOSITY) + set_light(AI_CAMERA_LUMINOSITY) else - src.set_light(0) + set_light(0) /obj/machinery/camera/proc/nano_structure() var/cam[0] diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index dc5a0141b27..8baf02088bb 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -6,7 +6,8 @@ w_class = WEIGHT_CLASS_SMALL anchored = 0 materials = list(MAT_METAL=400, MAT_GLASS=250) - + max_integrity = 150 + can_be_hit = TRUE // Motion, EMP-Proof, X-Ray var/list/obj/item/possible_upgrades = list(/obj/item/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/analyzer) var/list/upgrades = list() @@ -24,13 +25,13 @@ QDEL_LIST(upgrades) return ..() -/obj/item/camera_assembly/attackby(obj/item/W, mob/living/user, params) +/obj/item/camera_assembly/attackby(obj/item/I, mob/living/user, params) switch(state) if(0) // State 0 - if(iswrench(W) && isturf(src.loc)) - playsound(src.loc, W.usesound, 50, 1) + if(iswrench(I) && isturf(loc)) + playsound(loc, I.usesound, 50, 1) to_chat(user, "You wrench the assembly into place.") anchored = 1 state = 1 @@ -40,15 +41,15 @@ if(1) // State 1 - if(iswelder(W)) - if(weld(W, user)) + if(iswelder(I)) + if(weld(I, user)) to_chat(user, "You weld the assembly securely into place.") anchored = 1 state = 2 return - else if(iswrench(W)) - playsound(src.loc, W.usesound, 50, 1) + else if(iswrench(I)) + playsound(loc, I.usesound, 50, 1) to_chat(user, "You unattach the assembly from it's place.") anchored = 0 update_icon() @@ -57,19 +58,18 @@ if(2) // State 2 - if(iscoil(W)) - var/obj/item/stack/cable_coil/C = W + if(iscoil(I)) + var/obj/item/stack/cable_coil/C = I if(C.use(2)) to_chat(user, "You add wires to the assembly.") - playsound(loc, W.usesound, 50, 1) + playsound(loc, I.usesound, 50, 1) state = 3 else to_chat(user, "You need 2 coils of wire to wire the assembly.") return - else if(iswelder(W)) - - if(weld(W, user)) + else if(iswelder(I)) + if(weld(I, user)) to_chat(user, "You unweld the assembly from it's place.") state = 1 anchored = 1 @@ -78,8 +78,8 @@ if(3) // State 3 - if(isscrewdriver(W)) - playsound(src.loc, W.usesound, 50, 1) + if(isscrewdriver(I)) + playsound(loc, I.usesound, 50, 1) var/input = strip_html(input(usr, "Which networks would you like to connect this camera to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13")) if(!input) @@ -96,8 +96,8 @@ input = strip_html(input(usr, "How would you like to name the camera?", "Set Camera Name", temptag)) state = 4 - var/obj/machinery/camera/C = new(src.loc) - src.loc = C + var/obj/machinery/camera/C = new(loc) + loc = C C.assembly = src C.auto_turn() @@ -119,35 +119,36 @@ break return - else if(iswirecutter(W)) + else if(iswirecutter(I)) new/obj/item/stack/cable_coil(get_turf(src), 2) - playsound(src.loc, W.usesound, 50, 1) + playsound(loc, I.usesound, 50, 1) to_chat(user, "You cut the wires from the circuits.") state = 2 return // Upgrades! - if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. - if(!user.unEquip(W)) - to_chat(user, "[W] is stuck!") + if(is_type_in_list(I, possible_upgrades) && !is_type_in_list(I, upgrades)) // Is a possible upgrade and isn't in the camera already. + if(!user.unEquip(I)) + to_chat(user, "[I] is stuck!") return - to_chat(user, "You attach \the [W] into the assembly inner circuits.") - upgrades += W + to_chat(user, "You attach [I] into the assembly inner circuits.") + upgrades += I user.drop_item() - W.loc = src + I.loc = src return // Taking out upgrades - else if(iscrowbar(W) && upgrades.len) + else if(iscrowbar(I) && upgrades.len) var/obj/U = locate(/obj) in upgrades if(U) to_chat(user, "You unattach an upgrade from the assembly.") - playsound(src.loc, W.usesound, 50, 1) + playsound(loc, I.usesound, 50, 1) U.loc = get_turf(src) upgrades -= U return - ..() + else + return ..() /obj/item/camera_assembly/update_icon() if(anchored) @@ -159,7 +160,7 @@ if(!anchored) ..() -/obj/item/camera_assembly/proc/weld(var/obj/item/weldingtool/WT, var/mob/living/user) +/obj/item/camera_assembly/proc/weld(obj/item/weldingtool/WT, mob/living/user) if(busy) return 0 @@ -167,7 +168,7 @@ return 0 to_chat(user, "You start to weld the [src]..") - playsound(src.loc, WT.usesound, 50, 1) + playsound(loc, WT.usesound, 50, 1) busy = 1 if(do_after(user, 20 * WT.toolspeed, target = src)) busy = 0 @@ -176,3 +177,7 @@ return 1 busy = 0 return 0 + +/obj/item/camera_assembly/deconstruct(disassembled = TRUE) + new /obj/item/stack/sheet/metal(loc) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index 467858ad670..6a3e1aba86a 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -6,6 +6,7 @@ icon = 'icons/effects/effects.dmi' burn_state = LAVA_PROOF | FIRE_PROOF resistance_flags = INDESTRUCTIBLE + can_be_hit = FALSE /obj/effect/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 21bc0453500..c57bbab4d27 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -15,6 +15,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d var/inhand_x_dimension = 32 var/inhand_y_dimension = 32 + can_be_hit = FALSE + var/r_speed = 1.0 var/health = null var/hitsound = null @@ -277,25 +279,25 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d // Due to storage type consolidation this should get used more now. // I have cleaned it up a little, but it could probably use more. -Sayu -/obj/item/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/storage)) - var/obj/item/storage/S = W +/obj/item/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/storage)) + var/obj/item/storage/S = I if(S.use_to_pickup) if(S.collection_mode) //Mode is set to collect all items on a tile and we clicked on a valid one. - if(isturf(src.loc)) + if(isturf(loc)) var/list/rejections = list() var/success = 0 var/failure = 0 - for(var/obj/item/I in src.loc) - if(I.type in rejections) // To limit bag spamming: any given type only complains once + for(var/obj/item/IT in loc) + if(IT.type in rejections) // To limit bag spamming: any given type only complains once continue - if(!S.can_be_inserted(I)) // Note can_be_inserted still makes noise when the answer is no - rejections += I.type // therefore full bags are still a little spammy + if(!S.can_be_inserted(IT)) // Note can_be_inserted still makes noise when the answer is no + rejections += IT.type // therefore full bags are still a little spammy failure = 1 continue success = 1 - S.handle_item_insertion(I, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed. + S.handle_item_insertion(IT, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed. if(success && !failure) to_chat(user, "You put everything in [S].") else if(success) @@ -305,8 +307,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d else if(S.can_be_inserted(src)) S.handle_item_insertion(src) - - return + else + return ..() /obj/item/proc/hit_reaction(mob/living/carbon/human/owner, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(prob(final_block_chance)) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 93f230a07e8..66316b6f7ef 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -357,19 +357,22 @@ remove_from_storage(Item, loc, burn) //This proc is called when you want to place an item into the storage item. -/obj/item/storage/attackby(obj/item/W as obj, mob/user as mob, params) +/obj/item/storage/attackby(obj/item/I, mob/user, params) ..() - + if(istype(I, /obj/item/hand_labeler)) + var/obj/item/hand_labeler/labeler = I + if(labeler.mode) + return FALSE + . = 1 //no afterattack if(isrobot(user)) - to_chat(user, "You're a robot. No.") - return 1//Robots can't interact with storage items. + return //Robots can't interact with storage items. - if(!can_be_inserted(W)) - return 0 - - handle_item_insertion(W) - return 1 + if(!can_be_inserted(I)) + if(contents.len >= storage_slots) //don't use items on the backpack if they don't fit + return TRUE + return FALSE + handle_item_insertion(I) /obj/item/storage/attack_hand(mob/user as mob) playsound(src.loc, "rustle", 50, 1, -5) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index fe9e8444378..dc642dcbde5 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -17,6 +17,7 @@ var/integrity_failure = 0 //0 if we have no special broken behavior var/resistance_flags = NONE // INDESTRUCTIBLE + var/can_be_hit = TRUE //can this be bludgeoned by items? var/Mtoollink = 0 // variable to decide if an object should show the multitool menu linking menu, not all objects use it diff --git a/paradise.dme b/paradise.dme index 6cf47e457f5..c10e5633cc6 100644 --- a/paradise.dme +++ b/paradise.dme @@ -360,7 +360,6 @@ #include "code\datums\wires\alarm.dm" #include "code\datums\wires\apc.dm" #include "code\datums\wires\autolathe.dm" -#include "code\datums\wires\camera.dm" #include "code\datums\wires\explosive.dm" #include "code\datums\wires\mulebot.dm" #include "code\datums\wires\nuclearbomb.dm" From 66dd09ea4f769215bf9494df8bf01bdd8a6abdb2 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 20 May 2018 05:58:14 -0400 Subject: [PATCH 026/308] arbitrary --- code/modules/paperwork/handlabeler.dm | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 2700c8702db..92ec694ecb4 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -7,30 +7,23 @@ var/labels_left = 30 var/mode = 0 //off or on. -/obj/item/hand_labeler/afterattack(atom/A, mob/user as mob, proximity) - if(!proximity) return +/obj/item/hand_labeler/afterattack(atom/A, mob/user, proximity) + if(!proximity) + return if(!mode) //if it's off, give up. return - if(A == loc) // if placing the labeller into something (e.g. backpack) - return // don't set a label if(!labels_left) - to_chat(user, "No labels left.") + to_chat(user, "No labels left!") return if(!label || !length(label)) - to_chat(user, "No text set.") + to_chat(user, "No text set!") return if(length(A.name) + length(label) > 64) - to_chat(user, "Label too big.") + to_chat(user, "Label too big!") return - if(ishuman(A)) - to_chat(user, "You can't label humans.") - return - if(issilicon(A)) - to_chat(user, "You can't label cyborgs.") - return - if(istype(A, /obj/item/reagent_containers/glass)) - to_chat(user, "The label can't stick to the [A.name]. (Try using a pen)") + if(ismob(A)) + to_chat(user, "You can't label creatures!") // use a collar return user.visible_message("[user] labels [A] as [label].", \ From 657d6fe275135fc41a9be186e05c884185dc447d Mon Sep 17 00:00:00 2001 From: Ansari Date: Sun, 20 May 2018 19:40:52 +0800 Subject: [PATCH 027/308] Leftover healing is now split onto logical limbs --- code/game/objects/items/stacks/medical.dm | 41 +++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 3ffdfaaf751..b4d5a66ca39 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -104,7 +104,27 @@ if(stop_bleeding) if(!H.bleedsuppress) //so you can't stack bleed suppression H.suppress_bloodloss(stop_bleeding) + + var/rembrute = max(0, heal_brute - affecting.brute_dam) + var/remburn = max(0, heal_burn - affecting.burn_dam) + var/nrembrute = rembrute + var/nremburn = remburn affecting.heal_damage(heal_brute, heal_burn) + if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO)) + for(var/obj/item/organ/external/E in affecting.children) + if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering + break + else if(E.status && ORGAN_ROBOT || E.open == 1) // Ignore robotic or open limb + continue + else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb + continue + nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain + nremburn = remburn - E.burn_dam + E.heal_damage(rembrute, remburn) + rembrute = nrembrute + remburn = nremburn + user.visible_message("[user] bandages the wounds on [H]'s [E.name] with the remaining bandages.", \ + "You bandages the wounds on [H]'s [E.name] with the remaining bandages." ) H.UpdateDamageIcon() use(1) else @@ -143,9 +163,26 @@ if(affecting.open == 0) affecting.germ_level = 0 - user.visible_message("[user] salves the wounds on [H]'s [affecting.name].", \ - "You salve the wounds on [H]'s [affecting.name]." ) + var/rembrute = max(0, heal_brute - affecting.brute_dam) + var/remburn = max(0, heal_burn - affecting.burn_dam) + var/nrembrute = rembrute + var/nremburn = remburn affecting.heal_damage(heal_brute, heal_burn) + if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO)) + for(var/obj/item/organ/external/E in affecting.children) + if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering + break + else if(E.status && ORGAN_ROBOT || E.open == 1) // Ignore robotic or open limb + continue + else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb + continue + nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain + nremburn = remburn - E.burn_dam + E.heal_damage(rembrute, remburn) + rembrute = nrembrute + remburn = nremburn + user.visible_message("[user] salves the wounds on [H]'s [E.name] with the remaining ointment.", \ + "You salve the wounds on [H]'s [E.name] with the remaining ointment." ) H.UpdateDamageIcon() use(1) else From ca1784d39431a2118054642e458c97a15e0240a3 Mon Sep 17 00:00:00 2001 From: Ansari Date: Sun, 20 May 2018 20:05:22 +0800 Subject: [PATCH 028/308] Fixes missing message for burn kit --- code/game/objects/items/stacks/medical.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index b4d5a66ca39..235e94fe05f 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -163,6 +163,9 @@ if(affecting.open == 0) affecting.germ_level = 0 + user.visible_message("[user] salves the wounds on [H]'s [affecting.name].", \ + "You salves the wounds on [H]'s [affecting.name]." ) + var/rembrute = max(0, heal_brute - affecting.brute_dam) var/remburn = max(0, heal_burn - affecting.burn_dam) var/nrembrute = rembrute From 43cefbcf715041baa17446fbe51dfad26cd09245 Mon Sep 17 00:00:00 2001 From: Ansari Date: Sun, 20 May 2018 20:51:52 +0800 Subject: [PATCH 029/308] No longer discriminates against the lower body --- code/game/objects/items/stacks/medical.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 235e94fe05f..d7ef2969bf6 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -110,7 +110,7 @@ var/nrembrute = rembrute var/nremburn = remburn affecting.heal_damage(heal_brute, heal_burn) - if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO)) + if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) for(var/obj/item/organ/external/E in affecting.children) if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering break @@ -171,7 +171,7 @@ var/nrembrute = rembrute var/nremburn = remburn affecting.heal_damage(heal_brute, heal_burn) - if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO)) + if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) for(var/obj/item/organ/external/E in affecting.children) if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering break From 22e5a63a4144ec95e674d0a700ee34dc4cc82b80 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 20 May 2018 17:30:54 +0100 Subject: [PATCH 030/308] macaroni cheese recipe tweak --- code/modules/food_and_drinks/recipes/recipes_microwave.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.dm b/code/modules/food_and_drinks/recipes/recipes_microwave.dm index a9936c31bc8..70169476c9d 100644 --- a/code/modules/food_and_drinks/recipes/recipes_microwave.dm +++ b/code/modules/food_and_drinks/recipes/recipes_microwave.dm @@ -397,7 +397,7 @@ result = /obj/item/reagent_containers/food/snacks/spesslaw /datum/recipe/microwave/macncheese - reagents = list("water" = 5) + reagents = list("water" = 5, "milk" = 5) items = list( /obj/item/reagent_containers/food/snacks/cheesewedge, /obj/item/reagent_containers/food/snacks/macaroni, From 15cd0ed63a40eb783b030db243120fa1f6e596e6 Mon Sep 17 00:00:00 2001 From: Citinited Date: Mon, 21 May 2018 00:19:26 +0100 Subject: [PATCH 031/308] Adds the conveyor belt placer for easier conveyor belt production --- code/modules/recycling/belt-placer.dm | 40 ++++++++++++++++++ .../research/designs/autolathe_designs.dm | 8 ++++ .../research/designs/bluespace_designs.dm | 10 +++++ icons/obj/storage.dmi | Bin 67266 -> 67706 bytes paradise.dme | 1 + 5 files changed, 59 insertions(+) create mode 100644 code/modules/recycling/belt-placer.dm diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm new file mode 100644 index 00000000000..9591ea1e4a9 --- /dev/null +++ b/code/modules/recycling/belt-placer.dm @@ -0,0 +1,40 @@ +/obj/item/storage/conveyor //Stores conveyor belts, click floor to make belt, use a conveyor switch on this to link all belts to that lever. + name = "conveyor belt placer" + desc = "This device facilitates the rapid deployment of conveyor belts." + icon_state = "belt_placer" + w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? + can_hold = list(/obj/item/conveyor_construct) + max_w_class = WEIGHT_CLASS_BULKY + max_combined_w_class = 28 //7 belts + allow_quick_gather = TRUE + allow_quick_empty = TRUE + display_contents_with_number = TRUE + use_to_pickup = TRUE + origin_tech = "engineering=1" + +/obj/item/storage/conveyor/bluespace + name = "bluespace conveyor belt placer" + desc = "This device facilitates the rapid deployment of conveyor belts. This one has an unlimited capacity for belts, thanks to bluespace technology." + icon_state = "bluespace_belt_placer" + w_class = WEIGHT_CLASS_NORMAL + storage_slots = INFINITY + max_combined_w_class = INFINITY + origin_tech = "engineering=2;bluespace=1" + +/obj/item/storage/conveyor/attackby(obj/item/conveyor_switch_construct/S, mob/user, params) //So we can link belts en masse + if(istype(S)) + var/linked = FALSE //For nice message + for(var/obj/item/conveyor_construct/C in src) + C.id = S.id + linked = TRUE + if(linked) + to_chat(user, "All belts in [src] linked with [S].") + else + ..() + +/obj/item/storage/conveyor/afterattack(atom/A, mob/user, proximity) + var/obj/item/conveyor_construct/C = locate() in src + if(!C) + to_chat(user, "There are no belts in [src].") + else + C.afterattack(A, user, proximity) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index b7919662514..5cb51863851 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -800,6 +800,14 @@ build_path = /obj/item/conveyor_switch_construct category = list("initial", "Construction") +/datum/design/conveyor_belt_placer + name = "Conveyor Belt Placer" + id = "conveyor_belt_placer" + build_type = AUTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) //This thing doesn't need to be very resource-intensive as the belts are already expensive + build_path = /obj/item/storage/conveyor + category = list("initial", "Construction") + /datum/design/laptop name = "Laptop Frame" id = "laptop" diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index 3c555c40849..bb21033f0cf 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -51,6 +51,16 @@ build_path = /obj/item/storage/bag/ore/holding category = list("Bluespace") +/datum/design/bluespace_belt_holder + name = "Bluespace Conveyor Belt Placer" + desc = "This device facilitates the rapid deployment of conveyor belts. This one is powered by bluespace" + id = "bluespace_belt_holder" + req_tech = list("materials" = 1, "engineering" = 3, "bluespace" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_SILVER = 500) //Costs similar materials to the basic one, but this one needs silver + build_path = /obj/item/storage/conveyor/bluespace + category = list("Bluespace") + /datum/design/telepad_beacon name = "Telepad Beacon" desc = "Use to warp in a cargo telepad." diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 39df3590359e7f4eea42e19ac7b2d8c158ae8f8c..fe058a3e35fbbe27b347eeb76a175c0ba9d0745e 100644 GIT binary patch delta 8101 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 diff --git a/paradise.dme b/paradise.dme index 6cf47e457f5..97dce117d5e 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2067,6 +2067,7 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\recycling\belt-placer.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm" From d89b6dbc57860acd74bc7a428695b0c3a34953c4 Mon Sep 17 00:00:00 2001 From: Citinited Date: Mon, 21 May 2018 00:39:07 +0100 Subject: [PATCH 032/308] Slight code tweaks --- code/modules/recycling/belt-placer.dm | 2 ++ code/modules/research/designs/bluespace_designs.dm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index 9591ea1e4a9..3cd305d9385 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -33,6 +33,8 @@ ..() /obj/item/storage/conveyor/afterattack(atom/A, mob/user, proximity) + if(!proximity) + return var/obj/item/conveyor_construct/C = locate() in src if(!C) to_chat(user, "There are no belts in [src].") diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index bb21033f0cf..ab336777b7a 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -53,7 +53,7 @@ /datum/design/bluespace_belt_holder name = "Bluespace Conveyor Belt Placer" - desc = "This device facilitates the rapid deployment of conveyor belts. This one is powered by bluespace" + desc = "This device facilitates the rapid deployment of conveyor belts. This one is powered by bluespace." id = "bluespace_belt_holder" req_tech = list("materials" = 1, "engineering" = 3, "bluespace" = 3) build_type = PROTOLATHE From 1cc1e30c54c080aef45791759b6ce01af88fa401 Mon Sep 17 00:00:00 2001 From: Ansari Date: Mon, 21 May 2018 08:01:57 +0800 Subject: [PATCH 033/308] Woot, refactored code. Added "healverb" --- code/game/objects/items/stacks/medical.dm | 77 ++++++++++------------- 1 file changed, 32 insertions(+), 45 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index d7ef2969bf6..00388d7e40b 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -12,6 +12,7 @@ var/self_delay = 20 var/unique_handling = 0 //some things give a special prompt, do we want to bypass some checks in parent? var/stop_bleeding = 0 + var/healverb = "bandage" /obj/item/stack/medical/attack(mob/living/M, mob/user) if(!iscarbon(M) && !isanimal(M)) @@ -77,6 +78,33 @@ "You apply [src] on [M].") use(1) +/obj/item/stack/medical/proc/heal(mob/living/M, mob/user) + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) + user.visible_message("[user] [healverb]s the wounds on [H]'s [affecting.name].", \ + "You [healverb] the wounds on [H]'s [affecting.name]." ) + + var/rembrute = max(0, heal_brute - affecting.brute_dam) + var/remburn = max(0, heal_burn - affecting.burn_dam) + var/nrembrute = rembrute + var/nremburn = remburn + affecting.heal_damage(heal_brute, heal_burn) + if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) + for(var/obj/item/organ/external/E in affecting.children) + if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering + break + else if(E.status && ORGAN_ROBOT || E.open) // Ignore robotic or open limb + continue + else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb + continue + nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain + nremburn = remburn - E.burn_dam + E.heal_damage(rembrute, remburn) + rembrute = nrembrute + remburn = nremburn + user.visible_message("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication.", \ + "You [healverb] the wounds on [H]'s [E.name] with the remaining medication." ) + //Bruise Packs// /obj/item/stack/medical/bruise_pack @@ -98,33 +126,12 @@ if(affecting.open == 0) affecting.germ_level = 0 - user.visible_message("[user] bandages the wounds on [H]'s [affecting.name].", \ - "You bandage the wounds on [H]'s [affecting.name]." ) - if(stop_bleeding) if(!H.bleedsuppress) //so you can't stack bleed suppression H.suppress_bloodloss(stop_bleeding) - var/rembrute = max(0, heal_brute - affecting.brute_dam) - var/remburn = max(0, heal_burn - affecting.burn_dam) - var/nrembrute = rembrute - var/nremburn = remburn - affecting.heal_damage(heal_brute, heal_burn) - if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) - for(var/obj/item/organ/external/E in affecting.children) - if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering - break - else if(E.status && ORGAN_ROBOT || E.open == 1) // Ignore robotic or open limb - continue - else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb - continue - nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain - nremburn = remburn - E.burn_dam - E.heal_damage(rembrute, remburn) - rembrute = nrembrute - remburn = nremburn - user.visible_message("[user] bandages the wounds on [H]'s [E.name] with the remaining bandages.", \ - "You bandages the wounds on [H]'s [E.name] with the remaining bandages." ) + heal(H, user) + H.UpdateDamageIcon() use(1) else @@ -151,6 +158,7 @@ singular_name = "ointment" icon_state = "ointment" origin_tech = "biotech=2" + healverb = "salve" /obj/item/stack/medical/ointment/attack(mob/living/M, mob/user) if(..()) @@ -163,29 +171,8 @@ if(affecting.open == 0) affecting.germ_level = 0 - user.visible_message("[user] salves the wounds on [H]'s [affecting.name].", \ - "You salves the wounds on [H]'s [affecting.name]." ) + heal(H, user) - var/rembrute = max(0, heal_brute - affecting.brute_dam) - var/remburn = max(0, heal_burn - affecting.burn_dam) - var/nrembrute = rembrute - var/nremburn = remburn - affecting.heal_damage(heal_brute, heal_burn) - if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) - for(var/obj/item/organ/external/E in affecting.children) - if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering - break - else if(E.status && ORGAN_ROBOT || E.open == 1) // Ignore robotic or open limb - continue - else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb - continue - nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain - nremburn = remburn - E.burn_dam - E.heal_damage(rembrute, remburn) - rembrute = nrembrute - remburn = nremburn - user.visible_message("[user] salves the wounds on [H]'s [E.name] with the remaining ointment.", \ - "You salve the wounds on [H]'s [E.name] with the remaining ointment." ) H.UpdateDamageIcon() use(1) else From 25dd0feda24c0da8a6f9a7cf9549a85d4bf942e7 Mon Sep 17 00:00:00 2001 From: Ansari Date: Mon, 21 May 2018 08:02:36 +0800 Subject: [PATCH 034/308] Use !E.brutedam instead of == 0 --- code/game/objects/items/stacks/medical.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 00388d7e40b..846da0b61aa 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -95,7 +95,7 @@ break else if(E.status && ORGAN_ROBOT || E.open) // Ignore robotic or open limb continue - else if(E.brute_dam == 0 && E.burn_dam == 0) // Ignore undamaged limb + else if(!E.brute_dam && !E.burn_dam) // Ignore undamaged limb continue nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain nremburn = remburn - E.burn_dam From 2ccae61597ff2d0358f925fad3feb0e5ee6c255d Mon Sep 17 00:00:00 2001 From: Citinited Date: Mon, 21 May 2018 21:15:38 +0100 Subject: [PATCH 035/308] Better conveyor belt holder sprites, and limits bluespace belt holder to 50 belts --- code/modules/recycling/belt-placer.dm | 4 +++- icons/mob/inhands/items_lefthand.dmi | Bin 144265 -> 145348 bytes icons/mob/inhands/items_righthand.dmi | Bin 140375 -> 141537 bytes icons/obj/storage.dmi | Bin 67706 -> 69723 bytes 4 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index 3cd305d9385..e58ffa9a837 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -2,6 +2,7 @@ name = "conveyor belt placer" desc = "This device facilitates the rapid deployment of conveyor belts." icon_state = "belt_placer" + item_state = "cbp" w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? can_hold = list(/obj/item/conveyor_construct) max_w_class = WEIGHT_CLASS_BULKY @@ -16,9 +17,10 @@ name = "bluespace conveyor belt placer" desc = "This device facilitates the rapid deployment of conveyor belts. This one has an unlimited capacity for belts, thanks to bluespace technology." icon_state = "bluespace_belt_placer" + item_state = "bluespace_cbp" w_class = WEIGHT_CLASS_NORMAL storage_slots = INFINITY - max_combined_w_class = INFINITY + max_combined_w_class = 200 //50 belts origin_tech = "engineering=2;bluespace=1" /obj/item/storage/conveyor/attackby(obj/item/conveyor_switch_construct/S, mob/user, params) //So we can link belts en masse diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index bc282c185d82f425c08602a4386c226bdd398e5a..70eb4a0bdd9739b812c8225f772811439f3fb7fc 100644 GIT binary patch delta 20937 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 delta 20521 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

53xH1D!d|9xzz}a_u2S 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

^VB#WH;X7Srxs(GfU9m{#+f{52~+nF$I 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 JOP`qr{$Ihq?JocT literal 67706 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 From 0e9bdc564024288eeaa52c50b88043d2dba7e4db Mon Sep 17 00:00:00 2001 From: Citinited Date: Mon, 21 May 2018 21:49:31 +0100 Subject: [PATCH 036/308] Fixes some outstanding issues --- code/modules/recycling/belt-placer.dm | 8 ++++---- icons/mob/inhands/items_lefthand.dmi | Bin 145348 -> 145351 bytes icons/mob/inhands/items_righthand.dmi | Bin 141537 -> 141534 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index e58ffa9a837..0430a33db8c 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -2,7 +2,7 @@ name = "conveyor belt placer" desc = "This device facilitates the rapid deployment of conveyor belts." icon_state = "belt_placer" - item_state = "cbp" + item_state = "belt_placer" w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? can_hold = list(/obj/item/conveyor_construct) max_w_class = WEIGHT_CLASS_BULKY @@ -15,11 +15,11 @@ /obj/item/storage/conveyor/bluespace name = "bluespace conveyor belt placer" - desc = "This device facilitates the rapid deployment of conveyor belts. This one has an unlimited capacity for belts, thanks to bluespace technology." + desc = "This device facilitates the rapid deployment of conveyor belts. This one utilises bluespace in order to hold many more belts than its regular counterpart." icon_state = "bluespace_belt_placer" - item_state = "bluespace_cbp" + item_state = "bluespace_belt_placer" w_class = WEIGHT_CLASS_NORMAL - storage_slots = INFINITY + storage_slots = 50 max_combined_w_class = 200 //50 belts origin_tech = "engineering=2;bluespace=1" diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 70eb4a0bdd9739b812c8225f772811439f3fb7fc..57a160a0d9d016e5a3195eae66756e8fc9d0a72e 100644 GIT binary patch delta 77 zcmV-T0J8tY?+C~52#_QJIk6=W3Neu18S%M^o{%7+^@R^<;A*SKtFKxff8pbc9~%08 j@!{9^i}%0$eD^>1jz&DY<4ll)V+x033IVrc3Ibs*1mq^$ delta 74 zcmV-Q0JZ22#_QJHnAlT3NC=BpKX27TVME){+*>CufAe={6&v1epu-H#fM+t gFW&$1^WFad)xkfkP$EPagJuecW(onfW(opfEqkUT?EnA( diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 5c79702d60fe3dd8afb38afe9e0887e594c84dd9..6638208260de9433217da8f9c9017113395dffb3 100644 GIT binary patch delta 4317 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 Date: Mon, 21 May 2018 23:18:22 +0100 Subject: [PATCH 037/308] Made the bluespace conveyor belt placer look less like the bluespace RPED --- icons/mob/inhands/items_lefthand.dmi | Bin 145351 -> 145312 bytes icons/mob/inhands/items_righthand.dmi | Bin 141534 -> 141468 bytes icons/obj/storage.dmi | Bin 69723 -> 69549 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 57a160a0d9d016e5a3195eae66756e8fc9d0a72e..1455fa9ab0e12b780767d5658b1f1ee68758e6f5 100644 GIT binary patch delta 18364 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

yR|yG*$)ja2Y!l$aE(+G3ui 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 EKW~)V#Q*>R delta 14817 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 delta 10871 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 Y$QyRef2Tks4ZuI@&vl+vJhcq|KS5k*!~g&Q From 513fbe81a36748fc202fa9f46d697f4759db76b6 Mon Sep 17 00:00:00 2001 From: Citinited Date: Tue, 22 May 2018 18:22:59 +0100 Subject: [PATCH 038/308] conduct flag, slight icon tweak --- code/modules/recycling/belt-placer.dm | 3 ++- icons/obj/storage.dmi | Bin 69549 -> 69552 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index 0430a33db8c..a42389290ba 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -5,6 +5,7 @@ item_state = "belt_placer" w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? can_hold = list(/obj/item/conveyor_construct) + flags = CONDUCT max_w_class = WEIGHT_CLASS_BULKY max_combined_w_class = 28 //7 belts allow_quick_gather = TRUE @@ -15,7 +16,7 @@ /obj/item/storage/conveyor/bluespace name = "bluespace conveyor belt placer" - desc = "This device facilitates the rapid deployment of conveyor belts. This one utilises bluespace in order to hold many more belts than its regular counterpart." + desc = "This device facilitates the rapid deployment of conveyor belts. It utilises bluespace in order to hold many more belts than its regular counterpart." icon_state = "bluespace_belt_placer" item_state = "bluespace_belt_placer" w_class = WEIGHT_CLASS_NORMAL diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index f0d5188cc121cd0e68fdf23ef27867dc40472710..f388b9384fbee3a15c9020c35e11960d229c05f9 100644 GIT binary patch delta 9469 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 H8T3B@Db+z< From c1d66ab81a96d335217654932cdd9074f561b452 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 00:17:20 -0400 Subject: [PATCH 039/308] KOI --- code/modules/events/event_container.dm | 3 +- code/modules/events/koi_mirgration.dm | 41 ++++++++++++++++++ .../simple_animal/hostile/retaliate/fish.dm | 39 ++++++++++++++++- icons/obj/fish_items.dmi | Bin 15203 -> 34359 bytes paradise.dme | 1 + 5 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 code/modules/events/koi_mirgration.dm diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index ef7b99e1133..96a271db644 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -139,7 +139,8 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Vermin Infestation",/datum/event/infestation, 100, list(ASSIGNMENT_JANITOR = 100)), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Sentience", /datum/event/sentience, 50), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Wallrot", /datum/event/wallrot, 0, list(ASSIGNMENT_ENGINEER = 30, ASSIGNMENT_GARDENER = 50)), - new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Aurora Caelus", /datum/event/aurora_caelus, 15, is_one_shot = TRUE) + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Aurora Caelus", /datum/event/aurora_caelus, 15, is_one_shot = TRUE), + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 200,) ) /datum/event_container/moderate diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm new file mode 100644 index 00000000000..52e4a3d37cc --- /dev/null +++ b/code/modules/events/koi_mirgration.dm @@ -0,0 +1,41 @@ +/datum/event/koi_migration + announceWhen = 50 + endWhen = 900 + + var/list/spawned_koi = list() + +/datum/event/koi_migration/setup() + announceWhen = rand(40, 60) + endWhen = rand(600,1200) + +/datum/event/koi_migration/announce() + var/announcement = "" + announcement = "Unknown biological [spawned_koi.len == 1 ? "entity has" : "entities have"] been detected near [station_name()], please stand-by." + event_announcement.Announce(announcement, "Lifesign Alert") + +/datum/event/koi_migration/start() + spawn_fish(landmarks_list.len) + +/datum/event/koi_migration/proc/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) + var/list/spawn_locations = list() + + for(var/obj/effect/landmark/C in landmarks_list) + if(C.name == "carpspawn") + spawn_locations.Add(C.loc) + spawn_locations = shuffle(spawn_locations) + num_groups = min(num_groups, spawn_locations.len) + + var/i = 1 + while(i <= num_groups) + var/group_size = rand(group_size_min, group_size_max) + for(var/j = 1, j <= group_size, j++) + var/carptype = /mob/living/simple_animal/hostile/retaliate/carp/koi + spawned_koi.Add(new carptype(spawn_locations[i])) + i++ + +/datum/event/koi_migration/end() + for(var/mob/living/simple_animal/hostile/retaliate/carp/koi/C in spawned_koi) + if(!C.stat) + var/turf/T = get_turf(C) + if(istype(T, /turf/space)) + qdel(C) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm index 3462e8e18e7..4ac78a86fcb 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -27,4 +27,41 @@ speak_emote = list("gnashes") faction = list("carp") - flying = 1 \ No newline at end of file + flying = 1 + + +/mob/living/simple_animal/hostile/retaliate/carp/koi + name = "space koi" + desc = "a gentle space faring koi." + icon = 'icons/obj/fish_items.dmi' + icon_state = "koi1" + icon_living = "koi1" + icon_dead = "koi1-dead" + icon_gib = "carp_gib" + + harm_intent_damage = 1 + melee_damage_lower = 2 + melee_damage_upper = 2 + attacktext = "bites" + attack_sound = 'sound/weapons/bite.ogg' + speak_emote = list("blurps") + + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1500 + + faction = list("carp") + flying = 1 + +/mob/living/simple_animal/hostile/retaliate/carp/koi/New() + ..() + var/koinum = rand(1,4) + icon_state = "koi[koinum]" + icon_living = "koi[koinum]" + icon_dead = "koi[koinum]-dead" + if(prob(1)) + icon_state = "koi5" + + +/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir = 0) + return 1 \ No newline at end of file diff --git a/icons/obj/fish_items.dmi b/icons/obj/fish_items.dmi index fd8eea365405dfbc1a2fd3edf12a4df3515637b1..47b62af97f751c7817dc6a33f89ac34a9f3e07bc 100644 GIT binary patch literal 34359 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

%`BtG4ogq=*NHk zljW4~6TjglQ2Yg981TpAYS#DXsqT8{`9{?{ zz>MrZ77swF?t-WalpIFPvYW@rP; zuk(CARWA%&@~5S_m_7fh^g4Fu1KAJ#GVC(Bmwuk>q21>AE)Js64r6pY4BSNofgDi+ z9q0cw4de{8OSDY;*EQ97=dGnQN-oJzT+wF`{+HXBRm5W6J>6zPtMcx0y2PBUHu}$tDY0f6ZI_#u_WPc!i#Kicqi^@2;Y-{_$5_*d>sXIS-8~^_8r2K3th$bS zLWgot8xt~4?5K_P38Sf;;a1qn%1YHjLrV)r_c~|G)>a_+sSWeTm%7Et75XgI>jTA2 zSJ;P;YXm<5I$P>2aj+5m@4`eR;$|qOL`v91ocKB6=rSbftNM zPtwfWo9t+#^EC-`7i>r8Vw}y(!7l+J>6a$xj+Ux-bCV8ulY*q{Fz|o^l4O(6o_nQK zU*}B3NGWuny{OfrN`p# z(*q4^`nPIf+5P_amHdXRA(fwBdWhPj#jFzh@6R`Eud;K@=et4gyojg1=QZs5O^T)H zeA#pDFdDkM^X!xGC95kGKV(0?onpr8_aBXhao_rMRJtZILH7>8pl_0hOHH)s2OpiiML z%G#I!pMk`n;FU$#0=RK+;g}*Mu?dEp8nOg`G-f!2`m80qJvwFl6I{~{n`G;9 zw{L?ee*_ESg@lAewWHF#f0UPGK2U>1j*<-5z%B_!5Pr{~+HAg!npYF99Tc#(lCse6`@OG4=ujca5XUZ8E)2&pUkYKX{4xW~+KLxiYs?1XNFB zJQ4zD!cOB+3n6!VGkNnL?jh!931#xf9jrQb|^pswY9a`SeZ`zyLq9?@Z&BG z!i;FBr-WjkYJ@2n$D)`!bDp#_b{{A93~t^=D#StL;2ZmN#>@#1KCkAhi4xq@M>n^*wr_-bi)&iJd>1iHHMTPv<}cZb|0|7nK$` zGhVpac=jXhK-pY;IcWe2xV|=YL}5Y}%sV}Gz{bO44%pCxj|U#Z*Z;yi`XKgBP7$7B z5(;SU@YZ5lN<>E^zSbVa7_~4b6B7xd-i9e&6}5c%L`|VTzx)UuZtdQ^ZP!;}@}Czs zgtox=>(XzSNsKDD7pmu$Z9_xP5aMvj!%W;?`)%t5ZRffq#Jx<7r&WNHG7F$~rQhy9 zcHQ4}femMjvm)i-z>w&Rb1OCnm)=SvZ4bTrs?_%yA%hBgej4TSsv%7?0j5_pKzTbsI?VLY652*k1z)Ow2T|dxfRRCap)N=%gzr|{ z?TG^g{_d)&s2p~Aw?wzyckFZkMm+Q1B<0Y#jQjaURDu4czH?w{IX4&$)ba_}z`$Ue zzh(1~KekJUByPuGjn-Ci(q#nWzU8)~11L12KzILJz2p&^U7w=`g(eb1SLn+h-JtjK zRF7z92)85@I{^jK-AAn&pnOYPTP0)f#^^tt$-z&VVnP;?1zDx0CMKXpeU(TLH|j-l zmN!_{wvRSBVKu;fnC&PcL5cDLMoi6!^UjUEwE(fEwRPE9bp#L8-faKOw3P{j4CSHU z`yW(wQNl4N4i2oPN6~9o#`a>g^V0iJOs%RcRN$7CJr#%N&p7C3r2y1efSbrvg5RTA zu!1gV+$pHJfyY5mDd053{hze}?bU}R#__L+xW&b*?Ugok7S^t7S{ONODIAF5Qqxax_-%XIL5Uw#{s;M$6wiR!~r|xU__^`uMvQ<~o{q!;B>3 zUJvs+N3sa?^z;n13>cM|zeS@s7SH~AUgpP&sGQU2}$p&p~4tV9MiG9&1K)tC$p`<;$MkG~g=gx0FH0GH&S z2*lD`$m!*ryZ}7rxO$ z*N(&u-)rBbU(eaxcG=A%2(yrC`K$~*FH6*|0+k@&u}HOF6)$ZOElMFgb>M(@sH?S=#byEeI3w5_ zYAi%t1=pr&ZGlC&N*H*IVhN!gCkN_F&I(x%fiw<^wBC2K`nf32+?Iv~#DZjH z79Var9fAU&`Zz*mAziYet`+s0+r9D%Ey zPmq&m(eay^Y4J16bC1rqhqSU{EieQ3?=TJgB3Pb}goIW5i~H3Uw?|5+_9Ufc-|WI$ zFEOc?zcD9xdvC!`gsHGRW_tHt-^CEI(a5NH-kW=x*OtlQK!$k50&Vjop{j2-De2=} zVsuB32a>4iGW`vu26?zCSuyn@0vC`^fByf?uAy=U-Ukp7mT=QL6{6dmoX~Dg<@Xlm zABEQX)QU_P=o^rZLL&&c-^_@kZbCJaEkiO8(c(d%hA?5D<@>DLa}Yx*JWtB`zS{0_ z$A7Tgl=i${nDLb$kYx|QdM{()d5HMDPUXyMx=a1NCY!cZ4lE7+*%IOqQ(xt^gkO7iSWp7*%8aTk41{Ha|Iq{+tJ?8(c3 zO{naSQ?NA_-tF2sY^2HIzO8Fp+xbJ{**OQILI4Bi@dmw&CS3Y9a2SG(jg8Kn!lxLP zpRXE0rCfgf_xj85lTBvvMwerI0u9LMNwsq8zVvD_aX&1=$I+Uog@f%Z=8D_|`f)Dj3SSF4(f?Ke z;_ywQ{aP%}{eb!$nBVCf%iz)d>)}1uf3N*(v!~rKmSF^HO75&go-TLx%-2$)bDqrc zCn-+krirJOo~ne=Sw2MO37}Md5)Bdlpj5S>?Ay8iYspA1jDBH>98ICl2NQ7?+BKdb zljJ{G$2pxajXAiwDBTfMz5IF6!r+T_xsIeNea-}9&V;$Qw?LYDO0mu3#YK%mNp@no zU&lXN&e`_<26e{}hD(2IH#sq`)UIu9jh>s+(k$1yq~DjOqO1e68}q)3nv@~P6qz3H zCpf*66!jXkhlu&0gA#>#5KixU`VBt+Z0M#&FGxIpC&q;n&77(_>Q@8f(}myN+^->J zW@b(sXP0eXirsI}o+F(ZE!?E^d#yr?T*V&2Dg8=Cd{Sh0}2hCdZ3>q-vpeN zLN+ui{FY%5eN(L_924sXmxw(a>ru`I^hs`P;p}vlPiJGVJ*(IeAzTITGR{#a#BqYBc1fH7WNu4@gh+nI7A16RLhq* z2#o)z`m4*gv$>fxkP9m=E9$y+wJPYYdd{}$DKfmI$f5gBto?W4?b%}cST~1t@RhzWb zLG${ut_=~8VKrE|KM#N@yzkx>akT3XSQ;z#_^Z%TbH~=Z_LALH0aHeI;}e=^xY9^( zd1io6Az^Y006E`a?>)y+bsyQ9pQK+Q>7r)(fV`^hTGI*h@l*Y>{Mh$G_acYi#Kp(+ z-Nb@MO^rIOy?h+UBdEUm{a}re`|vwS#OUP2rXXvk^$*CfNG9_b6(SBc4j)HPXp;=r9C$+Q!{vx*vOU zLki(pNKV7K@2H&5SJI00WKsa@^6k6dw-$fhxpeJzJZuv*q072X!U2JNw|LCEy9vzO zmV{)8{m}EWZ4m{S6;!O3uhPm`P^g`heaVD@N|Y;tP^@ zul;Wrl?wOL0IrkwA| zS|2PpEFgmLGS_i@JL{^z@Qfs<8S8Y_``5h?3mN$IW-$X*!k3Ok-OF~SCclAF@TQ)# zfk#_CLhSizEbH(N?JSl6pGDS8B{RbgGcs@vuB@ljuAdK}@WN_@X_Yrh&cZ%1qRB2-n^P%A;)46(}L38ahDRhZ0QwVc$aYVDkw(l|Le0imCh z9SAhn@>FBso|;gSy7V#4Q!%H4JDK#e1#hj7kupsvGx!O3d_U=bZSos72gOfDmS$Lf z+Q^MUO2kISrIOr>lhs(NRG%PN-~v&)miwC*xukuFY!ud;r=??jQYSSR4BYc;)dLHj zTTZ-DMxtkjA_?bqmMD$eSBEQAjG} zE9u)EHAvfW9sXCJ{{;3+ov*p%|B#vDy4FsEEGAwfYII^L_@QLH}uI?{)Tn5cUCputN!3{ieJbf}VZF za!9}8tWL+YdrkL84fUu((g=PW(emi$gPaA{E z1GUnn?F5(JA3GQLz^MRDdJTqx&(ds#}jp5yqr6(Re4`Dzcm<50H?+lxPJSxXht-;snd4sgV6d$ z8bbbj$+_g0<~NnIAuq!1W{xkMzZCNR4!TJ|5I}s(AO6vrt9ZYqki@g}DXk7Bhi;7o zq^Gc}7sSBG$u%Ew01s+Pfc!u>RO)|ZE#ec25DCiFuN<^Q?$EyvAn_bbr9C?QW$2aM zk;E(Dag@^OTl>mv?1>$FbGgwj%BZ~QV$%9s=SIN8fR4Vi9`m-X-*(BI4^8#6oNVSJ z)>_bT;{pjytI!^x<$1(OMt*=dQQ=Q6lMO{tQM_MXEcxcSETB^yLA_`%jE5nZTl|Gn zaqn?PSr`QxwuSQI-Gj=tdGBMysPqahdQC)j@<|lu;S@%-%sddURk3z6EEM&@`;4K} zo`4otdXr#5(IkRCeu5*^3$m}EyCB5NP*9MC^l^-0z&{4^Nz#1HP?;D(2_(_&PT>tLTFMG=;i0;~%=wqb z6*Lb>$PUz5i2l+*xs<1josz-hRSV~;TSN@szI4t$Ziz6Hl$MoyBPZdLzd9CAYuR8< zJn5c~UQaW^*tZ;~X0J|l`d5A;nP-sUe?&1EjZoFSLx4?8QURHEZX6xO@+JR zJEGY8A{+xN@e$X;BS*hf+m?Q11o7LD8 z?0_C5aW;m$ZGY)QkP15`8*rR8?ldwW`?FUjN1o~>6 z{=R0}J@;rV6L(B7b~39)6u}4ar(lU3267fSjLIMwt7F@#hbkXw`h$m0+1QQh@V&}&ts0YUSe=vuWe7W2*X zrVGtvm9Un~aX=a9N$EpnF6nZ_5$gmeOQa2Hs@e9j zC%Ga0_!r?`F9u>nCms%rjc(F4hcG<{E;Y*88h3WV=()SovIJYjA)oZeZ}sE~jWxyT z$Baqo;vNozN((lT2;T`2vE_FcFn*`=6qL25OKNL9{UVL##CHB%Q5P&B2qVdTa*P^NQYNKX+k@!D~%f?>uXQ)H^v87o^7{#ICkK829G_ z+(;9UJW@JuI$u`+$aB7el7h;kLEycyk1@ulZX3hjgoI{vB%_q!Nxr@7nZ&3Fe+BwO zgym3fB*=c!#(GoGoBECU@6yO2-8&-Soh=SZ?1~`NTy?Y~tOVAzcn)$b_evW+^${|3 z^+FVmorf`^%wZQY7CenFW@tIb(>L53dS z6{xiG97?y#8T-|b<065!6_;*BO1U9nL9nSgQ`-}y9W!^VkNB3N$hV;5+R4N3Wo>w!kIC|v?w8=^iH%<&G&r{Jq4?XijXB?s?}W*e*G&#pHskMT z4z^$4k*7$Nad?{?$OsK*{=AgAOh^lbjckd%uK*E-)#??1B_;X=qR3ZDo}?@MZ0}-e zbf3^v`_;tECO0etnX>DP!2>N&;8Bf;_~t=>-0K5YkWJzQr^r$qf{||{_Y}z-QlhSg zE2NN~L4n&;>byt-s^*ayS$Ki2{xTY@@p@L%WXfM&wq7z*{KYu&%S!7q%*>WnMs}v! z76`9mdh2pT>qDTpm*W%_G~u}rv>2NhW!=~q30{%H2aq@C*sL80#OneoMnb0R<+M1d zT$0oN6=F&GP6G072Z~catGq+l|9Z0X$4q6yJ##Y|@zfDs_pf_O)_I6dAy*>%g7GJ; zu<61&nt86o`QXkVxu`_deQX;nc0WT`q7!c88-^Jn?*ya?$)i=|><|U$$+fgRs-rL+`-{LPXqptOnlgF(tjptb1CzwR z{|jbHK3Q*~S?S#~MH)8s9Q$66=CSG-yZ+eLpKPUO8Vwu`Y@ z1#z-v5C0)&+6|>peGvr9^OevpzsL8ilDohJ)!*9Lwcy-I80gLp&^4sHxk@|e`z27a~VbM?Ol~p zYN8y`IK`X6>sYKfdQSo1?wD4;orf z`<9Ad%W4tVTqJ(_D*kp3v0HxI=+b-wjK48b<>iP*FVZP#V|ETw6GJ)*%N`XXy&h#M zyFRd_N>RNMEm|l@C1q+FN)u@2C(C&tsBaRP*Yw`wX8~0HqI08)sLLdOQdH;D<;MO& zFuDe6pzbKb@rGWOkjID*g9plDS3`<7xeauHi&UcZD^E}$EA;KMiasn4`khce6eY26+dfGxl4xGNOOb= zLv#tw{d9Y*@V&D&DuC)gSdnGB0&Pc~ZF z)jb)(UCik9=`-i$3`TXo5f-_e*)lT=bj3FfK8P7;F+@!kqRM@BMJG_tuP}Nz{F3)F z-i4k8`W5^Q`>UeRZ+dRukeAHsT$hvD|Gg^EJ3Wte2&@i}y?XnSC0!119jo! zdAVgiU(@-95RWHhBunwBMB|_S8^n{!y&~7tnv40nQ8;4>6-JxRF&g>SKa&TncS~q3 zxNBuk%{6|j>VO0AUPpXA;%fqNQ2wQAWOYE+Y#Tngq^ysze{T&eJ4nAqILAjSj~_t$ zv*cP%-ZO7Z=7I92Wj}Fs(ie*er>eH|D;HxERy#YZm`W5Y!be|2ZqKoI`Ga5S;p)N< zT4rBH(;JBz$@CpJjouOztz@fja^>#hk~)N`*~=5`9b6HUX=QU6eK$zB{}XC!I_SOT zAh^U&w|vEEPND=V1s!FT4c$H(GFN~fACW+vI3^UmkQ&(9PjC-*kumqi#WH75Ki8z4 zKwgU+PV`Lo4b`mRCAt=ZQmRc50&&B3SXISd|7^+?2=^^DH$hQxLDmX8wyqS?@Cnd zC(Y*1MPFn=PCk5W@syQa|4R}2W&(ATFltZd#`VoNdD`4^Eg3) zFz0AobKhB21ud<$W)Mx-q}qZTz_=*4S1a|Y*bmdqGm;8P<|)pDc-F{zrCg5A7eJq7 z!5m1t5pR$1Kz5eoxgT3ogWeu+L@a=wQofWR@ED-|X;wWB2H5=+;wo|1s&V(c#(+Zx{M?v7}L=~a*;!P^% z&7qk=*u+xw&(bn>8bhA*Q#_N5Ynxp zjHIUYv1NRV!EJ=OPOE42@yoiZE_chs4|)q=3Va^a-w+9*c%Q)Z!u7i0_#B$Vm}^Ot z!A7sdYXrnt1cb{l5atI`sv6Av>%UJVpm-z$_aXmAzsSU}$<-B4!vIoTPbqYwNPgrL zZFIy)9dIkEfG5_A{6DR*x;u%c+w^)Z_Vm;S=}DW2O+=MG_62#O#%(g>RDGJgBk(V0#!D_t+{rg(T z#%Q}YFxUHg`-j*RYSqZ(Jg#7q^_-0Q9Q$!d8iE|W zzwt2`Er^?BNPZ0Df(v;9g_Oay-*>#Uv~F|b@acRX`N=+GeDSOKe(QySi`gsIvYO$+ zZ#EX~?jpv3Efm~z;<}2A*+XDP|A|0*%gK$Ru58(=cMRcyyq8E!(eZFY8>_aIQg!B? zLr7`U6|u-G<(T;u4=GTtk*hLZs)3-@S3L+-5o}60XMCn>sS$+@4X7=xNq~;59KJzV ztLoyJJp(G_G_Z;Zld}`lT3L{poizhX=evi;t(rb*9|5U8%Ab$bk3CFvu$;B^+*L7& zmWhFuwfgm7!>9!3=F*F@h0&3>u~Pfk17W>O$|>i-re*4dc}sz;>5)`!*2httsU~BF zMTE!n_n!yu1WNfXx%+Qj^?nD##vL@es(*f>)zEx-{W`xC1E{)XzCf&@N*qrP){mRQeXcC-ty3gf3zIy*brI#$F6y(!=bW|L7k@d>b+`dE2yz3l z*1ts_AVZ^kS}MkV7o*o2Q6E4xHSVev6MraKfJv+-6}hO zac%-|a`!PHzkO>uO!xtlu!3cf&#|cPGYQfe`<^sfzK}$(Wj|Jzd;jQ!mjn zHoB{tpAR+Bbu%ri;!p3JwT@mKBeqD!qr8K01+`qVw>T*;dht@o-g;27$AZj^iI3O? zS$VoWHIp*s=5K;G>;+~t7Pi>Rr2nc8u!f#kd5Ch6NOn+4LC(GyK=osXY~ANuSm()t zN`@|`uyVx!0Fe+SIcaT=#ghz758@BAp=uUP3}p;bqDUm43DM-bcjXy_IFT|a&>6)m zihyDFLs3*QVG*LDP5yzrSurtTO;Mi+`ZXZy=!*04G-yi5pMy{b7LEKe4!v6)bW6l$ zRz9p`Z2OE&6(5!;XS9E~ZNJX&E^Wydu$cvf%Q1$?^0@#NnTe3XP^DlcXJkmw6%M8HWO9!}I1mkj z5}$wXJPzGLwmpIuk(^+}q_i_3_!a#JT|I?I#KJpZTMgV?`sS9JOHN99`-e<>KEuz1tP9N+<3azSc5wU*!T02y3cohwl54d)y@ppm zEuj1gpG&SCM}%ycf8S<@s`H-np=N;%0B*)DB-9Z>+@H@i>^c%cKb-UoeF?=`LDHlP zjBBDx|FW~RTtz6w+&zE=Gj!K6fWgm|DhXs@=XR7-!E*i1{lWH*2lbV$SwUK;%JO{{ z5htfz_W-Y=p|=FtD3cW!!iO6X!@^IcLd4BxO#X_&@yXXbe)%fF(Uy-tZBINGGYN6? z%kR6_qi{rogme>5Uc=vf0i+WGLWUfT%!}M{k%8C=P~XrtU;n*t!DGciqoHJ2w_EXE zeEZYRl9c3W?7?_}p{>-797lFN4Ab9(>API8>OU{=aD>6W5qGl+-HOdjoVx-k@TlF_ zI>EXM*Zy6qRcS~JvD1;#g}*K*ItQ+%Bl8XJ8eZYgpC`TI9BR2w%?4l;g7R-e^4e%B zEHLERRP^*yy8P=l0E~Kad&ERSlXlVV7~V1FlAKTyqi?gD29fFrCU(jQ&(~Oub9vdEaO7)n6onb47HY|*0lv>6c z8gZT`Ku4_hC1rf#c<4?qKJ>s<^oYx5xZCWT%PSQ0*bmD?^Y=$2WI7;OG{<*iq@q83Md&yuc?G~JmOf;*I)~F8#Lk;|OP+~s<-AH63YN~>=Y+1{ zF-L!+R=4H`F$o@$i_1%-!Hlz+y8-|`9(g)mu-v>$Z{x*?gOP4!2gJd=KB~a%i^=1a zXvTGlfLpe?G|*`;$5m-H#mV#_VCX%CN>ACh4)K-EjB#o~afzW%2We^0L@c+?P%56_ z>5g*E>?sxfS*AHWh1G*CuP3`oA$qqbFuU`N4h2KK-xIj_FFI5el#DZg9;$<-Qb zG%s8^3(}x-M&~haaO@MdD&4#H21_fo#d3tAS_oRwXWnMq7-OGbm+4(oZ+!iZoEbOM zan|u9S#&>FbQ(NcV3u>V!CTXE;nak4Fo_iE6QOG`EM_44H=YPzF+5{RhfP3$guBg? zl-SooWs=TneBxb?++2^@=bbzEzPV|TAW=$Y{bUUc$k00}Wo!GYJ=ux4>`5RWPzo3w z_IP{m73zG&nIsF0qHi-(`%um1rMikW)s3#>vL!f5NkZO(W{!zsr1bho5`| z{rJQptGLDVIduIus8syy5%bzt%KCAsU1I;9Z0b8Fqr0q5rcYbuUWy<+{(>*}wi^hK zYPLcvl_?lt>?)dBBeS0}jahTdL;~A301MU4;1%(uKRHUG6As=NVq`ngJ$*Uyzp9YW zCV;5RAM{q)n^Jw}-+NmWe?o9l6x4(ER^0|v+-d2fxIUFmquw;?$J~cs_~SPURy}NG z9QfVrj*QKjtV!4Ho2nztS_(BmF?%Gnde}>33+`k5hdl-ixo7CYIwA?9CJ6sOK1fBL zm=1^^{FX7|&b#mLQ=~O>%l%NZqH$^jVT6;bJloYZEdNo{WsB!8rF?$} zVIMwFYBMzeav#~%NNxRhH+>4pGBY4)TW;>Y%_!e-jb?6e$fN~W^W;!_!1{UIW+`3k z2E0{=IG@K~T7ljs1zxDO7rOhAkJsiOK$)`P^Ydo|3%fCyf52McVO{~mP123^oyp49 za>3ff>#5DPDTm;GZ)3!jq!I(WUsJ4~RwUgEpwHwtECvaqw8jPT-8(^@?yn0q78Tv^ zzw=7#;14iR*#DNKXs{K*v7#|3!q^V!g-k2|#RuBQ9?|;TBxb4hg`MxWdM|VHClzR&*fxLUu{6)qbF>(kt1irV(j`S6 zM!z1?hZ2Z^Y{x{4Q(FPth&c;HihPX`rQmll zE5qcbxh!?w0hy=3o{ip*X#kmX|0H2V|Uh8Ylg32)P2-{ z7T?&N=I%j`;X=e6xtfTAk5BMux-ER4y7387I<6>W!bY0_w<4?JC{~k4_$xZQLufCt zQ~0;~UKlWEp+dFi=Fr=sBc+#2>rGULhW_YQE&5k|_%0YhW#H4H#fwMdBJDL4q}21L z+x#s_s;3yiJZG#f*|12+8`%&2Df0#I7lkxE%nU>9OTt;_afn+z3b)+BA;jxNr+4xCf6OiPZkRZ9>nSdnS z$y8szXB6n$8ZiUd8$Wec-N$b*v+#{xR5;HuaE=pnI`;JrL^HQUvZi}yiTyxmenjVI zzSDmhi#tC6y=85mxPX)(?oRxl!35Dlr`k)VnG}@uUcqSLMGP%_0MEr|T?f&#KbtPs z0OldSdg8vI&>^RYhc;`tc=)D*vCj+%TQ`Sq|J%O+El4r6br?Zd(X6Psg4VYe<8QLk zyhI3jl-@__X)?JsEV7+KMrY1IgE$L~Lu0dGNYQ};Nug-3kwdkI_pjQVo9wqq2cE0} z!*U(Ty2qkYb9wJ*(Y8bSx*5!zepDXV0Ni*rR`Dcz@%?;U&?;b7r!ZhVld>VLN!td& z7LP_jslyQ9m#s&iJ2$7#4hx%hff8;qh)FgYWOM1jD~7O-y^v~&Ar_csAa$G zZ`l0)og|?LxpO_y5);CFYx+t09D0Qd$xlR%^3(r_ZwW6}n0^EgZsH5KhTMDdN>Ax>bHn^qc|1drrUh1lkkIomU;m;?T>GZP=b=Q!EG^BU$=BoNl_O zDBBD1?%l3q*rpb|s!vxMmUTG-UFPlG^BS)klQQX-W{mG<`4>$7m#FeD@ce^7{{hcG zZU1L$zW)oP0I#{>FXhsATfv8o?Zb$b1H}ln=dOTRTo4#ff=D6k1r7V(@QQ2L6gzCo z0xpz0j4so(m0MF=J3|-wvE9eBMwqT7QT}=4-?v)9Q8MZHnErJj$x7snxH5!ce+n05 zW=%?BN!%a~^ z@BTnXu|9uvOymbT%1-9ACj-J|2(XQfzOO6{Y!W8;lj$Zf6d%lwNSeqsx=frB;_$Ph z7ep_uRQv?*jYQH+vTEA&gU4UGEB(~+G04w7UkySa|oA zSD(fNDaHnz_(reXpYeN?%s`#$S3DFvWDS({x+6;;X#dD?usYk8bL+!eBWV-I1M$zj zF|Er!)BNk3Fp%gnR6(c}HV+Gd(SkxpdE|Ba)Y5h&Bs<9U)4a-8)luEoe1*g%kDTxc zvRRD$%pBRt)pVQSc10g`1AX5dLM$KoaM_ok(RzNy2lcwfcIH(a*FasLTN24NrgrZ; z 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 diff --git a/paradise.dme b/paradise.dme index 6cf47e457f5..8dea50b6372 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1339,6 +1339,7 @@ #include "code\modules\events\immovable_rod.dm" #include "code\modules\events\infestation.dm" #include "code\modules\events\ion_storm.dm" +#include "code\modules\events\koi_mirgration.dm" #include "code\modules\events\mass_hallucination.dm" #include "code\modules\events\meaty_gore.dm" #include "code\modules\events\meaty_ops.dm" From dd997a0b20e210defc892743e4fee8abe64d5068 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 01:34:58 -0400 Subject: [PATCH 040/308] some tweaks. --- code/modules/events/koi_mirgration.dm | 7 +++---- .../mob/living/simple_animal/hostile/retaliate/fish.dm | 2 ++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index 52e4a3d37cc..9fba9f092be 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -9,8 +9,7 @@ endWhen = rand(600,1200) /datum/event/koi_migration/announce() - var/announcement = "" - announcement = "Unknown biological [spawned_koi.len == 1 ? "entity has" : "entities have"] been detected near [station_name()], please stand-by." + var/announcement = "Unknown biological entities have been detected near [station_name()], please stand-by." event_announcement.Announce(announcement, "Lifesign Alert") /datum/event/koi_migration/start() @@ -29,8 +28,8 @@ while(i <= num_groups) var/group_size = rand(group_size_min, group_size_max) for(var/j = 1, j <= group_size, j++) - var/carptype = /mob/living/simple_animal/hostile/retaliate/carp/koi - spawned_koi.Add(new carptype(spawn_locations[i])) + var/mob/living/simple_animal/hostile/retaliate/carp/koi/K = new(spawn_locations[i]) + spawned_koi.Add(K) i++ /datum/event/koi_migration/end() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm index 4ac78a86fcb..4422c695196 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -45,6 +45,7 @@ attacktext = "bites" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("blurps") + butcher_results = null atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 @@ -52,6 +53,7 @@ faction = list("carp") flying = 1 + gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY /mob/living/simple_animal/hostile/retaliate/carp/koi/New() ..() From 4e7aa78dcaea817dbfc3bdcb1526389df3f956e2 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Wed, 23 May 2018 01:38:32 -0400 Subject: [PATCH 041/308] I can be stupid. --- code/modules/events/koi_mirgration.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/events/koi_mirgration.dm b/code/modules/events/koi_mirgration.dm index 9fba9f092be..bb986a0f899 100644 --- a/code/modules/events/koi_mirgration.dm +++ b/code/modules/events/koi_mirgration.dm @@ -9,8 +9,7 @@ endWhen = rand(600,1200) /datum/event/koi_migration/announce() - var/announcement = "Unknown biological entities have been detected near [station_name()], please stand-by." - event_announcement.Announce(announcement, "Lifesign Alert") + event_announcement.Announce("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert") /datum/event/koi_migration/start() spawn_fish(landmarks_list.len) From 5ae7eb3963ce91e0bb0426a419db761c2e239f2d Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 24 May 2018 18:58:29 -0400 Subject: [PATCH 042/308] feedback update --- code/modules/events/event_container.dm | 2 +- .../simple_animal/hostile/retaliate/fish.dm | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 96a271db644..45bf962178b 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -140,7 +140,7 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Sentience", /datum/event/sentience, 50), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Wallrot", /datum/event/wallrot, 0, list(ASSIGNMENT_ENGINEER = 30, ASSIGNMENT_GARDENER = 50)), new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Aurora Caelus", /datum/event/aurora_caelus, 15, is_one_shot = TRUE), - new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 200,) + new /datum/event_meta(EVENT_LEVEL_MUNDANE, "Koi School", /datum/event/koi_migration, 80,) ) /datum/event_container/moderate diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm index 4422c695196..28a8826362f 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/fish.dm @@ -32,18 +32,15 @@ /mob/living/simple_animal/hostile/retaliate/carp/koi name = "space koi" - desc = "a gentle space faring koi." + desc = "A gentle space-faring koi." icon = 'icons/obj/fish_items.dmi' icon_state = "koi1" icon_living = "koi1" icon_dead = "koi1-dead" - icon_gib = "carp_gib" harm_intent_damage = 1 melee_damage_lower = 2 melee_damage_upper = 2 - attacktext = "bites" - attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("blurps") butcher_results = null @@ -51,19 +48,17 @@ minbodytemp = 0 maxbodytemp = 1500 - faction = list("carp") - flying = 1 - gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY + gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE /mob/living/simple_animal/hostile/retaliate/carp/koi/New() ..() - var/koinum = rand(1,4) + var/koinum = rand(1, 4) + if(prob(1)) + koinum = 5 icon_state = "koi[koinum]" icon_living = "koi[koinum]" icon_dead = "koi[koinum]-dead" - if(prob(1)) - icon_state = "koi5" -/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir = 0) - return 1 \ No newline at end of file +/mob/living/simple_animal/hostile/retaliate/carp/koi/Process_Spacemove(var/movement_dir) + return TRUE \ No newline at end of file From ce42a6d95298febde38b0c790c74584cd7b66537 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 29 Apr 2018 18:56:18 +0100 Subject: [PATCH 043/308] RPD refactor Adds rpd_act proc to do stuff instead of doing it all in one big afterattack proc Removes RPD_ALLOWED_HERE flag as it is now redundant --- code/__DEFINES/construction.dm | 8 + code/__DEFINES/flags.dm | 1 - code/game/atoms.dm | 3 + code/game/machinery/pipe/construction.dm | 22 +++ code/game/objects/items/weapons/rpd.dm | 161 +++++++++--------- code/game/objects/objs.dm | 4 + code/game/objects/structures/window.dm | 3 + code/game/turfs/simulated.dm | 1 - code/game/turfs/simulated/shuttle.dm | 4 +- code/game/turfs/simulated/walls.dm | 12 ++ code/game/turfs/space/space.dm | 1 - code/game/turfs/space/transit.dm | 4 +- code/game/turfs/turf.dm | 11 ++ code/game/turfs/unsimulated.dm | 3 + .../recycling/disposal-construction.dm | 13 ++ 15 files changed, 163 insertions(+), 88 deletions(-) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 9d8ca0b3013..8e967777225 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -52,3 +52,11 @@ #define MAX_STACK_SIZE 50 //maximum amount of cable in a coil #define MAXCOIL 30 + +//rpd stuff + +#define RPD_ATMOS_MODE 1 +#define RPD_DISPOSALS_MODE 2 +#define RPD_ROTATE_MODE 3 +#define RPD_FLIP_MODE 4 +#define RPD_DELETE_MODE 5 diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 0ec1567f86d..cd6688d095f 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -101,7 +101,6 @@ //turf-only flags #define NOJAUNT 1 -#define RPD_ALLOWED_HERE 2//By default, RPD is disabled on turfs. //ITEM INVENTORY SLOT BITMASKS #define SLOT_OCLOTHING 1 diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 19af319aa20..e8ceb49dc35 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -296,6 +296,9 @@ /atom/proc/emag_act() return +/atom/proc/rpd_act() + return + /atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked) if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...). addtimer(CALLBACK(src, .proc/hitby_react, AM), 2) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 2d5a885aba1..7b67aed66be 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -180,6 +180,16 @@ //update the name and icon of the pipe item depending on the type +/obj/item/pipe/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_ROTATE_MODE) + rotate() + else if(our_rpd.mode == RPD_FLIP_MODE) + flip() + else if(our_rpd.mode == RPD_DELETE_MODE) + our_rpd.delete_single_pipe(user, src) + else + ..() + /obj/item/pipe/proc/update(var/obj/machinery/atmospherics/make_from) var/list/nlist = list( \ "pipe", \ @@ -650,6 +660,12 @@ to_chat(user, "You have fastened the meter to the pipe.") qdel(src) +/obj/item/pipe_meter/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_DELETE_MODE) + our_rpd.delete_single_pipe(user, src) + else + ..() + /obj/item/pipe_gsensor name = "gas sensor" desc = "A sensor that can be hooked to a computer" @@ -667,6 +683,12 @@ to_chat(user, "You have fastened the gas sensor.") qdel(src) +/obj/item/pipe_gsensor/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_DELETE_MODE) + our_rpd.delete_single_pipe(user, src) + else + ..() + #undef PIPE_SIMPLE_STRAIGHT #undef PIPE_SIMPLE_BENT #undef PIPE_HE_STRAIGHT diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index aaaf034b933..b43d7d0a44f 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -14,16 +14,13 @@ #define GAS_SENSOR 98 #define METER 99 #define DISPOSALS_JUNCTION 2 -#define ATMOS_MODE 1 -#define DISPOSALS_MODE 2 -#define ROTATION_MODE 3 -#define FLIP_MODE 4 -#define DELETE_MODE 5 #define ATMOS_PIPING 1 #define SUPPLY_PIPING 2 #define SCRUBBERS_PIPING 3 #define DEVICES 4 #define HEAT_PIPING 5 +#define RPD_COOLDOWN_TIME 4 //How long should we have to wait between dispensing pipes? +#define RPD_WALLBUILD_TIME 40 //How long should drilling into a wall take? /obj/item/rpd name = "rapid pipe dispenser" @@ -44,12 +41,12 @@ var/datum/effect_system/spark_spread/spark_system var/lastused var/iconrotation = 0 //used to orient icons and pipes - var/mode = 1 //Disposals, atmospherics, etc. + var/mode = RPD_ATMOS_MODE //Disposals, atmospherics, etc. var/pipetype = 1//For nanoUI menus var/whatpipe = 0 //What kind of pipe is it? See code/game/machinery/pipe/construction.dm for a list of defines - var/whatdpipe = 0 //What kind of disposals pipe is it? See code/game/machinery/pipe/dispenser.dm for a list of defines - var/spawndelay = 4 //How long should we have to wait between dispensing pipes? - var/walldelay = 40 //How long should drilling into a wall take? + var/whatdpipe = 0 //What kind of disposals pipe is it? + var/spawndelay = RPD_COOLDOWN_TIME + var/walldelay = RPD_WALLBUILD_TIME /obj/item/rpd/New() ..() @@ -59,18 +56,81 @@ //Procs -/obj/item/rpd/proc/Activaterpd(delay) +/obj/item/rpd/proc/Activaterpd(delay) //Maybe makes sparks and activates cooldown if there is a delay. playsound(loc, "sound/machines/click.ogg", 50, 1) if(prob(15)) spark_system.start() if(delay) lastused = world.time -/obj/item/rpd/proc/Manipulatepipes(subject, atmosverb, disposalsverb) - if(istype(subject, /obj/item/pipe)) - call(subject, atmosverb)() - else if(istype(subject, /obj/structure/disposalconstruct/)) - call(subject, disposalsverb)() +/obj/item/rpd/proc/create_atmos_pipe(mob/user, turf/T) //Make an atmos pipe, meter, or gas sensor + var/obj/item/pipe/P + if(whatpipe == GAS_SENSOR) + P = new /obj/item/pipe_gsensor(T) + else if(whatpipe == METER) + P = new /obj/item/pipe_meter(T) + else + P = new(T, pipe_type = whatpipe, dir = user.dir) + if(iconrotation == 0 && P.is_bent_pipe()) //Automatic rotation of dispensed pipes + P.dir = turn(user.dir, 135) + else if(iconrotation == 0 && P.pipe_type in list(CONNECTOR, UNARY_VENT, GAS_SCRUBBER, HE_EXCHANGER, SIMPLE_CAP, SUPPLY_CAP, SCRUBBERS_CAP, INJECTOR, PASSIVE_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction + P.flip() + else if(iconrotation != 0 && P.is_bent_pipe()) //If they selected a rotation and the pipe is bent + P.dir = turn(iconrotation, -45) + else if(iconrotation != 0) + P.dir = iconrotation + to_chat(user, "[src] rapidly dispenses [P]!") + Activaterpd(1) + +/obj/item/rpd/proc/create_disposals_pipe(mob/user, turf/T) //Make a disposals pipe / construct + var/obj/structure/disposalconstruct/P = new(T) //Now we make the pipe + P.dir = iconrotation + P.ptype = whatdpipe + if(iconrotation == 0) //Automatic rotation + P.dir = user.dir + if(iconrotation == 0 && whatdpipe != DISPOSALS_JUNCTION) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though + P.flip() + P.update() + to_chat(user, "[src] rapidly dispenses [P]!") + Activaterpd(1) + +/obj/item/rpd/proc/rotate_all_pipes(mob/user, turf/T) //Rotate all pipes on a turf + for(var/obj/item/pipe/P in T) + P.rotate() + for(var/obj/structure/disposalconstruct/D in T) + D.rotate() + +/obj/item/rpd/proc/flip_all_pipes(mob/user, turf/T) //Flip all pipes on a turf + for(var/obj/item/pipe/P in T) + P.flip() + for(var/obj/structure/disposalconstruct/D in T) + D.flip() + +/obj/item/rpd/proc/delete_all_pipes(mob/user, turf/T) //Delete all pipes on a turf + var/eaten + for(var/obj/item/pipe/P in T) + QDEL_NULL(P) + eaten = TRUE + for(var/obj/item/pipe_gsensor/G in T) + QDEL_NULL(G) + eaten = TRUE + for(var/obj/item/pipe_meter/M in T) + QDEL_NULL(M) + eaten = TRUE + for(var/obj/structure/disposalconstruct/D in T) + if(!D.anchored) + QDEL_NULL(D) + eaten = TRUE + if(eaten) + to_chat(user, "[src] sucks up the loose pipes on [T].") + Activaterpd() + else + to_chat(user, "There were no loose pipes on [T].") + +/obj/item/rpd/proc/delete_single_pipe(mob/user, obj/P) //Delete a single pipe + to_chat(user, "[src] sucks up [P].") + QDEL_NULL(P) + Activaterpd() //Lists of things @@ -175,71 +235,11 @@ var/list/pipemenu = list( return SSnanoui.update_uis(src) -//What the RPD actually does - /obj/item/rpd/afterattack(atom/target, mob/user, proximity) ..() - var/turf/T = get_turf(target) - if(loc != user || ismob(target) || istype(target, /obj/structure/window) || !proximity || world.time < lastused + spawndelay) + if(loc != user || !proximity || world.time < lastused + spawndelay) return - if(!(T.flags & RPD_ALLOWED_HERE)) - to_chat(user, "[src] beeps, \"Unable to interface with [T]. Please try again later.\"") - return - if(mode == ATMOS_MODE) - if(istype(T, /turf/simulated/wall)) //Drilling into walls takes time - playsound(loc, "sound/weapons/circsawhit.ogg", 50, 1) - user.visible_message("[user] starts drilling a hole in [T]...", "You start drilling a hole in [T]...", "You hear a drill.") - if(!do_after(user, walldelay, target = T)) - return - user.visible_message("[user] finishes drilling a hole in [T]!", "You finish drilling a hole in [T]!", "You hear clanking.") - var/obj/item/pipe/P - if(whatpipe == GAS_SENSOR) - P = new /obj/item/pipe_gsensor(T) - else if(whatpipe == METER) - P = new /obj/item/pipe_meter(T) - else - P = new(T, pipe_type = whatpipe, dir = user.dir) - if(iconrotation == 0 && P.is_bent_pipe()) //Automatic rotation of dispensed pipes - P.dir = turn(user.dir, 135) - else if(iconrotation == 0 && P.pipe_type in list(CONNECTOR, UNARY_VENT, GAS_SCRUBBER, HE_EXCHANGER, SIMPLE_CAP, SUPPLY_CAP, SCRUBBERS_CAP, INJECTOR, PASSIVE_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction - P.flip() - else if(iconrotation != 0 && P.is_bent_pipe()) //If they selected a rotation and the pipe is bent - P.dir = turn(iconrotation, -45) - else if(iconrotation != 0) - P.dir = iconrotation - to_chat(user, "[src] rapidly dispenses [P]!") - Activaterpd(1) - else if(mode == DISPOSALS_MODE && !istype(T, /turf/simulated/shuttle)) - if(istype(T, /turf/simulated/wall)) //No disposals pipes on walls - to_chat(user, "That type of pipe won't fit on [T]!") - return - var/obj/structure/disposalconstruct/P = new(T) //Now we make the pipe - P.dir = iconrotation - P.ptype = whatdpipe - if(iconrotation == 0) //Automatic rotation - P.dir = user.dir - if(iconrotation == 0 && whatdpipe != DISPOSALS_JUNCTION) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though - P.flip() - P.update() - to_chat(user, "[src] rapidly dispenses [P]!") - Activaterpd(1) - else if(mode == ROTATION_MODE) - for(var/obj/W in T) - Manipulatepipes(W, /obj/item/pipe/verb/rotate, /obj/structure/disposalconstruct/verb/rotate) - else if(mode == FLIP_MODE) - for(var/obj/W in T) - Manipulatepipes(W, /obj/item/pipe/verb/flip, /obj/structure/disposalconstruct/verb/flip) - else if(mode == DELETE_MODE) - var/eaten - for(var/obj/W in T) - if(istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter) || istype(W, /obj/item/pipe_gsensor) || istype(W, /obj/structure/disposalconstruct) && !W.anchored) - QDEL_NULL(W) - eaten = TRUE - if(eaten) - to_chat(user, "[src] sucks up the loose pipes on [T].") - Activaterpd() - else - to_chat(user, "There were no loose pipes on [T].") + target.rpd_act(user, src) #undef SIMPLE_CAP #undef SUPPLY_CAP @@ -253,13 +253,10 @@ var/list/pipemenu = list( #undef GAS_SENSOR #undef METER #undef DISPOSALS_JUNCTION -#undef ATMOS_MODE -#undef DISPOSALS_MODE -#undef ROTATION_MODE -#undef FLIP_MODE -#undef DELETE_MODE #undef ATMOS_PIPING #undef SUPPLY_PIPING #undef SCRUBBERS_PIPING #undef DEVICES #undef HEAT_PIPING +#undef RPD_COOLDOWN_TIME +#undef RPD_WALLBUILD_TIME diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index fe9e8444378..352868056f5 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -68,6 +68,10 @@ SSnanoui.close_uis(src) return ..() +/obj/rpd_act(mob/user, obj/item/rpd/our_rpd) + var/turf/T = get_turf(src) //This preserves RPD behaviour on specific turfs + T.rpd_act(user, our_rpd) + /obj/proc/process() set waitfor = 0 processing_objects.Remove(src) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index aebd111ad26..8b42d1f350e 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -79,6 +79,9 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f /obj/structure/window/narsie_act() color = "#7D1919" +/obj/structure/window/rpd_act() + return + /obj/structure/window/singularity_pull(S, current_size) if(current_size >= STAGE_FIVE) destroy() diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 89c40be8641..61f622c071f 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -4,7 +4,6 @@ var/image/wet_overlay = null var/thermite = 0 - flags = RPD_ALLOWED_HERE oxygen = MOLES_O2STANDARD nitrogen = MOLES_N2STANDARD var/to_be_destroyed = 0 //Used for fire, if a melting temperature was reached, it will be destroyed diff --git a/code/game/turfs/simulated/shuttle.dm b/code/game/turfs/simulated/shuttle.dm index 0c5e6c08f6b..7a781679173 100644 --- a/code/game/turfs/simulated/shuttle.dm +++ b/code/game/turfs/simulated/shuttle.dm @@ -1,7 +1,6 @@ /turf/simulated/shuttle name = "shuttle" icon = 'icons/turf/shuttle.dmi' - flags = null thermal_conductivity = 0.05 heat_capacity = 0 layer = 2 @@ -13,6 +12,9 @@ density = 1 blocks_air = 1 +/turf/simulated/shuttle/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_DELETE_MODE)//No pipes on shuttles + our_rpd.delete_all_pipes(user, src) /turf/simulated/shuttle/narsie_act() if(prob(20)) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index b1cbf84493f..545cf857d6d 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -168,6 +168,18 @@ if(prob(50)) dismantle_wall() +/turf/simulated/wall/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_ATMOS_MODE) + playsound(src, "sound/weapons/circsawhit.ogg", 50, 1) + user.visible_message("[user] starts drilling a hole in [src]...", "You start drilling a hole in [src]...", "You hear drilling.") + if(!do_after(user, our_rpd.walldelay, target = src)) //Drilling into walls takes time + return + our_rpd.create_atmos_pipe(user, src) + else if(our_rpd.mode == RPD_DISPOSALS_MODE) + return + else + ..() + /turf/simulated/wall/mech_melee_attack(obj/mecha/M) if(M.damtype == "brute") playsound(src, 'sound/weapons/punch4.ogg', 50, 1) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 60c63d0f221..58911d952b4 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -3,7 +3,6 @@ name = "\proper space" icon_state = "0" dynamic_lighting = 0 - flags = RPD_ALLOWED_HERE luminosity = 1 temperature = TCMB diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 611ff1656f3..a1749cf15c9 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -1,5 +1,4 @@ /turf/space/transit - flags = null var/pushdirection // push things that get caught in the transit tile this direction //Overwrite because we dont want people building rods in space. @@ -119,7 +118,8 @@ AM.newtonian_move(dir) - +/turf/space/transit/rpd_act() + return //Overwrite because we dont want people building rods in space. /turf/space/transit/attackby() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index f70aee9740f..dda914482b1 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -71,6 +71,17 @@ /turf/ex_act(severity) return 0 +/turf/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(our_rpd.mode == RPD_ATMOS_MODE) + our_rpd.create_atmos_pipe(user, src) + else if(our_rpd.mode == RPD_DISPOSALS_MODE) + our_rpd.create_disposals_pipe(user, src) + else if(our_rpd.mode == RPD_ROTATE_MODE) + our_rpd.rotate_all_pipes(user, src) + else if(our_rpd.mode == RPD_FLIP_MODE) + our_rpd.flip_all_pipes(user, src) + else if(our_rpd.mode == RPD_DELETE_MODE) + our_rpd.delete_all_pipes(user, src) /turf/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj ,/obj/item/projectile/beam/pulse)) diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index 5c9509a3d68..35b6c2056e3 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -7,6 +7,9 @@ /turf/unsimulated/can_lay_cable() return 0 +/turf/unsimulated/rpd_act() + return + /turf/unsimulated/floor/plating/vox icon_state = "plating" name = "plating" diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 3658846a696..137962d040c 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -265,3 +265,16 @@ else to_chat(user, "You need to attach it to the plating first!") return + +/obj/structure/disposalconstruct/rpd_act(mob/user, obj/item/rpd/our_rpd) + if(anchored) + to_chat(user, "[src] is bolted down!") + return + else if(our_rpd.mode == RPD_ROTATE_MODE) + rotate() + else if(our_rpd.mode == RPD_FLIP_MODE) + flip() + else if(our_rpd.mode == RPD_DELETE_MODE) + our_rpd.delete_single_pipe(user, src) + else + ..() From 2ec3c797fdb1b339931d2ce6e9016c5d22c33d6a Mon Sep 17 00:00:00 2001 From: Citinited Date: Thu, 3 May 2018 23:59:43 +0100 Subject: [PATCH 044/308] RPD refactor: part 2 --- code/__DEFINES/construction.dm | 8 - code/__DEFINES/pipes.dm | 69 ++++ code/__HELPERS/global_lists.dm | 7 + code/_globalvars/lists/objects.dm | 4 +- code/datums/pipe_datums.dm | 311 ++++++++++++++++++ code/game/machinery/pipe/construction.dm | 82 ----- code/game/machinery/pipe/pipe_dispenser.dm | 46 +-- code/game/objects/items/weapons/rpd.dm | 147 ++------- code/game/turfs/turf.dm | 2 +- .../recycling/disposal-construction.dm | 13 +- icons/obj/pipes/disposal.dmi | Bin 89359 -> 97824 bytes nano/templates/rpd.tmpl | 109 +++--- paradise.dme | 2 + 13 files changed, 505 insertions(+), 295 deletions(-) create mode 100644 code/__DEFINES/pipes.dm create mode 100644 code/datums/pipe_datums.dm diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 8e967777225..9d8ca0b3013 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -52,11 +52,3 @@ #define MAX_STACK_SIZE 50 //maximum amount of cable in a coil #define MAXCOIL 30 - -//rpd stuff - -#define RPD_ATMOS_MODE 1 -#define RPD_DISPOSALS_MODE 2 -#define RPD_ROTATE_MODE 3 -#define RPD_FLIP_MODE 4 -#define RPD_DELETE_MODE 5 diff --git a/code/__DEFINES/pipes.dm b/code/__DEFINES/pipes.dm new file mode 100644 index 00000000000..cd67811ecdf --- /dev/null +++ b/code/__DEFINES/pipes.dm @@ -0,0 +1,69 @@ +//Atmospherics pipes + +#define PIPE_SIMPLE_STRAIGHT 0 +#define PIPE_SIMPLE_BENT 1 +#define PIPE_HE_STRAIGHT 2 +#define PIPE_HE_BENT 3 +#define PIPE_CONNECTOR 4 +#define PIPE_MANIFOLD 5 +#define PIPE_JUNCTION 6 +#define PIPE_UVENT 7 +#define PIPE_MVALVE 8 +#define PIPE_PUMP 9 +#define PIPE_SCRUBBER 10 +#define PIPE_INSULATED_STRAIGHT 11 +#define PIPE_INSULATED_BENT 12 +#define PIPE_GAS_FILTER 13 +#define PIPE_GAS_MIXER 14 +#define PIPE_PASSIVE_GATE 15 +#define PIPE_VOLUME_PUMP 16 +#define PIPE_HEAT_EXCHANGE 17 +#define PIPE_TVALVE 18 +#define PIPE_MANIFOLD4W 19 +#define PIPE_CAP 20 +#define PIPE_OMNI_MIXER 21 +#define PIPE_OMNI_FILTER 22 +#define PIPE_UNIVERSAL 23 +#define PIPE_SUPPLY_STRAIGHT 24 +#define PIPE_SUPPLY_BENT 25 +#define PIPE_SCRUBBERS_STRAIGHT 26 +#define PIPE_SCRUBBERS_BENT 27 +#define PIPE_SUPPLY_MANIFOLD 28 +#define PIPE_SCRUBBERS_MANIFOLD 29 +#define PIPE_SUPPLY_MANIFOLD4W 30 +#define PIPE_SCRUBBERS_MANIFOLD4W 31 +#define PIPE_SUPPLY_CAP 32 +#define PIPE_SCRUBBERS_CAP 33 +#define PIPE_INJECTOR 34 +#define PIPE_DVALVE 35 +#define PIPE_DP_VENT 36 +#define PIPE_PASV_VENT 37 +#define PIPE_DTVALVE 38 +#define PIPE_CIRCULATOR 39 +#define PIPE_GAS_SENSOR 98 +#define PIPE_METER 99 + +//Disposals pipes + +#define PIPE_DISPOSALS_STRAIGHT 0 +#define PIPE_DISPOSALS_BENT 1 +#define PIPE_DISPOSALS_JUNCTION 2 +#define PIPE_DISPOSALS_Y_JUNCTION 4 +#define PIPE_DISPOSALS_TRUNK 5 +#define PIPE_DISPOSALS_BIN 6 +#define PIPE_DISPOSALS_OUTLET 7 +#define PIPE_DISPOSALS_CHUTE 8 + +//RPD stuff + +#define RPD_ATMOS_MODE 1 +#define RPD_DISPOSALS_MODE 2 +#define RPD_ROTATE_MODE 3 +#define RPD_FLIP_MODE 4 +#define RPD_DELETE_MODE 5 + +#define RPD_ATMOS_PIPING 1 +#define RPD_SUPPLY_PIPING 2 +#define RPD_SCRUBBERS_PIPING 3 +#define RPD_DEVICES 4 +#define RPD_HEAT_PIPING 5 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index d0e1feb3d62..2af41d294db 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -50,6 +50,13 @@ init_subtypes(/datum/crafting_recipe, crafting_recipes) +//RPD stuff + var/list/pipe_list = list() + init_subtypes(/datum/pipes/atmospheric, pipe_list) + init_subtypes(/datum/pipes/disposal, pipe_list) + for(var/I in pipe_list) + var/datum/pipes/P = I + construction_pipe_list += list(list("pipename" = P.pipename, "pipeid" = P.pipeid, "atmosordisposals" = P.pipetype, "category" = P.category, "orientations" = P.orientations, "icon" = P.previewicon, "bendy" = P.bendy)) return 1 /* // Uncomment to debug chemical reaction list. diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 5a025702877..62bc1716c36 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -43,4 +43,6 @@ var/global/list/meteor_list = list() //list of all meteors var/global/list/poi_list = list() //list of points of interest for observe/follow var/global/list/active_jammers = list() // List of active radio jammers -var/global/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing. \ No newline at end of file +var/global/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing. + +var/global/list/construction_pipe_list = list() //List of all pipe datums diff --git a/code/datums/pipe_datums.dm b/code/datums/pipe_datums.dm new file mode 100644 index 00000000000..95850555a6e --- /dev/null +++ b/code/datums/pipe_datums.dm @@ -0,0 +1,311 @@ +//For use with the RPD (for now). All pipes here are ones that can be dispensed with the RPD + +#define RPD_ATMOS 1 +#define RPD_DISPOSAL 2 + +/datum/pipes + var/pipename //What the pipe is called in the interface + var/pipeid //Use the pipe define for this + var/pipetype //Atmos, disposals etc. + var/category //What category of pipe + var/bendy = FALSE//Is this pipe bendy? + var/orientations //Number of orientations (for interface purposes) + var/previewicon //icon_state of the dispensed pipe (for interface purposes) + +/datum/pipes/atmospheric + pipetype = RPD_ATMOS + category = RPD_ATMOS_PIPING + +/datum/pipes/disposal + pipetype = RPD_DISPOSAL + +//Normal pipes + +/datum/pipes/atmospheric/simple + pipename = "Straight pipe" + pipeid = PIPE_SIMPLE_STRAIGHT + orientations = 2 + previewicon = "simple" + +/datum/pipes/atmospheric/simple/bent + pipename = "Bent pipe" + pipeid = PIPE_SIMPLE_BENT + orientations = 4 + bendy = TRUE + +/datum/pipes/atmospheric/manifold + pipename = "T-manifold" + pipeid = PIPE_MANIFOLD + orientations = 4 + previewicon = "manifold" + +/datum/pipes/atmospheric/manifold4w + pipename = "4-way manifold" + pipeid = PIPE_MANIFOLD4W + orientations = 1 + previewicon = "manifold4w" + +/datum/pipes/atmospheric/cap + pipename = "Pipe cap" + pipeid = PIPE_CAP + orientations = 4 + previewicon = "cap" + +/datum/pipes/atmospheric/valve + pipename = "Manual valve" + pipeid = PIPE_MVALVE + orientations = 2 + previewicon = "mvalve" + +/datum/pipes/atmospheric/valve/digital + pipename = "Digital valve" + pipeid = PIPE_DVALVE + previewicon = "dvalve" + +/datum/pipes/atmospheric/tvalve + pipename = "Manual T-valve" + pipeid = PIPE_TVALVE + orientations = 4 + previewicon = "tvalve" + +/datum/pipes/atmospheric/tvalve/digital + pipename = "Digital T-valve" + pipeid = PIPE_DTVALVE + previewicon = "dtvalve" + +//Supply pipes + + +/datum/pipes/atmospheric/simple/supply + pipename = "Straight supply pipe" + pipeid = PIPE_SUPPLY_STRAIGHT + category = RPD_SUPPLY_PIPING + +/datum/pipes/atmospheric/simple/bent/supply + pipename = "Bent supply pipe" + pipeid = PIPE_SUPPLY_BENT + category = RPD_SUPPLY_PIPING + +/datum/pipes/atmospheric/manifold/supply + pipename = "Supply T-manifold" + pipeid = PIPE_SUPPLY_MANIFOLD + category = RPD_SUPPLY_PIPING + +/datum/pipes/atmospheric/manifold4w/supply + pipename = "4-way supply manifold" + pipeid = PIPE_SUPPLY_MANIFOLD4W + category = RPD_SUPPLY_PIPING + +/datum/pipes/atmospheric/cap/supply + pipename = "Supply pipe cap" + pipeid = PIPE_SUPPLY_CAP + category = RPD_SUPPLY_PIPING + +//Scrubbers pipes + +/datum/pipes/atmospheric/simple/scrubbers + pipename = "Straight scrubbers pipe" + pipeid = PIPE_SCRUBBERS_STRAIGHT + category = RPD_SCRUBBERS_PIPING + +/datum/pipes/atmospheric/simple/bent/scrubbers + pipename = "Bent scrubbers pipe" + pipeid = PIPE_SCRUBBERS_BENT + category = RPD_SCRUBBERS_PIPING + +/datum/pipes/atmospheric/manifold/scrubbers + pipename = "Scrubbers T-manifold" + pipeid = PIPE_SCRUBBERS_MANIFOLD + category = RPD_SCRUBBERS_PIPING + +/datum/pipes/atmospheric/manifold4w/scrubbers + pipename = "4-way scrubbers manifold" + pipeid = PIPE_SCRUBBERS_MANIFOLD4W + category = RPD_SCRUBBERS_PIPING + +/datum/pipes/atmospheric/cap/scrubbers + pipename = "Scrubbers pipe cap" + pipeid = PIPE_SCRUBBERS_CAP + category = RPD_SCRUBBERS_PIPING + +//Devices + +/datum/pipes/atmospheric/upa + pipename = "Universal pipe adapter" + pipeid = PIPE_UNIVERSAL + orientations = 2 + previewicon = "universal" + category = RPD_DEVICES + +/datum/pipes/atmospheric/connector + pipename = "Connector" + pipeid = PIPE_CONNECTOR + orientations = 4 + previewicon = "connector" + category = RPD_DEVICES + +/datum/pipes/atmospheric/unaryvent + pipename = "Unary vent" + pipeid = PIPE_UVENT + orientations = 4 + previewicon = "uvent" + category = RPD_DEVICES + +/datum/pipes/atmospheric/scrubber + pipename = "Scrubber" + pipeid = PIPE_SCRUBBER + orientations = 4 + previewicon = "scrubber" + category = RPD_DEVICES + +/datum/pipes/atmospheric/pump + pipename = "Gas pump" + pipeid = PIPE_PUMP + orientations = 4 + previewicon = "pump" + category = RPD_DEVICES + +/datum/pipes/atmospheric/volume_pump + pipename = "Volume pump" + pipeid = PIPE_VOLUME_PUMP + orientations = 4 + previewicon = "volumepump" + category = RPD_DEVICES + +/datum/pipes/atmospheric/gate + pipename = "Passive gate" + pipeid = PIPE_PASSIVE_GATE + orientations = 4 + previewicon = "passivegate" + category = RPD_DEVICES + +/datum/pipes/atmospheric/filter + pipename = "Gas filter" + pipeid = PIPE_GAS_FILTER + orientations = 4 + previewicon = "filter" + category = RPD_DEVICES + +/datum/pipes/atmospheric/mixer + pipename = "Gas mixer" + pipeid = PIPE_GAS_MIXER + orientations = 4 + previewicon = "mixer" + category = RPD_DEVICES + +/datum/pipes/atmospheric/sensor + pipename = "Gas sensor" + pipeid = PIPE_GAS_SENSOR + orientations = 1 + previewicon = "sensor" + category = RPD_DEVICES + +/datum/pipes/atmospheric/meter + pipename = "Gas meter" + pipeid = PIPE_METER + orientations = 1 + previewicon = "meter" + category = RPD_DEVICES + +/datum/pipes/atmospheric/passive_vent + pipename = "Passive vent" + pipeid = PIPE_PASV_VENT + orientations = 4 + previewicon = "passive vent" + category = RPD_DEVICES + +/datum/pipes/atmospheric/dual_vent_pump + pipename = "Dual-port vent pump" + pipeid = PIPE_DP_VENT + orientations = 2 + previewicon = "dual-port vent" + category = RPD_DEVICES + +/datum/pipes/atmospheric/injector + pipename = "Air injector" + pipeid = PIPE_INJECTOR + orientations = 4 + previewicon = "injector" + category = RPD_DEVICES + +//Heat exchange pipes + +/datum/pipes/atmospheric/he + pipename = "Straight pipe" + pipeid = PIPE_HE_STRAIGHT + orientations = 2 + previewicon = "he" + category = RPD_HEAT_PIPING + +/datum/pipes/atmospheric/he/bent + pipename = "Bent pipe" + pipeid = PIPE_HE_BENT + orientations = 4 + bendy = TRUE + +/datum/pipes/atmospheric/he_junction + pipename = "Junction" + pipeid = PIPE_JUNCTION + orientations = 4 + previewicon = "junction" + category = RPD_HEAT_PIPING + +/datum/pipes/atmospheric/heat_exchanger + pipename = "Heat exchanger" + pipeid = PIPE_HEAT_EXCHANGE + orientations = 4 + previewicon = "heunary" + category = RPD_HEAT_PIPING + +//DISPOSALS PIPES + +/datum/pipes/disposal/straight + pipename = "Straight pipe" + pipeid = PIPE_DISPOSALS_STRAIGHT + orientations = 2 + previewicon = "conpipe-s" + +/datum/pipes/disposal/bent + pipename = "Bent pipe" + pipeid = PIPE_DISPOSALS_BENT + orientations = 4 + previewicon = "conpipe-c" + +/datum/pipes/disposal/junction + pipename = "Junction" + pipeid = PIPE_DISPOSALS_JUNCTION + orientations = 4 + previewicon = "conpipe-j1" + +/datum/pipes/disposal/y_junction + pipename = "Y-junction" + pipeid = PIPE_DISPOSALS_Y_JUNCTION + orientations = 4 + previewicon = "conpipe-y" + +/datum/pipes/disposal/trunk + pipename = "Trunk" + pipeid = PIPE_DISPOSALS_TRUNK + orientations = 4 + previewicon = "conpipe-t" + +/datum/pipes/disposal/bin + pipename = "Bin" + pipeid = PIPE_DISPOSALS_BIN + orientations = 1 + previewicon = "condisposal" + +/datum/pipes/disposal/outlet + pipename = "Outlet" + pipeid = PIPE_DISPOSALS_OUTLET + orientations = 4 + previewicon = "outlet" + +/datum/pipes/disposal/chute + pipename = "Chute" + pipeid = PIPE_DISPOSALS_CHUTE + orientations = 4 + previewicon = "intake" + +#undef RPD_ATMOS +#undef RPD_DISPOSAL diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 7b67aed66be..4c702be5c39 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -1,44 +1,3 @@ -#define PIPE_SIMPLE_STRAIGHT 0 -#define PIPE_SIMPLE_BENT 1 -#define PIPE_HE_STRAIGHT 2 -#define PIPE_HE_BENT 3 -#define PIPE_CONNECTOR 4 -#define PIPE_MANIFOLD 5 -#define PIPE_JUNCTION 6 -#define PIPE_UVENT 7 -#define PIPE_MVALVE 8 -#define PIPE_PUMP 9 -#define PIPE_SCRUBBER 10 -#define PIPE_INSULATED_STRAIGHT 11 -#define PIPE_INSULATED_BENT 12 -#define PIPE_GAS_FILTER 13 -#define PIPE_GAS_MIXER 14 -#define PIPE_PASSIVE_GATE 15 -#define PIPE_VOLUME_PUMP 16 -#define PIPE_HEAT_EXCHANGE 17 -#define PIPE_TVALVE 18 -#define PIPE_MANIFOLD4W 19 -#define PIPE_CAP 20 -#define PIPE_OMNI_MIXER 21 -#define PIPE_OMNI_FILTER 22 -#define PIPE_UNIVERSAL 23 -#define PIPE_SUPPLY_STRAIGHT 24 -#define PIPE_SUPPLY_BENT 25 -#define PIPE_SCRUBBERS_STRAIGHT 26 -#define PIPE_SCRUBBERS_BENT 27 -#define PIPE_SUPPLY_MANIFOLD 28 -#define PIPE_SCRUBBERS_MANIFOLD 29 -#define PIPE_SUPPLY_MANIFOLD4W 30 -#define PIPE_SCRUBBERS_MANIFOLD4W 31 -#define PIPE_SUPPLY_CAP 32 -#define PIPE_SCRUBBERS_CAP 33 -#define PIPE_INJECTOR 34 -#define PIPE_DVALVE 35 -#define PIPE_DP_VENT 36 -#define PIPE_PASV_VENT 37 -#define PIPE_DTVALVE 38 -#define PIPE_CIRCULATOR 39 - /obj/item/pipe name = "pipe" desc = "A pipe" @@ -688,44 +647,3 @@ our_rpd.delete_single_pipe(user, src) else ..() - -#undef PIPE_SIMPLE_STRAIGHT -#undef PIPE_SIMPLE_BENT -#undef PIPE_HE_STRAIGHT -#undef PIPE_HE_BENT -#undef PIPE_CONNECTOR -#undef PIPE_MANIFOLD -#undef PIPE_JUNCTION -#undef PIPE_UVENT -#undef PIPE_MVALVE -#undef PIPE_PUMP -#undef PIPE_SCRUBBER -#undef PIPE_INSULATED_STRAIGHT -#undef PIPE_INSULATED_BENT -#undef PIPE_GAS_FILTER -#undef PIPE_GAS_MIXER -#undef PIPE_PASSIVE_GATE -#undef PIPE_VOLUME_PUMP -#undef PIPE_HEAT_EXCHANGE -#undef PIPE_TVALVE -#undef PIPE_MANIFOLD4W -#undef PIPE_CAP -#undef PIPE_OMNI_MIXER -#undef PIPE_OMNI_FILTER -#undef PIPE_UNIVERSAL -#undef PIPE_SUPPLY_STRAIGHT -#undef PIPE_SUPPLY_BENT -#undef PIPE_SCRUBBERS_STRAIGHT -#undef PIPE_SCRUBBERS_BENT -#undef PIPE_SUPPLY_MANIFOLD -#undef PIPE_SCRUBBERS_MANIFOLD -#undef PIPE_SUPPLY_MANIFOLD4W -#undef PIPE_SCRUBBERS_MANIFOLD4W -#undef PIPE_SUPPLY_CAP -#undef PIPE_SCRUBBERS_CAP -#undef PIPE_INJECTOR -#undef PIPE_DVALVE -#undef PIPE_DP_VENT -#undef PIPE_PASV_VENT -#undef PIPE_DTVALVE -#undef PIPE_CIRCULATOR diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index cb2892722aa..138efcc0f9b 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -10,12 +10,12 @@ /obj/machinery/pipedispenser/attack_hand(mob/user) if(..()) return 1 - + interact(user) - + /obj/machinery/pipedispenser/attack_ghost(mob/user) interact(user) - + /obj/machinery/pipedispenser/interact(mob/user) var/dat = {" Regular pipes:
@@ -163,22 +163,22 @@ /obj/machinery/pipedispenser/disposal/attack_hand(mob/user) if(..()) return - + interact(user) - + /obj/machinery/pipedispenser/disposal/attack_ghost(mob/user) interact(user) - + /obj/machinery/pipedispenser/disposal/interact(mob/user) var/dat = {"Disposal Pipes

Pipe
Bent Pipe
Junction
-Y-Junction
-Trunk
-Bin
-Outlet
-Chute
+Y-Junction
+Trunk
+Bin
+Outlet
+Chute
"} var/datum/browser/popup = new(user, "pipedispenser", name, 400, 400) @@ -194,29 +194,15 @@ if(!wait) var/p_type = text2num(href_list["dmake"]) - var/obj/structure/disposalconstruct/C = new (loc) + var/obj/structure/disposalconstruct/C = new (loc, p_type) switch(p_type) - if(0) - C.ptype = 0 - if(1) - C.ptype = 1 - if(2) - C.ptype = 2 - if(3) - C.ptype = 4 - if(4) - C.ptype = 5 - if(5) - C.ptype = 6 - C.density = 1 if(6) - C.ptype = 7 - C.density = 1 + C.density = TRUE if(7) - C.ptype = 8 - C.density = 1 + C.density = TRUE + if(8) + C.density = TRUE C.add_fingerprint(usr) - C.update() wait = 1 spawn(15) wait = 0 \ No newline at end of file diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index b43d7d0a44f..b74ff4ba594 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -2,23 +2,6 @@ Rapid Pipe Dispenser */ -#define SIMPLE_CAP 20 -#define SUPPLY_CAP 32 -#define SCRUBBERS_CAP 33 -#define HE_EXCHANGER 17 -#define CONNECTOR 4 -#define UNARY_VENT 7 -#define PASSIVE_VENT 37 -#define GAS_SCRUBBER 10 -#define INJECTOR 34 -#define GAS_SENSOR 98 -#define METER 99 -#define DISPOSALS_JUNCTION 2 -#define ATMOS_PIPING 1 -#define SUPPLY_PIPING 2 -#define SCRUBBERS_PIPING 3 -#define DEVICES 4 -#define HEAT_PIPING 5 #define RPD_COOLDOWN_TIME 4 //How long should we have to wait between dispensing pipes? #define RPD_WALLBUILD_TIME 40 //How long should drilling into a wall take? @@ -40,11 +23,11 @@ origin_tech = "engineering=4;materials=2" var/datum/effect_system/spark_spread/spark_system var/lastused - var/iconrotation = 0 //used to orient icons and pipes + var/iconrotation = 0 //Used to orient icons and pipes var/mode = RPD_ATMOS_MODE //Disposals, atmospherics, etc. - var/pipetype = 1//For nanoUI menus - var/whatpipe = 0 //What kind of pipe is it? See code/game/machinery/pipe/construction.dm for a list of defines - var/whatdpipe = 0 //What kind of disposals pipe is it? + var/pipetype = RPD_ATMOS_PIPING//For nanoUI menus, this is a subtype of pipes e.g. scrubbers pipes, devices + var/whatpipe = PIPE_SIMPLE_STRAIGHT //What kind of atmos pipe is it? + var/whatdpipe = PIPE_DISPOSALS_STRAIGHT //What kind of disposals pipe is it? var/spawndelay = RPD_COOLDOWN_TIME var/walldelay = RPD_WALLBUILD_TIME @@ -56,7 +39,7 @@ //Procs -/obj/item/rpd/proc/Activaterpd(delay) //Maybe makes sparks and activates cooldown if there is a delay. +/obj/item/rpd/proc/activate_rpd(delay) //Maybe makes sparks and activates cooldown if there is a delay playsound(loc, "sound/machines/click.ogg", 50, 1) if(prob(15)) spark_system.start() @@ -65,34 +48,31 @@ /obj/item/rpd/proc/create_atmos_pipe(mob/user, turf/T) //Make an atmos pipe, meter, or gas sensor var/obj/item/pipe/P - if(whatpipe == GAS_SENSOR) + if(whatpipe == PIPE_GAS_SENSOR) P = new /obj/item/pipe_gsensor(T) - else if(whatpipe == METER) + else if(whatpipe == PIPE_METER) P = new /obj/item/pipe_meter(T) else - P = new(T, pipe_type = whatpipe, dir = user.dir) - if(iconrotation == 0 && P.is_bent_pipe()) //Automatic rotation of dispensed pipes + P = new(T, pipe_type = whatpipe, dir = user.dir) //Make the pipe, BUT WAIT! There's more! + if(!iconrotation && P.is_bent_pipe()) //Automatically rotates dispensed pipes if the user selected auto-rotation P.dir = turn(user.dir, 135) - else if(iconrotation == 0 && P.pipe_type in list(CONNECTOR, UNARY_VENT, GAS_SCRUBBER, HE_EXCHANGER, SIMPLE_CAP, SUPPLY_CAP, SCRUBBERS_CAP, INJECTOR, PASSIVE_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction + else if(!iconrotation && P.pipe_type in list(PIPE_CONNECTOR, PIPE_UVENT, PIPE_SCRUBBER, PIPE_HEAT_EXCHANGE, PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_INJECTOR, PIPE_PASV_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction P.flip() - else if(iconrotation != 0 && P.is_bent_pipe()) //If they selected a rotation and the pipe is bent + else if(iconrotation && P.is_bent_pipe()) //If user selected a rotation and the pipe is bent P.dir = turn(iconrotation, -45) - else if(iconrotation != 0) + else if(iconrotation) //If user selected a rotation P.dir = iconrotation to_chat(user, "[src] rapidly dispenses [P]!") - Activaterpd(1) + activate_rpd(1) /obj/item/rpd/proc/create_disposals_pipe(mob/user, turf/T) //Make a disposals pipe / construct - var/obj/structure/disposalconstruct/P = new(T) //Now we make the pipe - P.dir = iconrotation - P.ptype = whatdpipe - if(iconrotation == 0) //Automatic rotation + var/obj/structure/disposalconstruct/P = new(T, whatdpipe, iconrotation) + if(!iconrotation) //Automatic rotation P.dir = user.dir - if(iconrotation == 0 && whatdpipe != DISPOSALS_JUNCTION) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though + if(!iconrotation && whatdpipe != PIPE_DISPOSALS_JUNCTION) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though P.flip() - P.update() to_chat(user, "[src] rapidly dispenses [P]!") - Activaterpd(1) + activate_rpd(1) /obj/item/rpd/proc/rotate_all_pipes(mob/user, turf/T) //Rotate all pipes on a turf for(var/obj/item/pipe/P in T) @@ -123,76 +103,29 @@ eaten = TRUE if(eaten) to_chat(user, "[src] sucks up the loose pipes on [T].") - Activaterpd() + activate_rpd() else to_chat(user, "There were no loose pipes on [T].") /obj/item/rpd/proc/delete_single_pipe(mob/user, obj/P) //Delete a single pipe to_chat(user, "[src] sucks up [P].") QDEL_NULL(P) - Activaterpd() + activate_rpd() //Lists of things -var/list/pipelist = list( //id refers to the pipe_type found in construction.dm, icon refers to the name of the icon state in icons/obj/pipe-item.dmi. Icons are made with the asset-cache - list("pipename" = "Straight pipe", "id" = 0, "category" = ATMOS_PIPING, "orientations" = 2, "icon" = "simple"), - list("pipename" = "Bent pipe", "id" = 1, "category" = ATMOS_PIPING, "orientations" = 4, "icon" = "simple", "bendy" = 1), - list("pipename" = "T-manifold", "id" = 5, "category" = ATMOS_PIPING, "orientations" = 4, "icon" = "manifold"), - list("pipename" = "4-way manifold", "id" = 19, "category" = ATMOS_PIPING, "orientations" = 1, "icon" = "manifold4w"), - list("pipename" = "Pipe cap", "id" = 20, "category" = ATMOS_PIPING, "orientations" = 4, "icon" = "cap"), - list("pipename" = "Manual valve", "id" = 8, "category" = ATMOS_PIPING, "orientations" = 2, "icon" = "mvalve"), - list("pipename" = "Digital valve", "id" = 35, "category" = ATMOS_PIPING, "orientations" = 2, "icon" = "dvalve"), - list("pipename" = "Manual T-valve", "id" = 18, "category" = ATMOS_PIPING, "orientations" = 4, "icon" = "tvalve"), - list("pipename" = "Digital T-valve", "id" = 38, "category" = ATMOS_PIPING, "orientations" = 4, "icon" = "dtvalve"), - list("pipename" = "Straight supply pipe", "id" = 24, "category" = SUPPLY_PIPING, "orientations" = 2, "icon" = "simple"), - list("pipename" = "Bent supply pipe", "id" = 25, "category" = SUPPLY_PIPING, "orientations" = 4, "icon" = "simple", "bendy" = 1), - list("pipename" = "Supply T-manifold", "id" = 28, "category" = SUPPLY_PIPING, "orientations" = 4, "icon" = "manifold"), - list("pipename" = "4-way supply manifold", "id" = 30, "category" = SUPPLY_PIPING, "orientations" = 1, "icon" = "manifold4w"), - list("pipename" = "Supply pipe cap", "id" = 32, "category" = SUPPLY_PIPING, "orientations" = 4, "icon" = "cap"), - list("pipename" = "Straight scrubbers pipe", "id" = 26, "category" = SCRUBBERS_PIPING, "orientations" = 2, "icon" = "simple"), - list("pipename" = "Bent scrubbers pipe", "id" = 27, "category" = SCRUBBERS_PIPING, "orientations" = 4, "icon" = "simple", "bendy" = 1), - list("pipename" = "Scrubbers T-manifold", "id" = 29, "category" = SCRUBBERS_PIPING, "orientations" = 4, "icon" = "manifold"), - list("pipename" = "4-way scrubbers manifold", "id" = 31, "category" = SCRUBBERS_PIPING, "orientations" = 1, "icon" = "manifold4w"), - list("pipename" = "Scrubbers pipe cap", "id" = 33, "category" = SCRUBBERS_PIPING, "orientations" = 4, "icon" = "cap"), - list("pipename" = "Universal pipe adapter", "id" = 23, "category" = DEVICES, "orientations" = 2, "icon" = "universal"), - list("pipename" = "Connector", "id" = 4, "category" = DEVICES, "orientations" = 4, "icon" = "connector"), - list("pipename" = "Unary vent", "id" = 7, "category" = DEVICES, "orientations" = 4, "icon" = "uvent"), - list("pipename" = "Scrubber", "id" = 10, "category" = DEVICES, "orientations" = 4, "icon" = "scrubber"), - list("pipename" = "Gas pump", "id" = 9, "category" = DEVICES, "orientations" = 4, "icon" = "pump"), - list("pipename" = "Volume pump", "id" = 16, "category" = DEVICES, "orientations" = 4, "icon" = "volumepump"), - list("pipename" = "Passive gate", "id" = 15, "category" = DEVICES, "orientations" = 4, "icon" = "passivegate"), - list("pipename" = "Gas filter", "id" = 13, "category" = DEVICES, "orientations" = 4, "icon" = "filter"), - list("pipename" = "Gas mixer", "id" = 14, "category" = DEVICES, "orientations" = 4, "icon" = "mixer"), - list("pipename" = "Gas sensor", "id" = 98, "category" = DEVICES, "orientations" = 1, "icon" = "sensor"), - list("pipename" = "Meter", "id" = 99, "category" = DEVICES, "orientations" = 1, "icon" = "meter"), - list("pipename" = "Passive vent", "id" = 37, "category" = DEVICES, "orientations" = 4, "icon" = "passive vent"), - list("pipename" = "Dual-port vent pump", "id" = 36, "category" = DEVICES, "orientations" = 2, "icon" = "dual-port vent"), - list("pipename" = "Air injector", "id" = 34, "category" = DEVICES, "orientations" = 4, "icon" = "injector"), - list("pipename" = "Straight HE pipe", "id" = 2, "category" = HEAT_PIPING, "orientations" = 2, "icon" = "he"), - list("pipename" = "Bent HE pipe", "id" = 3, "category" = HEAT_PIPING, "orientations" = 4, "icon" = "he", "bendy" = 1), - list("pipename" = "Junction", "id" = 6, "category" = HEAT_PIPING, "orientations" = 4, "icon" = "junction"), - list("pipename" = "Heat exchanger", "id" = 17, "category" = HEAT_PIPING, "orientations" = 4, "icon" = "heunary")) -var/list/dpipelist = list( - list("pipename" = "Straight pipe", "id" = 0, "orientations" = 2, "icon" = "conpipe-s"), - list("pipename" = "Bent pipe", "id" = 1, "orientations" = 4, "icon" = "conpipe-c"), - list("pipename" = "Junction", "id" = 2, "orientations" = 4, "icon" = "conpipe-j1"), - list("pipename" = "Y-junction", "id" = 4, "orientations" = 4, "icon" = "conpipe-y"), - list("pipename" = "Trunk", "id" = 5, "orientations" = 4, "icon" = "conpipe-t"), - list("pipename" = "Bin", "id" = 6, "orientations" = 1, "icon" = "condisposal"), - list("pipename" = "Outlet", "id" = 7, "orientations" = 4, "icon" = "outlet"), - list("pipename" = "Chute", "id" = 8, "orientations" = 4, "icon" = "intake")) var/list/mainmenu = list( - list("category" = "Atmospherics", "mode" = 1, "icon" = "wrench"), - list("category" = "Disposals", "mode" = 2, "icon" = "recycle"), - list("category" = "Rotate", "mode" = 3, "icon" = "rotate-right"), - list("category" = "Flip", "mode" = 4, "icon" = "exchange"), - list("category" = "Recycle", "mode" = 5, "icon" = "trash")) + list("category" = "Atmospherics", "mode" = RPD_ATMOS_MODE, "icon" = "wrench"), + list("category" = "Disposals", "mode" = RPD_DISPOSALS_MODE, "icon" = "recycle"), + list("category" = "Rotate", "mode" = RPD_ROTATE_MODE, "icon" = "rotate-right"), + list("category" = "Flip", "mode" = RPD_FLIP_MODE, "icon" = "exchange"), + list("category" = "Recycle", "mode" = RPD_DELETE_MODE, "icon" = "trash")) var/list/pipemenu = list( - list("pipecategory" = "Normal", "pipemode" = 1), - list("pipecategory" = "Supply", "pipemode" = 2), - list("pipecategory" = "Scrubber", "pipemode" = 3), - list("pipecategory" = "Devices", "pipemode" = 4), - list("pipecategory" = "Heat exchange", "pipemode" = 5)) + list("pipecategory" = "Normal", "pipemode" = RPD_ATMOS_PIPING), + list("pipecategory" = "Supply", "pipemode" = RPD_SUPPLY_PIPING), + list("pipecategory" = "Scrubber", "pipemode" = RPD_SCRUBBERS_PIPING), + list("pipecategory" = "Devices", "pipemode" = RPD_DEVICES), + list("pipecategory" = "Heat exchange", "pipemode" = RPD_HEAT_PIPING)) //NanoUI stuff @@ -208,11 +141,10 @@ var/list/pipemenu = list( /obj/item/rpd/ui_data(mob/user, ui_key = "main", datum/topic_state/state = inventory_state) var/data[0] - data["dpipelist"] = dpipelist data["iconrotation"] = iconrotation data["mainmenu"] = mainmenu data["mode"] = mode - data["pipelist"] = pipelist + data["pipelist"] = construction_pipe_list data["pipemenu"] = pipemenu data["pipetype"] = pipetype data["whatdpipe"] = whatdpipe @@ -239,24 +171,7 @@ var/list/pipemenu = list( ..() if(loc != user || !proximity || world.time < lastused + spawndelay) return - target.rpd_act(user, src) + target.rpd_act(user, src) //Handle RPD effects in separate procs -#undef SIMPLE_CAP -#undef SUPPLY_CAP -#undef SCRUBBERS_CAP -#undef HE_EXCHANGER -#undef CONNECTOR -#undef UNARY_VENT -#undef PASSIVE_VENT -#undef GAS_SCRUBBER -#undef INJECTOR -#undef GAS_SENSOR -#undef METER -#undef DISPOSALS_JUNCTION -#undef ATMOS_PIPING -#undef SUPPLY_PIPING -#undef SCRUBBERS_PIPING -#undef DEVICES -#undef HEAT_PIPING #undef RPD_COOLDOWN_TIME #undef RPD_WALLBUILD_TIME diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index dda914482b1..aa0c8ecdcac 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -71,7 +71,7 @@ /turf/ex_act(severity) return 0 -/turf/rpd_act(mob/user, obj/item/rpd/our_rpd) +/turf/rpd_act(mob/user, obj/item/rpd/our_rpd) //This is the default turf behaviour for the RPD; override it as required if(our_rpd.mode == RPD_ATMOS_MODE) our_rpd.create_atmos_pipe(user, src) else if(our_rpd.mode == RPD_DISPOSALS_MODE) diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 137962d040c..ebdd9b5fde4 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -17,6 +17,14 @@ var/dpdir = 0 // directions as disposalpipe var/base_state = "pipe-s" +/obj/structure/disposalconstruct/New(loc, pipe_type, direction) + ..() + if(pipe_type) + ptype = pipe_type + if(dir) + dir = direction + update() + // update iconstate and dpdir due to dir and type /obj/structure/disposalconstruct/proc/update() var/flip = turn(dir, 180) @@ -267,10 +275,7 @@ return /obj/structure/disposalconstruct/rpd_act(mob/user, obj/item/rpd/our_rpd) - if(anchored) - to_chat(user, "[src] is bolted down!") - return - else if(our_rpd.mode == RPD_ROTATE_MODE) + if(our_rpd.mode == RPD_ROTATE_MODE) rotate() else if(our_rpd.mode == RPD_FLIP_MODE) flip() diff --git a/icons/obj/pipes/disposal.dmi b/icons/obj/pipes/disposal.dmi index 707a064dd94bc2b14c41ee526a162f8f96dc44ab..cbd0834b435845be68c5b2e691dff3853a1ab604 100644 GIT binary patch literal 97824 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 eaiT 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 MZKzdw$tLW-0Fi&&S^xk5 literal 89359 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

EKCIx6rcET_M~jE6Y93--OwK9O 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

H@BY(DsVhQy(?lcwI%AB60h-wtLo-`!N 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 diff --git a/nano/templates/rpd.tmpl b/nano/templates/rpd.tmpl index bd92b91c979..6c380b3c046 100644 --- a/nano/templates/rpd.tmpl +++ b/nano/templates/rpd.tmpl @@ -11,93 +11,96 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm

Pipe type:

{{for data.pipemenu}} - {{:helper.link(String(value.pipecategory), null, {"pipetype": Number(value.pipemode)}, data.pipetype == Number(value.pipemode) ? "linkOn" : null)}} + {{:helper.link(String(value.pipecategory), null, {pipetype: Number(value.pipemode)}, data.pipetype == Number(value.pipemode) ? "linkOn" : null)}} {{/for}}

Available pipes:

{{for data.pipelist}} - {{if value.category == data.pipetype}} -
{{:helper.link(String(value.pipename), "arrow-right", {"whatpipe": Number(value.id)}, data.whatpipe == Number(value.id) ? "linkOn" : null)}}
+ {{if value.atmosordisposals == 1 && value.category == data.pipetype}} +
{{:helper.link(String(value.pipename), "arrow-right", {"whatpipe": Number(value.pipeid)}, data.whatpipe == Number(value.pipeid) ? "linkOn" : null)}}
{{/if}} {{/for}}
{{for data.pipelist}} + {{if value.atmosordisposals != 1 || value.pipeid != data.whatpipe || value.orientations == 1}} + {{continue;}} + {{/if}}
- {{if value.id == data.whatpipe && value.orientations != 1}} -
- {{:helper.link("Orient automatically", null, {"iconrotation": 0}, data.iconrotation == 0 ? "linkOn" : null)}} -
- {{/if}} - {{if value.id == data.whatpipe && value.orientations != 1 && value.bendy != 1}} +
+ {{:helper.link("Orient automatically", null, {iconrotation: 0}, data.iconrotation == 0 ? "linkOn" : null)}} +
+ {{if value.bendy}}
- {{:helper.link("", "arrow-right", {"iconrotation": 1}, data.iconrotation == 1 ? "linkOn" : null)}} - -
-
- {{:helper.link("", "arrow-right", {"iconrotation": 4}, data.iconrotation == 4 ? "linkOn" : null)}} - -
- {{/if}} - {{if value.id == data.whatpipe && value.orientations == 4 && value.bendy != 1}} -
- {{:helper.link("", "arrow-right", {"iconrotation": 2}, data.iconrotation == 2 ? "linkOn" : null)}} - -
-
- {{:helper.link("", "arrow-right", {"iconrotation": 8}, data.iconrotation == 8 ? "linkOn" : null)}} - -
- {{/if}} - {{if value.id == data.whatpipe && value.bendy == 1}} -
- {{:helper.link("", "arrow-right", {"iconrotation": 1}, data.iconrotation == 1 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}}
- {{:helper.link("", "arrow-right", {"iconrotation": 4}, data.iconrotation == 4 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}}
- {{:helper.link("", "arrow-right", {"iconrotation": 2}, data.iconrotation == 2 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}}
- {{:helper.link("", "arrow-right", {"iconrotation": 8}, data.iconrotation == 8 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}}
+ {{else}} +
+ {{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}} + +
+
+ {{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}} + +
+ {{if value.orientations == 4}} +
+ {{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}} + +
+
+ {{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}} + +
+ {{/if}} {{/if}}
{{/for}} {{else data.mode == 2}}

Available pipes:

- {{for data.dpipelist}} -
{{:helper.link(String(value.pipename), "arrow-right", {"whatdpipe": Number(value.id)}, data.whatdpipe == Number(value.id) ? "linkOn" : null)}}
+ {{for data.pipelist}} + {{if value.atmosordisposals == 2}} +
{{:helper.link(String(value.pipename), "arrow-right", {"whatdpipe": Number(value.pipeid)}, data.whatdpipe == Number(value.pipeid) ? "linkOn" : null)}}
+ {{/if}} {{/for}}
- {{for data.dpipelist}} + {{for data.pipelist}} + {{if value.atmosordisposals != 2 || value.pipeid != data.whatdpipe || value.orientations == 1}} + {{continue;}} + {{/if}}
- {{if value.id == data.whatdpipe && value.orientations != 1}} -
- {{:helper.link("Orient automatically", null, {"iconrotation": 0}, data.iconrotation == 0 ? "linkOn" : null)}} -
+
+ {{:helper.link("Orient automatically", null, {iconrotation: 0}, data.iconrotation == 0 ? "linkOn" : null)}} +
+
+ {{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}} + +
+
+ {{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}} + +
+ {{if value.orientations == 4}}
- {{:helper.link("", "arrow-right", {"iconrotation": 1}, data.iconrotation == 1 ? "linkOn" : null)}} - -
-
- {{:helper.link("", "arrow-right", {"iconrotation": 4}, data.iconrotation == 4 ? "linkOn" : null)}} - -
- {{/if}} - {{if value.id == data.whatdpipe && value.orientations == 4}} -
- {{:helper.link("", "arrow-right", {"iconrotation": 2}, data.iconrotation == 2 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}}
- {{:helper.link("", "arrow-right", {"iconrotation": 8}, data.iconrotation == 8 ? "linkOn" : null)}} + {{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}}
{{/if}} @@ -109,4 +112,4 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm

Device ready to flip loose pipes...

{{else data.mode == 5}}

Device ready to eat loose pipes...

-{{/if}} +{{/if}} \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 62908577586..cf4ebc2bb56 100644 --- a/paradise.dme +++ b/paradise.dme @@ -45,6 +45,7 @@ #include "code\__DEFINES\misc.dm" #include "code\__DEFINES\mobs.dm" #include "code\__DEFINES\pda.dm" +#include "code\__DEFINES\pipes.dm" #include "code\__DEFINES\preferences.dm" #include "code\__DEFINES\process_scheduler.dm" #include "code\__DEFINES\qdel.dm" @@ -229,6 +230,7 @@ #include "code\datums\mixed.dm" #include "code\datums\mutable_appearance.dm" #include "code\datums\periodic_news.dm" +#include "code\datums\pipe_datums.dm" #include "code\datums\progressbar.dm" #include "code\datums\recipe.dm" #include "code\datums\ruins.dm" From a8527fca1913027c4088785a213bff60444430ad Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 4 May 2018 18:01:34 +0100 Subject: [PATCH 045/308] span class formatting --- code/game/turfs/simulated/walls.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 545cf857d6d..a9ece2355e2 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -171,7 +171,7 @@ /turf/simulated/wall/rpd_act(mob/user, obj/item/rpd/our_rpd) if(our_rpd.mode == RPD_ATMOS_MODE) playsound(src, "sound/weapons/circsawhit.ogg", 50, 1) - user.visible_message("[user] starts drilling a hole in [src]...", "You start drilling a hole in [src]...", "You hear drilling.") + user.visible_message("[user] starts drilling a hole in [src]...", "You start drilling a hole in [src]...", "You hear drilling.") if(!do_after(user, our_rpd.walldelay, target = src)) //Drilling into walls takes time return our_rpd.create_atmos_pipe(user, src) From 14ba039d81e2eef99b4e43de67add90ce660b1d5 Mon Sep 17 00:00:00 2001 From: Citinited Date: Wed, 30 May 2018 21:45:23 +0100 Subject: [PATCH 046/308] GLOB --- code/__HELPERS/global_lists.dm | 13 ++++++------- code/_globalvars/lists/objects.dm | 2 -- code/datums/pipe_datums.dm | 2 ++ code/game/objects/items/weapons/rpd.dm | 2 +- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 2af41d294db..367028b3936 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -49,14 +49,13 @@ whitelisted_species += S.name init_subtypes(/datum/crafting_recipe, crafting_recipes) - -//RPD stuff - var/list/pipe_list = list() - init_subtypes(/datum/pipes/atmospheric, pipe_list) - init_subtypes(/datum/pipes/disposal, pipe_list) - for(var/I in pipe_list) + var/list/temp_pipe_list = list() + init_subtypes(/datum/pipes/atmospheric, temp_pipe_list) + init_subtypes(/datum/pipes/disposal, temp_pipe_list) + for(var/I in temp_pipe_list) var/datum/pipes/P = I - construction_pipe_list += list(list("pipename" = P.pipename, "pipeid" = P.pipeid, "atmosordisposals" = P.pipetype, "category" = P.category, "orientations" = P.orientations, "icon" = P.previewicon, "bendy" = P.bendy)) + GLOB.construction_pipe_list += list(list("pipename" = P.pipename, "pipeid" = P.pipeid, "atmosordisposals" = P.pipetype, "category" = P.category, "orientations" = P.orientations, "icon" = P.previewicon, "bendy" = P.bendy)) + return 1 /* // Uncomment to debug chemical reaction list. diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 62bc1716c36..82d4c113997 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -44,5 +44,3 @@ var/global/list/poi_list = list() //list of points of interest for observe/f var/global/list/active_jammers = list() // List of active radio jammers var/global/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing. - -var/global/list/construction_pipe_list = list() //List of all pipe datums diff --git a/code/datums/pipe_datums.dm b/code/datums/pipe_datums.dm index 95850555a6e..14d42510fb6 100644 --- a/code/datums/pipe_datums.dm +++ b/code/datums/pipe_datums.dm @@ -3,6 +3,8 @@ #define RPD_ATMOS 1 #define RPD_DISPOSAL 2 +GLOBAL_LIST_EMPTY(construction_pipe_list) //List of all pipe datums + /datum/pipes var/pipename //What the pipe is called in the interface var/pipeid //Use the pipe define for this diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index b74ff4ba594..98639030b3a 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -144,7 +144,7 @@ var/list/pipemenu = list( data["iconrotation"] = iconrotation data["mainmenu"] = mainmenu data["mode"] = mode - data["pipelist"] = construction_pipe_list + data["pipelist"] = GLOB.construction_pipe_list data["pipemenu"] = pipemenu data["pipetype"] = pipetype data["whatdpipe"] = whatdpipe From d978472d272c2ea68862ac852427d10c1f717290 Mon Sep 17 00:00:00 2001 From: Citinited Date: Thu, 31 May 2018 22:44:10 +0100 Subject: [PATCH 047/308] RPD nanoUI improvement; misc. code tweaks --- code/__HELPERS/global_lists.dm | 5 +++-- code/datums/pipe_datums.dm | 8 ++++---- code/game/objects/items/weapons/rpd.dm | 24 ++++++++++++++++-------- nano/templates/rpd.tmpl | 10 +++++----- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 367028b3936..c11fd98f433 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -49,11 +49,12 @@ whitelisted_species += S.name init_subtypes(/datum/crafting_recipe, crafting_recipes) + + //RPD pipe list building var/list/temp_pipe_list = list() init_subtypes(/datum/pipes/atmospheric, temp_pipe_list) init_subtypes(/datum/pipes/disposal, temp_pipe_list) - for(var/I in temp_pipe_list) - var/datum/pipes/P = I + for(var/datum/pipes/P in temp_pipe_list) //Yes I know the list(list(...)) thing looks weird, but it allows us to group pipe metadata into ordered lists instead of being one big list GLOB.construction_pipe_list += list(list("pipename" = P.pipename, "pipeid" = P.pipeid, "atmosordisposals" = P.pipetype, "category" = P.category, "orientations" = P.orientations, "icon" = P.previewicon, "bendy" = P.bendy)) return 1 diff --git a/code/datums/pipe_datums.dm b/code/datums/pipe_datums.dm index 14d42510fb6..43cda53a4a9 100644 --- a/code/datums/pipe_datums.dm +++ b/code/datums/pipe_datums.dm @@ -29,11 +29,12 @@ GLOBAL_LIST_EMPTY(construction_pipe_list) //List of all pipe datums orientations = 2 previewicon = "simple" -/datum/pipes/atmospheric/simple/bent +/datum/pipes/atmospheric/bent //Why is this not atmospheric/simple/bent you ask? Because otherwise the ordering of the pipes in the UI menu gets weird pipename = "Bent pipe" pipeid = PIPE_SIMPLE_BENT orientations = 4 bendy = TRUE + previewicon = "simple" /datum/pipes/atmospheric/manifold pipename = "T-manifold" @@ -77,13 +78,12 @@ GLOBAL_LIST_EMPTY(construction_pipe_list) //List of all pipe datums //Supply pipes - /datum/pipes/atmospheric/simple/supply pipename = "Straight supply pipe" pipeid = PIPE_SUPPLY_STRAIGHT category = RPD_SUPPLY_PIPING -/datum/pipes/atmospheric/simple/bent/supply +/datum/pipes/atmospheric/bent/supply pipename = "Bent supply pipe" pipeid = PIPE_SUPPLY_BENT category = RPD_SUPPLY_PIPING @@ -110,7 +110,7 @@ GLOBAL_LIST_EMPTY(construction_pipe_list) //List of all pipe datums pipeid = PIPE_SCRUBBERS_STRAIGHT category = RPD_SCRUBBERS_PIPING -/datum/pipes/atmospheric/simple/bent/scrubbers +/datum/pipes/atmospheric/bent/scrubbers pipename = "Bent scrubbers pipe" pipeid = PIPE_SCRUBBERS_BENT category = RPD_SCRUBBERS_PIPING diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index 98639030b3a..5efa881b861 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -37,6 +37,10 @@ spark_system.set_up(1, 0, src) spark_system.attach(src) +/obj/item/rcd/Destroy() + QDEL_NULL(spark_system) + return ..() + //Procs /obj/item/rpd/proc/activate_rpd(delay) //Maybe makes sparks and activates cooldown if there is a delay @@ -53,17 +57,17 @@ else if(whatpipe == PIPE_METER) P = new /obj/item/pipe_meter(T) else - P = new(T, pipe_type = whatpipe, dir = user.dir) //Make the pipe, BUT WAIT! There's more! + P = new(T, whatpipe, iconrotation) //Make the pipe, BUT WAIT! There's more! if(!iconrotation && P.is_bent_pipe()) //Automatically rotates dispensed pipes if the user selected auto-rotation P.dir = turn(user.dir, 135) else if(!iconrotation && P.pipe_type in list(PIPE_CONNECTOR, PIPE_UVENT, PIPE_SCRUBBER, PIPE_HEAT_EXCHANGE, PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_INJECTOR, PIPE_PASV_VENT)) //Some pipes dispense oppositely to what you'd expect, but we don't want to do anything if they selected a direction P.flip() else if(iconrotation && P.is_bent_pipe()) //If user selected a rotation and the pipe is bent P.dir = turn(iconrotation, -45) - else if(iconrotation) //If user selected a rotation - P.dir = iconrotation - to_chat(user, "[src] rapidly dispenses [P]!") - activate_rpd(1) + else if(!iconrotation) //If user selected a rotation + P.dir = user.dir + to_chat(user, "[src] rapidly dispenses [P]!") + activate_rpd(TRUE) /obj/item/rpd/proc/create_disposals_pipe(mob/user, turf/T) //Make a disposals pipe / construct var/obj/structure/disposalconstruct/P = new(T, whatdpipe, iconrotation) @@ -71,8 +75,8 @@ P.dir = user.dir if(!iconrotation && whatdpipe != PIPE_DISPOSALS_JUNCTION) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though P.flip() - to_chat(user, "[src] rapidly dispenses [P]!") - activate_rpd(1) + to_chat(user, "[src] rapidly dispenses [P]!") + activate_rpd(TRUE) /obj/item/rpd/proc/rotate_all_pipes(mob/user, turf/T) //Rotate all pipes on a turf for(var/obj/item/pipe/P in T) @@ -169,7 +173,11 @@ var/list/pipemenu = list( /obj/item/rpd/afterattack(atom/target, mob/user, proximity) ..() - if(loc != user || !proximity || world.time < lastused + spawndelay) + if(loc != user) + return + if(!proximity) + return + if(world.time < lastused + spawndelay) return target.rpd_act(user, src) //Handle RPD effects in separate procs diff --git a/nano/templates/rpd.tmpl b/nano/templates/rpd.tmpl index 6c380b3c046..f08a5ff02b4 100644 --- a/nano/templates/rpd.tmpl +++ b/nano/templates/rpd.tmpl @@ -4,21 +4,21 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm

Mode:

{{for data.mainmenu}} - {{:helper.link(String(value.category), String(value.icon), {"mode": Number(value.mode)}, data.mode == Number(value.mode) ? "linkOn" : null)}} + {{:helper.link(value.category, value.icon, {mode: value.mode}, data.mode == value.mode ? "linkOn" : null)}} {{/for}}
{{if data.mode == 1}}

Pipe type:

{{for data.pipemenu}} - {{:helper.link(String(value.pipecategory), null, {pipetype: Number(value.pipemode)}, data.pipetype == Number(value.pipemode) ? "linkOn" : null)}} + {{:helper.link(value.pipecategory, null, {pipetype: value.pipemode}, data.pipetype == value.pipemode ? "linkOn" : null)}} {{/for}}

Available pipes:

{{for data.pipelist}} {{if value.atmosordisposals == 1 && value.category == data.pipetype}} -
{{:helper.link(String(value.pipename), "arrow-right", {"whatpipe": Number(value.pipeid)}, data.whatpipe == Number(value.pipeid) ? "linkOn" : null)}}
+
{{:helper.link(value.pipename, "arrow-right", {whatpipe: value.pipeid}, data.whatpipe == value.pipeid ? "linkOn" : null)}}
{{/if}} {{/for}}
@@ -74,12 +74,12 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm
{{for data.pipelist}} {{if value.atmosordisposals == 2}} -
{{:helper.link(String(value.pipename), "arrow-right", {"whatdpipe": Number(value.pipeid)}, data.whatdpipe == Number(value.pipeid) ? "linkOn" : null)}}
+
{{:helper.link(value.pipename, "arrow-right", {whatdpipe: value.pipeid}, data.whatdpipe == value.pipeid ? "linkOn" : null)}}
{{/if}} {{/for}}
{{for data.pipelist}} - {{if value.atmosordisposals != 2 || value.pipeid != data.whatdpipe || value.orientations == 1}} + {{if value.atmosordisposals != 2 || value.pipeid != data.whatdpipe || value.orientations == 1}} {{continue;}} {{/if}}
From 2a310f3539e333fdbd4fc95c8dc2be7410ae0a6e Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 2 Jun 2018 08:52:31 +0100 Subject: [PATCH 048/308] Renames a bunch of variables; prevents possible exploit --- code/__HELPERS/global_lists.dm | 2 +- code/datums/pipe_datums.dm | 318 ++++++++++++------------- code/game/objects/items/weapons/rpd.dm | 31 ++- nano/templates/rpd.tmpl | 38 +-- 4 files changed, 201 insertions(+), 188 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index c11fd98f433..2c36a04eab9 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -55,7 +55,7 @@ init_subtypes(/datum/pipes/atmospheric, temp_pipe_list) init_subtypes(/datum/pipes/disposal, temp_pipe_list) for(var/datum/pipes/P in temp_pipe_list) //Yes I know the list(list(...)) thing looks weird, but it allows us to group pipe metadata into ordered lists instead of being one big list - GLOB.construction_pipe_list += list(list("pipename" = P.pipename, "pipeid" = P.pipeid, "atmosordisposals" = P.pipetype, "category" = P.category, "orientations" = P.orientations, "icon" = P.previewicon, "bendy" = P.bendy)) + GLOB.construction_pipe_list += list(list("pipe_name" = P.pipe_name, "pipe_id" = P.pipe_id, "pipe_type" = P.pipe_type, "pipe_category" = P.pipe_category, "orientations" = P.orientations, "pipe_icon" = P.pipe_icon, "bendy" = P.bendy)) return 1 diff --git a/code/datums/pipe_datums.dm b/code/datums/pipe_datums.dm index 43cda53a4a9..ea6d2f016f8 100644 --- a/code/datums/pipe_datums.dm +++ b/code/datums/pipe_datums.dm @@ -6,308 +6,308 @@ GLOBAL_LIST_EMPTY(construction_pipe_list) //List of all pipe datums /datum/pipes - var/pipename //What the pipe is called in the interface - var/pipeid //Use the pipe define for this - var/pipetype //Atmos, disposals etc. - var/category //What category of pipe + var/pipe_name //What the pipe is called in the interface + var/pipe_id //Use the pipe define for this + var/pipe_type //Atmos, disposals etc. + var/pipe_category //What category of pipe var/bendy = FALSE//Is this pipe bendy? var/orientations //Number of orientations (for interface purposes) - var/previewicon //icon_state of the dispensed pipe (for interface purposes) + var/pipe_icon //icon_state of the dispensed pipe (for interface purposes) /datum/pipes/atmospheric - pipetype = RPD_ATMOS - category = RPD_ATMOS_PIPING + pipe_type = RPD_ATMOS + pipe_category = RPD_ATMOS_PIPING /datum/pipes/disposal - pipetype = RPD_DISPOSAL + pipe_type = RPD_DISPOSAL //Normal pipes /datum/pipes/atmospheric/simple - pipename = "Straight pipe" - pipeid = PIPE_SIMPLE_STRAIGHT + pipe_name = "Straight pipe" + pipe_id = PIPE_SIMPLE_STRAIGHT orientations = 2 - previewicon = "simple" + pipe_icon = "simple" /datum/pipes/atmospheric/bent //Why is this not atmospheric/simple/bent you ask? Because otherwise the ordering of the pipes in the UI menu gets weird - pipename = "Bent pipe" - pipeid = PIPE_SIMPLE_BENT + pipe_name = "Bent pipe" + pipe_id = PIPE_SIMPLE_BENT orientations = 4 bendy = TRUE - previewicon = "simple" + pipe_icon = "simple" /datum/pipes/atmospheric/manifold - pipename = "T-manifold" - pipeid = PIPE_MANIFOLD + pipe_name = "T-manifold" + pipe_id = PIPE_MANIFOLD orientations = 4 - previewicon = "manifold" + pipe_icon = "manifold" /datum/pipes/atmospheric/manifold4w - pipename = "4-way manifold" - pipeid = PIPE_MANIFOLD4W + pipe_name = "4-way manifold" + pipe_id = PIPE_MANIFOLD4W orientations = 1 - previewicon = "manifold4w" + pipe_icon = "manifold4w" /datum/pipes/atmospheric/cap - pipename = "Pipe cap" - pipeid = PIPE_CAP + pipe_name = "Pipe cap" + pipe_id = PIPE_CAP orientations = 4 - previewicon = "cap" + pipe_icon = "cap" /datum/pipes/atmospheric/valve - pipename = "Manual valve" - pipeid = PIPE_MVALVE + pipe_name = "Manual valve" + pipe_id = PIPE_MVALVE orientations = 2 - previewicon = "mvalve" + pipe_icon = "mvalve" /datum/pipes/atmospheric/valve/digital - pipename = "Digital valve" - pipeid = PIPE_DVALVE - previewicon = "dvalve" + pipe_name = "Digital valve" + pipe_id = PIPE_DVALVE + pipe_icon = "dvalve" /datum/pipes/atmospheric/tvalve - pipename = "Manual T-valve" - pipeid = PIPE_TVALVE + pipe_name = "Manual T-valve" + pipe_id = PIPE_TVALVE orientations = 4 - previewicon = "tvalve" + pipe_icon = "tvalve" /datum/pipes/atmospheric/tvalve/digital - pipename = "Digital T-valve" - pipeid = PIPE_DTVALVE - previewicon = "dtvalve" + pipe_name = "Digital T-valve" + pipe_id = PIPE_DTVALVE + pipe_icon = "dtvalve" //Supply pipes /datum/pipes/atmospheric/simple/supply - pipename = "Straight supply pipe" - pipeid = PIPE_SUPPLY_STRAIGHT - category = RPD_SUPPLY_PIPING + pipe_name = "Straight supply pipe" + pipe_id = PIPE_SUPPLY_STRAIGHT + pipe_category = RPD_SUPPLY_PIPING /datum/pipes/atmospheric/bent/supply - pipename = "Bent supply pipe" - pipeid = PIPE_SUPPLY_BENT - category = RPD_SUPPLY_PIPING + pipe_name = "Bent supply pipe" + pipe_id = PIPE_SUPPLY_BENT + pipe_category = RPD_SUPPLY_PIPING /datum/pipes/atmospheric/manifold/supply - pipename = "Supply T-manifold" - pipeid = PIPE_SUPPLY_MANIFOLD - category = RPD_SUPPLY_PIPING + pipe_name = "Supply T-manifold" + pipe_id = PIPE_SUPPLY_MANIFOLD + pipe_category = RPD_SUPPLY_PIPING /datum/pipes/atmospheric/manifold4w/supply - pipename = "4-way supply manifold" - pipeid = PIPE_SUPPLY_MANIFOLD4W - category = RPD_SUPPLY_PIPING + pipe_name = "4-way supply manifold" + pipe_id = PIPE_SUPPLY_MANIFOLD4W + pipe_category = RPD_SUPPLY_PIPING /datum/pipes/atmospheric/cap/supply - pipename = "Supply pipe cap" - pipeid = PIPE_SUPPLY_CAP - category = RPD_SUPPLY_PIPING + pipe_name = "Supply pipe cap" + pipe_id = PIPE_SUPPLY_CAP + pipe_category = RPD_SUPPLY_PIPING //Scrubbers pipes /datum/pipes/atmospheric/simple/scrubbers - pipename = "Straight scrubbers pipe" - pipeid = PIPE_SCRUBBERS_STRAIGHT - category = RPD_SCRUBBERS_PIPING + pipe_name = "Straight scrubbers pipe" + pipe_id = PIPE_SCRUBBERS_STRAIGHT + pipe_category = RPD_SCRUBBERS_PIPING /datum/pipes/atmospheric/bent/scrubbers - pipename = "Bent scrubbers pipe" - pipeid = PIPE_SCRUBBERS_BENT - category = RPD_SCRUBBERS_PIPING + pipe_name = "Bent scrubbers pipe" + pipe_id = PIPE_SCRUBBERS_BENT + pipe_category = RPD_SCRUBBERS_PIPING /datum/pipes/atmospheric/manifold/scrubbers - pipename = "Scrubbers T-manifold" - pipeid = PIPE_SCRUBBERS_MANIFOLD - category = RPD_SCRUBBERS_PIPING + pipe_name = "Scrubbers T-manifold" + pipe_id = PIPE_SCRUBBERS_MANIFOLD + pipe_category = RPD_SCRUBBERS_PIPING /datum/pipes/atmospheric/manifold4w/scrubbers - pipename = "4-way scrubbers manifold" - pipeid = PIPE_SCRUBBERS_MANIFOLD4W - category = RPD_SCRUBBERS_PIPING + pipe_name = "4-way scrubbers manifold" + pipe_id = PIPE_SCRUBBERS_MANIFOLD4W + pipe_category = RPD_SCRUBBERS_PIPING /datum/pipes/atmospheric/cap/scrubbers - pipename = "Scrubbers pipe cap" - pipeid = PIPE_SCRUBBERS_CAP - category = RPD_SCRUBBERS_PIPING + pipe_name = "Scrubbers pipe cap" + pipe_id = PIPE_SCRUBBERS_CAP + pipe_category = RPD_SCRUBBERS_PIPING //Devices /datum/pipes/atmospheric/upa - pipename = "Universal pipe adapter" - pipeid = PIPE_UNIVERSAL + pipe_name = "Universal pipe adapter" + pipe_id = PIPE_UNIVERSAL orientations = 2 - previewicon = "universal" - category = RPD_DEVICES + pipe_icon = "universal" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/connector - pipename = "Connector" - pipeid = PIPE_CONNECTOR + pipe_name = "Connector" + pipe_id = PIPE_CONNECTOR orientations = 4 - previewicon = "connector" - category = RPD_DEVICES + pipe_icon = "connector" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/unaryvent - pipename = "Unary vent" - pipeid = PIPE_UVENT + pipe_name = "Unary vent" + pipe_id = PIPE_UVENT orientations = 4 - previewicon = "uvent" - category = RPD_DEVICES + pipe_icon = "uvent" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/scrubber - pipename = "Scrubber" - pipeid = PIPE_SCRUBBER + pipe_name = "Scrubber" + pipe_id = PIPE_SCRUBBER orientations = 4 - previewicon = "scrubber" - category = RPD_DEVICES + pipe_icon = "scrubber" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/pump - pipename = "Gas pump" - pipeid = PIPE_PUMP + pipe_name = "Gas pump" + pipe_id = PIPE_PUMP orientations = 4 - previewicon = "pump" - category = RPD_DEVICES + pipe_icon = "pump" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/volume_pump - pipename = "Volume pump" - pipeid = PIPE_VOLUME_PUMP + pipe_name = "Volume pump" + pipe_id = PIPE_VOLUME_PUMP orientations = 4 - previewicon = "volumepump" - category = RPD_DEVICES + pipe_icon = "volumepump" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/gate - pipename = "Passive gate" - pipeid = PIPE_PASSIVE_GATE + pipe_name = "Passive gate" + pipe_id = PIPE_PASSIVE_GATE orientations = 4 - previewicon = "passivegate" - category = RPD_DEVICES + pipe_icon = "passivegate" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/filter - pipename = "Gas filter" - pipeid = PIPE_GAS_FILTER + pipe_name = "Gas filter" + pipe_id = PIPE_GAS_FILTER orientations = 4 - previewicon = "filter" - category = RPD_DEVICES + pipe_icon = "filter" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/mixer - pipename = "Gas mixer" - pipeid = PIPE_GAS_MIXER + pipe_name = "Gas mixer" + pipe_id = PIPE_GAS_MIXER orientations = 4 - previewicon = "mixer" - category = RPD_DEVICES + pipe_icon = "mixer" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/sensor - pipename = "Gas sensor" - pipeid = PIPE_GAS_SENSOR + pipe_name = "Gas sensor" + pipe_id = PIPE_GAS_SENSOR orientations = 1 - previewicon = "sensor" - category = RPD_DEVICES + pipe_icon = "sensor" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/meter - pipename = "Gas meter" - pipeid = PIPE_METER + pipe_name = "Gas meter" + pipe_id = PIPE_METER orientations = 1 - previewicon = "meter" - category = RPD_DEVICES + pipe_icon = "meter" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/passive_vent - pipename = "Passive vent" - pipeid = PIPE_PASV_VENT + pipe_name = "Passive vent" + pipe_id = PIPE_PASV_VENT orientations = 4 - previewicon = "passive vent" - category = RPD_DEVICES + pipe_icon = "passive vent" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/dual_vent_pump - pipename = "Dual-port vent pump" - pipeid = PIPE_DP_VENT + pipe_name = "Dual-port vent pump" + pipe_id = PIPE_DP_VENT orientations = 2 - previewicon = "dual-port vent" - category = RPD_DEVICES + pipe_icon = "dual-port vent" + pipe_category = RPD_DEVICES /datum/pipes/atmospheric/injector - pipename = "Air injector" - pipeid = PIPE_INJECTOR + pipe_name = "Air injector" + pipe_id = PIPE_INJECTOR orientations = 4 - previewicon = "injector" - category = RPD_DEVICES + pipe_icon = "injector" + pipe_category = RPD_DEVICES //Heat exchange pipes /datum/pipes/atmospheric/he - pipename = "Straight pipe" - pipeid = PIPE_HE_STRAIGHT + pipe_name = "Straight pipe" + pipe_id = PIPE_HE_STRAIGHT orientations = 2 - previewicon = "he" - category = RPD_HEAT_PIPING + pipe_icon = "he" + pipe_category = RPD_HEAT_PIPING /datum/pipes/atmospheric/he/bent - pipename = "Bent pipe" - pipeid = PIPE_HE_BENT + pipe_name = "Bent pipe" + pipe_id = PIPE_HE_BENT orientations = 4 bendy = TRUE /datum/pipes/atmospheric/he_junction - pipename = "Junction" - pipeid = PIPE_JUNCTION + pipe_name = "Junction" + pipe_id = PIPE_JUNCTION orientations = 4 - previewicon = "junction" - category = RPD_HEAT_PIPING + pipe_icon = "junction" + pipe_category = RPD_HEAT_PIPING /datum/pipes/atmospheric/heat_exchanger - pipename = "Heat exchanger" - pipeid = PIPE_HEAT_EXCHANGE + pipe_name = "Heat exchanger" + pipe_id = PIPE_HEAT_EXCHANGE orientations = 4 - previewicon = "heunary" - category = RPD_HEAT_PIPING + pipe_icon = "heunary" + pipe_category = RPD_HEAT_PIPING //DISPOSALS PIPES /datum/pipes/disposal/straight - pipename = "Straight pipe" - pipeid = PIPE_DISPOSALS_STRAIGHT + pipe_name = "Straight pipe" + pipe_id = PIPE_DISPOSALS_STRAIGHT orientations = 2 - previewicon = "conpipe-s" + pipe_icon = "conpipe-s" /datum/pipes/disposal/bent - pipename = "Bent pipe" - pipeid = PIPE_DISPOSALS_BENT + pipe_name = "Bent pipe" + pipe_id = PIPE_DISPOSALS_BENT orientations = 4 - previewicon = "conpipe-c" + pipe_icon = "conpipe-c" /datum/pipes/disposal/junction - pipename = "Junction" - pipeid = PIPE_DISPOSALS_JUNCTION + pipe_name = "Junction" + pipe_id = PIPE_DISPOSALS_JUNCTION orientations = 4 - previewicon = "conpipe-j1" + pipe_icon = "conpipe-j1" /datum/pipes/disposal/y_junction - pipename = "Y-junction" - pipeid = PIPE_DISPOSALS_Y_JUNCTION + pipe_name = "Y-junction" + pipe_id = PIPE_DISPOSALS_Y_JUNCTION orientations = 4 - previewicon = "conpipe-y" + pipe_icon = "conpipe-y" /datum/pipes/disposal/trunk - pipename = "Trunk" - pipeid = PIPE_DISPOSALS_TRUNK + pipe_name = "Trunk" + pipe_id = PIPE_DISPOSALS_TRUNK orientations = 4 - previewicon = "conpipe-t" + pipe_icon = "conpipe-t" /datum/pipes/disposal/bin - pipename = "Bin" - pipeid = PIPE_DISPOSALS_BIN + pipe_name = "Bin" + pipe_id = PIPE_DISPOSALS_BIN orientations = 1 - previewicon = "condisposal" + pipe_icon = "condisposal" /datum/pipes/disposal/outlet - pipename = "Outlet" - pipeid = PIPE_DISPOSALS_OUTLET + pipe_name = "Outlet" + pipe_id = PIPE_DISPOSALS_OUTLET orientations = 4 - previewicon = "outlet" + pipe_icon = "outlet" /datum/pipes/disposal/chute - pipename = "Chute" - pipeid = PIPE_DISPOSALS_CHUTE + pipe_name = "Chute" + pipe_id = PIPE_DISPOSALS_CHUTE orientations = 4 - previewicon = "intake" + pipe_icon = "intake" #undef RPD_ATMOS #undef RPD_DISPOSAL diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index 5efa881b861..c7f16776a57 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -25,7 +25,7 @@ var/lastused var/iconrotation = 0 //Used to orient icons and pipes var/mode = RPD_ATMOS_MODE //Disposals, atmospherics, etc. - var/pipetype = RPD_ATMOS_PIPING//For nanoUI menus, this is a subtype of pipes e.g. scrubbers pipes, devices + var/pipe_category = RPD_ATMOS_PIPING//For nanoUI menus, this is a subtype of pipes e.g. scrubbers pipes, devices var/whatpipe = PIPE_SIMPLE_STRAIGHT //What kind of atmos pipe is it? var/whatdpipe = PIPE_DISPOSALS_STRAIGHT //What kind of disposals pipe is it? var/spawndelay = RPD_COOLDOWN_TIME @@ -50,7 +50,17 @@ if(delay) lastused = world.time +/obj/item/rpd/proc/can_dispense_pipe(var/pipe_id, var/pipe_type) //Returns TRUE if this is a legit pipe we can dispense, otherwise returns FALSE + for(var/list/L in GLOB.construction_pipe_list) + if(pipe_type != L["pipe_type"]) //Sometimes pipes in different categories have the same pipe_id, so we need to skip anything not in the category we want + continue + if(pipe_id == L["pipe_id"]) //Found the pipe, we can dispense it + return TRUE + /obj/item/rpd/proc/create_atmos_pipe(mob/user, turf/T) //Make an atmos pipe, meter, or gas sensor + if(!can_dispense_pipe(whatpipe, RPD_ATMOS_MODE)) + to_chat(user, "[src] beeps, \"ERROR\" ") //Damn dirty apes -- I mean hackers + return var/obj/item/pipe/P if(whatpipe == PIPE_GAS_SENSOR) P = new /obj/item/pipe_gsensor(T) @@ -70,6 +80,9 @@ activate_rpd(TRUE) /obj/item/rpd/proc/create_disposals_pipe(mob/user, turf/T) //Make a disposals pipe / construct + if(!can_dispense_pipe(whatdpipe, RPD_DISPOSALS_MODE)) + to_chat(user, "[src] beeps, \"ERROR\" ") + return var/obj/structure/disposalconstruct/P = new(T, whatdpipe, iconrotation) if(!iconrotation) //Automatic rotation P.dir = user.dir @@ -125,11 +138,11 @@ var/list/mainmenu = list( list("category" = "Flip", "mode" = RPD_FLIP_MODE, "icon" = "exchange"), list("category" = "Recycle", "mode" = RPD_DELETE_MODE, "icon" = "trash")) var/list/pipemenu = list( - list("pipecategory" = "Normal", "pipemode" = RPD_ATMOS_PIPING), - list("pipecategory" = "Supply", "pipemode" = RPD_SUPPLY_PIPING), - list("pipecategory" = "Scrubber", "pipemode" = RPD_SCRUBBERS_PIPING), - list("pipecategory" = "Devices", "pipemode" = RPD_DEVICES), - list("pipecategory" = "Heat exchange", "pipemode" = RPD_HEAT_PIPING)) + list("category" = "Normal", "pipemode" = RPD_ATMOS_PIPING), + list("category" = "Supply", "pipemode" = RPD_SUPPLY_PIPING), + list("category" = "Scrubber", "pipemode" = RPD_SCRUBBERS_PIPING), + list("category" = "Devices", "pipemode" = RPD_DEVICES), + list("category" = "Heat exchange", "pipemode" = RPD_HEAT_PIPING)) //NanoUI stuff @@ -150,7 +163,7 @@ var/list/pipemenu = list( data["mode"] = mode data["pipelist"] = GLOB.construction_pipe_list data["pipemenu"] = pipemenu - data["pipetype"] = pipetype + data["pipe_category"] = pipe_category data["whatdpipe"] = whatdpipe data["whatpipe"] = whatpipe return data @@ -163,8 +176,8 @@ var/list/pipemenu = list( whatpipe = text2num(sanitize(href_list["whatpipe"])) else if(href_list["whatdpipe"]) whatdpipe = text2num(sanitize(href_list["whatdpipe"])) - else if(href_list["pipetype"]) - pipetype = text2num(sanitize(href_list["pipetype"])) + else if(href_list["pipe_category"]) + pipe_category = text2num(sanitize(href_list["pipe_category"])) else if(href_list["mode"]) mode = text2num(sanitize(href_list["mode"])) else diff --git a/nano/templates/rpd.tmpl b/nano/templates/rpd.tmpl index f08a5ff02b4..6a9c2ccb517 100644 --- a/nano/templates/rpd.tmpl +++ b/nano/templates/rpd.tmpl @@ -11,19 +11,19 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm

Pipe type:

{{for data.pipemenu}} - {{:helper.link(value.pipecategory, null, {pipetype: value.pipemode}, data.pipetype == value.pipemode ? "linkOn" : null)}} + {{:helper.link(value.category, null, {pipe_category: value.pipemode}, data.pipe_category == value.pipemode ? "linkOn" : null)}} {{/for}}

Available pipes:

{{for data.pipelist}} - {{if value.atmosordisposals == 1 && value.category == data.pipetype}} -
{{:helper.link(value.pipename, "arrow-right", {whatpipe: value.pipeid}, data.whatpipe == value.pipeid ? "linkOn" : null)}}
+ {{if value.pipe_type == 1 && value.pipe_category == data.pipe_category}} +
{{:helper.link(value.pipe_name, "arrow-right", {whatpipe: value.pipe_id}, data.whatpipe == value.pipe_id ? "linkOn" : null)}}
{{/if}} {{/for}}
{{for data.pipelist}} - {{if value.atmosordisposals != 1 || value.pipeid != data.whatpipe || value.orientations == 1}} + {{if value.pipe_type != 1 || value.pipe_id != data.whatpipe || value.orientations == 1}} {{continue;}} {{/if}}
@@ -33,37 +33,37 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm {{if value.bendy}}
{{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}} - +
{{else}}
{{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}} - +
{{if value.orientations == 4}}
{{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}} - +
{{/if}} {{/if}} @@ -73,13 +73,13 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm

Available pipes:

{{for data.pipelist}} - {{if value.atmosordisposals == 2}} -
{{:helper.link(value.pipename, "arrow-right", {whatdpipe: value.pipeid}, data.whatdpipe == value.pipeid ? "linkOn" : null)}}
+ {{if value.pipe_type == 2}} +
{{:helper.link(value.pipe_name, "arrow-right", {whatdpipe: value.pipe_id}, data.whatdpipe == value.pipe_id ? "linkOn" : null)}}
{{/if}} {{/for}}
{{for data.pipelist}} - {{if value.atmosordisposals != 2 || value.pipeid != data.whatdpipe || value.orientations == 1}} + {{if value.pipe_type != 2 || value.pipe_id != data.whatdpipe || value.orientations == 1}} {{continue;}} {{/if}}
@@ -88,20 +88,20 @@ Used In File(s): /code/game/objects/items/weapons/rpd.dm
{{:helper.link("", "arrow-right", {iconrotation: 1}, data.iconrotation == 1 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 4}, data.iconrotation == 4 ? "linkOn" : null)}} - +
{{if value.orientations == 4}}
{{:helper.link("", "arrow-right", {iconrotation: 2}, data.iconrotation == 2 ? "linkOn" : null)}} - +
{{:helper.link("", "arrow-right", {iconrotation: 8}, data.iconrotation == 8 ? "linkOn" : null)}} - +
{{/if}}
From 0dd3da76c9314fcd46b31c5bef572fc0ae2727d7 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 3 Jun 2018 19:43:58 -0400 Subject: [PATCH 049/308] oops --- code/game/machinery/Sleeper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index e7c0113aa0e..f6af37f257f 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -348,7 +348,7 @@ return if(!G || !G.affecting) return - var/mob/M = G:affecting + var/mob/M = G.affecting M.forceMove(src) occupant = M icon_state = "[base_icon]" From b43ffe380fc54e5c443358e4835ef69209ead7e3 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sat, 9 Jun 2018 22:54:22 +0100 Subject: [PATCH 050/308] Removes unused var; deletes blank paper once cooked --- code/modules/food_and_drinks/recipes/recipes_oven.dm | 2 ++ code/modules/paperwork/paper.dm | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/recipes/recipes_oven.dm b/code/modules/food_and_drinks/recipes/recipes_oven.dm index 9405f5b13d9..711b8ac7a26 100644 --- a/code/modules/food_and_drinks/recipes/recipes_oven.dm +++ b/code/modules/food_and_drinks/recipes/recipes_oven.dm @@ -186,6 +186,8 @@ if(P.info) //If there's anything written on the paper, just move it into the fortune cookie P.forceMove(being_cooked) //Prevents the oven deleting our paper being_cooked.trash = P //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn + else + qdel(P) return being_cooked /datum/recipe/oven/pizzamargherita diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 0b725b729ae..813413d9f33 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -482,7 +482,6 @@ name = "fortune" icon_state = "slip" paper_height = 150 - var/fortunemessage /obj/item/paper/fortune/New() ..() From b6272b50fc2f1f4977589266d7435412651b2c3b Mon Sep 17 00:00:00 2001 From: Anasari <13087574+Anasari@users.noreply.github.com> Date: Wed, 13 Jun 2018 13:41:27 +0800 Subject: [PATCH 051/308] Changes the code to work more flexibly --- code/game/objects/items/stacks/medical.dm | 38 ++++++++++++++--------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 846da0b61aa..c8852dd2d3a 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -89,21 +89,29 @@ var/nrembrute = rembrute var/nremburn = remburn affecting.heal_damage(heal_brute, heal_burn) - if(affecting.body_part in list(ARM_LEFT, ARM_RIGHT, LEG_LEFT, LEG_RIGHT, UPPER_TORSO, LOWER_TORSO)) - for(var/obj/item/organ/external/E in affecting.children) - if(rembrute <= 0 && remburn <= 0) // Make sure there's actually overheal left and the organ is damaged before bothering - break - else if(E.status && ORGAN_ROBOT || E.open) // Ignore robotic or open limb - continue - else if(!E.brute_dam && !E.burn_dam) // Ignore undamaged limb - continue - nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain - nremburn = remburn - E.burn_dam - E.heal_damage(rembrute, remburn) - rembrute = nrembrute - remburn = nremburn - user.visible_message("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication.", \ - "You [healverb] the wounds on [H]'s [E.name] with the remaining medication." ) + var/list/achildlist = affecting.children.Copy() + var/parenthealed = 0 + while(rembrute + remburn > 0): // Don't bother if there's not enough leftover heal + var/obj/item/organ/external/E + if(achildlist.len): + E = pick(achildlist) // Pick a random children + achildlist -= E + else if(affecting.parent && !parenthealed): // If there's a parent and no healing attempt was made on it + E = affecting.parent + parenthealed = 1 + else: + break // If the organ have no child left and no parent / parent healed, break + if(E.status & ORGAN_ROBOT || E.open) // Ignore robotic or open limb + continue + else if(!E.brute_dam && !E.burn_dam) // Ignore undamaged limb + continue + nrembrute = rembrute - E.brute_dam // Deduct the healed damage from the remain + nremburn = remburn - E.burn_dam + E.heal_damage(rembrute, remburn) + rembrute = nrembrute + remburn = nremburn + user.visible_message("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication.", \ + "You [healverb] the wounds on [H]'s [E.name] with the remaining medication." ) //Bruise Packs// From de0ceaf76954aa5a5b948372b8b258481da79815 Mon Sep 17 00:00:00 2001 From: Kyep Date: Wed, 20 Jun 2018 18:24:59 -0700 Subject: [PATCH 052/308] Deletes chatrooms --- code/game/machinery/computer/message.dm | 53 +--- code/modules/awaymissions/snpc.dm | 2 - code/modules/mob/living/silicon/pai/pai.dm | 2 - .../living/silicon/pai/software_modules.dm | 117 -------- code/modules/pda/PDA.dm | 1 - code/modules/pda/chatroom.dm | 265 ------------------ code/modules/pda/messenger_plugins.dm | 3 - code/modules/pda/pdas.dm | 6 - nano/templates/pda_chatroom.tmpl | 85 ------ paradise.dme | 1 - 10 files changed, 1 insertion(+), 534 deletions(-) delete mode 100644 code/modules/pda/chatroom.dm delete mode 100644 nano/templates/pda_chatroom.tmpl diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 8bdc6b87243..bcbe7a07e5d 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -22,7 +22,7 @@ var/defaultmsg = "Welcome. Please select an option." var/rebootmsg = "%$&(£: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!" //Computer properties - var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message, 4 = chat room selection, 5 = chat room logs + var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message var/hacking = 0 // Is it being hacked into by the AI/Cyborg var/emag = 0 // When it is emagged. var/message = "System bootup complete. Please select an option." // The message that shows on the main menu. @@ -33,7 +33,6 @@ var/obj/item/pda/customrecepient = null var/customjob = "Admin" var/custommessage = "This is a test, please ignore." - var/datum/chatroom/current_chatroom = null light_color = LIGHT_COLOR_DARKGREEN @@ -129,7 +128,6 @@ dat += "
[++i]. Clear Request Console Logs
" dat += "
[++i]. Set Custom Key
" dat += "
[++i]. Send Admin Message
" - dat += "
[++i]. View Chatrooms
" else for(var/n = ++i; n <= optioncount; n++) dat += "
[n]. ---------------
" @@ -247,42 +245,6 @@ dat += {"
X
[rc.send_dpt] [rc.rec_dpt][rc.message][rc.stamp][rc.id_auth][rc.priority]"} dat += "" - //Chat room list - if(5) - dat += "
Back - Refresh

" - dat += {" - - - - - - "} - for(var/datum/chatroom/C in chatrooms) - var/list/invites = (C.invites - C.users) - dat += {" - - - - - "} - dat += "
Room NameUsersInvitesMessages
[C.name][C.users.len][invites.len][C.logs.len]
" - //View chat room logs - if(6) - dat += "
Back - Refresh

" - dat += {" - - - - "} - if(current_chatroom) - for(var/M in current_chatroom.logs) - var/list/message = M - dat += {" - - - "} - dat += "
NameMessage
[message["username"]][message["message"]]
" - dat += "" message = defaultmsg user << browse(dat, "window=message;size=700x700") @@ -520,19 +482,6 @@ if(href_list["back"]) src.screen = 0 - // View chat room list - if(href_list["chatroom"]) - if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else if(auth) - screen = 5 - if(href_list["viewroom"]) - if(!linkedServer || (linkedServer.stat & (NOPOWER|BROKEN))) - message = noserver - else if(auth) - current_chatroom = locate(href_list["viewroom"]) - if(current_chatroom) - screen = 6 return src.attack_hand(usr) diff --git a/code/modules/awaymissions/snpc.dm b/code/modules/awaymissions/snpc.dm index bd7046e3b2c..0b0de76ead3 100644 --- a/code/modules/awaymissions/snpc.dm +++ b/code/modules/awaymissions/snpc.dm @@ -18,8 +18,6 @@ ..() var/datum/data/pda/app/messenger/M = MYPDA.find_program(/datum/data/pda/app/messenger) M.toff = 1 - var/datum/data/pda/app/chatroom/C = MYPDA.find_program(/datum/data/pda/app/chatroom) - C.toff = 1 /mob/living/carbon/human/interactive/away/job2area() return away_area diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index d24518d4888..d28ce620a0c 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -114,8 +114,6 @@ pda.name = pda.owner + " (" + pda.ownjob + ")" var/datum/data/pda/app/messenger/M = pda.find_program(/datum/data/pda/app/messenger) M.toff = 1 - var/datum/data/pda/app/chatroom/C = pda.find_program(/datum/data/pda/app/chatroom) - C.toff = 1 ..() /mob/living/silicon/pai/Destroy() diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index bf9e4eeab0d..48c1c1d7d10 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -226,123 +226,6 @@ M.create_message(P, target, 1) return 1 -/datum/pai_software/chatroom - name = "Digital Chatroom" - ram_cost = 5 - id = "chatroom" - toggle = 0 - - autoupdate = 1 - template_file = "pai_chatroom.tmpl" - ui_title = "Digital Chatroom" - -/datum/pai_software/chatroom/on_ui_data(mob/living/silicon/pai/user, datum/topic_state/state = self_state) - var/data[0] - - if(!user.pda) - log_runtime(EXCEPTION("pAI found without PDA."), user) - return data - var/datum/data/pda/app/chatroom/M = user.pda.find_program(/datum/data/pda/app/chatroom) - if(!M) - log_runtime(EXCEPTION("pAI PDA lacks a chatroom program"), user) - return data - - data["receiver_off"] = M.toff - data["ringer_off"] = M.notify_silent - - var/list/rooms[0] - for(var/datum/chatroom/c in chatrooms) - if((M in c.users) || (M in c.invites) || c.is_public) - rooms += list(list(name = "[c]", ref = "\ref[c]")) - data["rooms"] = rooms - - if(M.disconnected || !M.messaging_available(1)) - data["disconnected"] = 1 - else if(M.current_room) - data["current_room"] = "\ref[M.current_room]" - data["current_room_name"] = M.current_room.name - data["current_room_topic"] = M.current_room.topic - data["messages"] = M.current_room.logs - var/list/users[0] - for(var/U in M.current_room.users) - var/datum/data/pda/app/chatroom/ch = U - users += "[ch.pda.owner]" - for(var/U in (M.current_room.invites - M.current_room.users)) - var/datum/data/pda/app/chatroom/ch = U - users += "[ch.pda.owner]" - data["users"] = users - - return data - -/datum/pai_software/chatroom/Topic(href, href_list) - var/mob/living/silicon/pai/P = usr - if(!istype(P)) - return - - if(!isnull(P.pda) && P.pda.can_use()) - var/datum/data/pda/app/chatroom/M = P.pda.find_program(/datum/data/pda/app/chatroom) - if(!M) - return - - if(href_list["toggler"]) - M.toff = href_list["toggler"] != "1" - return 1 - else if(href_list["ringer"]) - M.notify_silent = href_list["ringer"] != "1" - return 1 - else if(href_list["topic"]) - if(!M.current_room) - return 1 - - var/t = input("Enter new topic:", M.current_room, M.current_room.topic) as text|null - spawn() - if(!t || !M.check_messaging_available() || !P.pda.can_use()) - return - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - t = readd_quotes(t) - if(!t) - return - - M.current_room.topic = t - M.current_room.announce(M, "Topic has been changed to '[t]' by [P.pda.owner].") - return 1 - else if(href_list["select"]) - var/s = href_list["select"] - if(s == "*NONE*") - M.current_room = null - else - var/datum/chatroom/CR = locate(s) - if(istype(CR)) - if(!(M in CR.users)) - if(!CR.login(M)) - return - M.current_room = CR - return 1 - else if(href_list["target"]) - if(P.silence_time) - return alert("Communications circuits remain uninitialized.") - - var/datum/chatroom/target = locate(href_list["target"]) - if(istype(target)) - if(!(M in target.users)) - if(!target.login(M)) - return - var/t = input("Please enter message", target) as text|null - spawn() - if(!t || !M.check_messaging_available()) - return - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - t = readd_quotes(t) - if(!t || !P.pda.can_use()) - return - - target.post(M, t) - return 1 - else if(href_list["reconnect"]) - spawn() - M.messaging_available() - return 1 - /datum/pai_software/med_records name = "Medical Records" ram_cost = 15 diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 703ec2bd628..38422a89528 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -44,7 +44,6 @@ var/global/list/obj/item/pda/PDAs = list() new/datum/data/pda/app/notekeeper, new/datum/data/pda/app/messenger, new/datum/data/pda/app/manifest, - new/datum/data/pda/app/chatroom, new/datum/data/pda/app/atmos_scanner, new/datum/data/pda/utility/scanmode/notes, new/datum/data/pda/utility/flashlight) diff --git a/code/modules/pda/chatroom.dm b/code/modules/pda/chatroom.dm deleted file mode 100644 index ef9027b888c..00000000000 --- a/code/modules/pda/chatroom.dm +++ /dev/null @@ -1,265 +0,0 @@ -var/list/chatrooms = list(new /datum/chatroom("General Discussion")) - -/datum/chatroom - var/name = "Generic Chatroom" - var/list/users = list() - var/list/invites = list() - var/list/logs = list() // chat logs - var/topic = "Discussion" // topic message for the chatroom - var/is_public = 1 - var/announcer = "CyberiadAI" - -/datum/chatroom/New(n) - name = n - -/datum/chatroom/proc/post(user, message, username) - if(!user || !message) - return - - if(!username) - if(istype(user, /datum/data/pda/app/chatroom)) - var/datum/data/pda/app/chatroom/c = user - if(!c.pda.owner) - return - username = c.pda.owner - else - return - - logs += list(list(username = username, message = message)) - - for(var/datum/data/pda/app/chatroom/u in users) - spawn() - if(u.messaging_available() && !u.toff && user != u) - u.notify("Post from [username] in #[name], \"[message]\" (
Post)") - -/datum/chatroom/proc/announce(user, message) - post(user, "[message]", announcer) - -/datum/chatroom/proc/login(datum/data/pda/app/chatroom/user) - if(!user || !user.pda.owner) - return 0 - - if(user in users) - return 1 - - if(!is_public && !(user in invites)) - return 0 - - users |= user - announce(user, "[user.pda.owner] has entered #[name].") - return 1 - -/datum/chatroom/proc/logout(datum/data/pda/app/chatroom/user) - if(!user || !user.pda.owner || !(user in users)) - return - - users -= user - invites -= user - announce(user, "[user.pda.owner] has left #[name].") - -/datum/data/pda/app/chatroom - name = "Chatbuddy" - icon = "hashtag" - notify_icon = "comments" - template = "pda_chatroom" - var/toff = 0 - var/datum/chatroom/current_room = null - var/inviting = 0 - var/channels_created = 0 - var/max_channels_created = 3 - var/latest_post = 0 - var/auto_scroll = 1 - var/disconnected = 0 - -/datum/data/pda/app/chatroom/Destroy() - for(var/C in chatrooms) - var/datum/chatroom/ch = C - if(src in ch.users) - ch.users -= src - if(src in ch.invites) - ch.invites -= src - return ..() - -/datum/data/pda/app/chatroom/start() - . = ..() - unnotify() - latest_post = 0 - -/datum/data/pda/app/chatroom/update_ui(mob/user as mob, list/data) - data["silent"] = notify_silent - data["toff"] = toff - if(disconnected || !messaging_available(1)) - data["no_server"] = 1 - has_back = 0 - else if(current_room) - data["room"] = current_room.name - data["topic"] = current_room.topic - if(inviting) - data["inviting"] = 1 - var/list/pdas = list() - for(var/A in PDAs) - var/obj/item/pda/P = A - var/datum/data/pda/app/chatroom/C = P.find_program(/datum/data/pda/app/chatroom) - var/datum/data/pda/app/messenger/PM = P.find_program(/datum/data/pda/app/messenger) - - if(!P.owner || P == pda || PM.m_hidden || (C in current_room.invites) || (C in current_room.users)) - continue - pdas += list(list(name = "[P.owner] ([P.ownjob])", ref = "\ref[C]")) - data["people"] = pdas - else - data["history"] = current_room.logs - var/list/users[0] - for(var/U in current_room.users) - var/datum/data/pda/app/chatroom/ch = U - users += "[ch.pda.owner]" - for(var/U in (current_room.invites - current_room.users)) - var/datum/data/pda/app/chatroom/ch = U - users += "[ch.pda.owner]" - data["users"] = users - data["auto_scroll"] = auto_scroll - data["latest_post"] = latest_post - latest_post = current_room.logs.len - has_back = 1 - else - var/list/rooms[0] - for(var/datum/chatroom/c in chatrooms) - if((src in c.users) || (src in c.invites) || c.is_public) - rooms += list(list(name = "[c]", ref = "\ref[c]")) - data["rooms"] = rooms - has_back = 0 - -/datum/data/pda/app/chatroom/proc/messaging_available(cheap = 0) - . = 0 - if(message_servers) - for(var/A in message_servers) - var/obj/machinery/message_server/MS = A - if(MS.active) - . = cheap || pda.test_telecomms() - disconnected = !. - -/datum/data/pda/app/chatroom/proc/check_messaging_available() - . = messaging_available() - if(!.) - to_chat(usr, "ERROR: Messaging server is not responding.") - -/datum/data/pda/app/chatroom/Topic(href, list/href_list) - if(!pda.can_use()) - return - unnotify() - - switch(href_list["choice"]) - if("Toggle Chatroom") - toff = !toff - if("Toggle Ringer") - notify_silent = !notify_silent - if("Back") - if(inviting) - inviting = 0 - else - current_room = null - latest_post = 0 - if("Join") - if(href_list["room"]) - current_room = locate(href_list["room"]) - if(!(src in current_room.users)) - if(!current_room.login(src)) - current_room = null - latest_post = 0 - if("Post") - var/datum/chatroom/target - if(href_list["target"]) - target = locate(href_list["target"]) - else - target = current_room - - if(!target) - return - - var/t = input("Please enter message", target) as text|null - spawn() - if(!t || !check_messaging_available()) - return - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - t = readd_quotes(t) - if(!t || !pda.can_use()) - return - - target.post(src, t) - if("Topic") - if(!current_room) - return - - var/t = input("Enter new topic:", current_room, current_room.topic) as text|null - spawn() - if(!t || !check_messaging_available() || !pda.can_use()) - return - t = sanitize(copytext(t, 1, MAX_MESSAGE_LEN)) - t = readd_quotes(t) - if(!t) - return - - current_room.topic = t - current_room.announce(src, "Topic has been changed to '[t]' by [pda.owner].") - if("Leave") - if(!current_room) - return - - current_room.logout(src) - current_room = null - latest_post = 0 - if("Invite") - if(!current_room) - return - - inviting = 1 - if("Invite PDA") - spawn() - if(!check_messaging_available() || !current_room || !href_list["user"]) - return - - var/datum/data/pda/app/chatroom/C = locate(href_list["user"]) - if(C) - current_room.invites |= C - spawn() - if(C.messaging_available() && !C.toff) - C.notify("Invite to #[current_room] (Join)") - if("New Room") - if(channels_created >= max_channels_created) - alert("This PDA has already reached its maximum channels created.", name) - return - - var/t = input("Enter room name:", name) as text|null - if(!t) - return - t = sanitize(copytext(t, 1, MAX_NAME_LEN)) - t = readd_quotes(t) - - var/access = input("Room access?", current_room) as null|anything in list("Public", "Private") - if(!access) - return - - spawn() - if(!t || !check_messaging_available() || !pda.can_use()) - return - - // check if already taken - for(var/datum/chatroom/C in chatrooms) - if(C.name == t) - alert("Channel with that name already exists.", name) - return - - channels_created++ - current_room = new /datum/chatroom(t) - chatrooms += current_room - latest_post = 0 - - current_room.invites |= src - current_room.is_public = access == "Public" - current_room.login(src) - if(!current_room.is_public) - current_room.announce(src, "Users must be invited to join this room.") - if("Autoscroll") - auto_scroll = !auto_scroll - if("Reconnect") - spawn() - messaging_available() \ No newline at end of file diff --git a/code/modules/pda/messenger_plugins.dm b/code/modules/pda/messenger_plugins.dm index 7e228445d3f..2666b82c5df 100644 --- a/code/modules/pda/messenger_plugins.dm +++ b/code/modules/pda/messenger_plugins.dm @@ -35,9 +35,6 @@ if(.) user.show_message("Virus sent!", 1) var/datum/data/pda/app/M = P.find_program(/datum/data/pda/app/messenger) - if(M) - M.notify_silent = 1 - M = P.find_program(/datum/data/pda/app/chatroom) if(M) M.notify_silent = 1 P.ttone = "silence" diff --git a/code/modules/pda/pdas.dm b/code/modules/pda/pdas.dm index a9a4cbb9714..676d193a6d3 100644 --- a/code/modules/pda/pdas.dm +++ b/code/modules/pda/pdas.dm @@ -54,9 +54,6 @@ var/datum/data/pda/app/M = find_program(/datum/data/pda/app/messenger) if(M) M.notify_silent = 1 - M = find_program(/datum/data/pda/app/chatroom) - if(M) - M.notify_silent = 1 /obj/item/pda/heads default_cartridge = /obj/item/cartridge/head @@ -161,9 +158,6 @@ var/datum/data/pda/app/M = find_program(/datum/data/pda/app/messenger) if(M) M.notify_silent = 1 //Quiet in the library! - M = find_program(/datum/data/pda/app/chatroom) - if(M) - M.notify_silent = 1 //Quiet in the library! /obj/item/pda/clear icon_state = "pda-transp" diff --git a/nano/templates/pda_chatroom.tmpl b/nano/templates/pda_chatroom.tmpl deleted file mode 100644 index ae0d8e7f35b..00000000000 --- a/nano/templates/pda_chatroom.tmpl +++ /dev/null @@ -1,85 +0,0 @@ - -
-
- Chat Functions: -
-
- {{:helper.link(data.silent == 1 ? 'Ringer: Off' : 'Ringer: On', data.silent == 1 ? 'volume-off' : 'volume-up', {'choice' : "Toggle Ringer"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link(data.toff == 1 ? 'Notifications: Off' : 'Notifications: On',data.toff == 1 ? 'close' : 'check', {'choice' : "Toggle Chatroom"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link('Set Ringtone', 'bell-o', {'choice' : "Ringtone"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link('New Room', 'plus', {'choice' : "New Room"}, null, 'pdalink fixedLeftWide')}} -
-
- -
- {{if data.no_server}} -

ERROR: Messaging server is not responding.

- {{:helper.link('Reconnect', 'refresh', {'choice' : "Reconnect"}, null, 'pdalink fixedLeftWidest')}} - {{else data.room}} - {{if data.inviting}} -

Invite whom to #{{:data.room}}?

- {{for data.people}} - {{:helper.link(value.name, 'user-plus', {'choice': "Invite PDA", 'user': value.ref}, null, 'pdalink fixedLeftWidest')}} - {{empty}} - No other people found. - {{/for}} - {{else}} -

#{{:data.room}} – {{:data.topic}}

-
-
- Room Functions: -
-
- {{:helper.link('Invite', 'user-plus', {'choice' : "Invite"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link('Change Topic', 'tag', {'choice' : "Topic"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link('Leave Channel', 'user-times', {'choice' : "Leave"}, null, 'pdalink fixedLeftWide')}} - {{:helper.link(data.auto_scroll ? 'Autoscroll: On' : 'Autoscroll: Off', 'level-down', {'choice' : "Autoscroll"}, null, 'pdalink fixedLeftWide')}} -
-
-
-
- {{var prevName = "";}} - {{for data.history}} -
-
{{:value.username!=prevName ? value.username : " "}}
-
- {{:value.message}} -
-
- {{prevName = value.username;}} - {{/for}} -
-
- {{:helper.link('Post', 'comment', {'choice' : "Post"}, null, 'pdalink fixedLeftWidest')}} -
-
-
- {{for data.users}} -
-
{{:value}}
-
- {{/for}} -
- - {{/if}} - {{else}} -

Rooms

- {{for data.rooms}} -
- {{:helper.link(value.name, 'arrow-circle-down', {'choice' : "Join", 'room' : value.ref}, null, 'pdalink fixedLeftWidest')}} -
- {{empty}} - No rooms located. - {{/for}} - {{/if}} -
\ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 095e5ad2a78..3cfece6ef28 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1923,7 +1923,6 @@ #include "code\modules\pda\app.dm" #include "code\modules\pda\cart.dm" #include "code\modules\pda\cart_apps.dm" -#include "code\modules\pda\chatroom.dm" #include "code\modules\pda\core_apps.dm" #include "code\modules\pda\messenger.dm" #include "code\modules\pda\messenger_plugins.dm" From eac81af1caa5068cec1eeabe8e99a0288993c397 Mon Sep 17 00:00:00 2001 From: Alffd Date: Tue, 24 Oct 2017 21:04:38 -0400 Subject: [PATCH 053/308] Initial update of SM code --- code/__DEFINES/machines.dm | 12 +- .../computers/machinery/console_presets.dm | 1 + .../programs/engineering/sm_monitor.dm | 137 ++++++++++++++++++ code/modules/power/supermatter/supermatter.dm | 74 +++++++++- icons/obj/modular_console.dmi | Bin 26642 -> 28221 bytes icons/obj/modular_laptop.dmi | Bin 12499 -> 13671 bytes icons/obj/modular_tablet.dmi | Bin 2240 -> 3260 bytes icons/program_icons/smmon_0.gif | Bin 0 -> 221 bytes icons/program_icons/smmon_1.gif | Bin 0 -> 232 bytes icons/program_icons/smmon_2.gif | Bin 0 -> 243 bytes icons/program_icons/smmon_3.gif | Bin 0 -> 502 bytes icons/program_icons/smmon_4.gif | Bin 0 -> 503 bytes icons/program_icons/smmon_5.gif | Bin 0 -> 696 bytes icons/program_icons/smmon_6.gif | Bin 0 -> 325 bytes nano/templates/supermatter_monitor.tmpl | 111 ++++++++++++++ sound/machines/engine_alert2.ogg | Bin 0 -> 20264 bytes 16 files changed, 329 insertions(+), 6 deletions(-) create mode 100644 code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm create mode 100644 icons/program_icons/smmon_0.gif create mode 100644 icons/program_icons/smmon_1.gif create mode 100644 icons/program_icons/smmon_2.gif create mode 100644 icons/program_icons/smmon_3.gif create mode 100644 icons/program_icons/smmon_4.gif create mode 100644 icons/program_icons/smmon_5.gif create mode 100644 icons/program_icons/smmon_6.gif create mode 100644 nano/templates/supermatter_monitor.tmpl create mode 100644 sound/machines/engine_alert2.ogg diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 5b38b592ac6..35701e7f5b3 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -81,4 +81,14 @@ #define TARGET_DEPT_SEC 2 #define TARGET_DEPT_MED 3 #define TARGET_DEPT_SCI 4 -#define TARGET_DEPT_ENG 5 \ No newline at end of file +#define TARGET_DEPT_ENG 5 + +// These are used by supermatter and supermatter monitor program, mostly for UI updating purposes. Higher should always be worse! +#define SUPERMATTER_ERROR -1 // Unknown status, shouldn't happen but just in case. +#define SUPERMATTER_INACTIVE 0 // No or minimal energy +#define SUPERMATTER_NORMAL 1 // Normal operation +#define SUPERMATTER_NOTIFY 2 // Ambient temp > 80% of CRITICAL_TEMPERATURE +#define SUPERMATTER_WARNING 3 // Ambient temp > CRITICAL_TEMPERATURE OR integrity damaged +#define SUPERMATTER_DANGER 4 // Integrity < 50% +#define SUPERMATTER_EMERGENCY 5 // Integrity < 25% +#define SUPERMATTER_DELAMINATING 6 // Pretty obvious. diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index 6e0be3b385f..5dd324945fa 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -36,6 +36,7 @@ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD] hard_drive.store_file(new/datum/computer_file/program/power_monitor()) hard_drive.store_file(new/datum/computer_file/program/alarm_monitor()) + hard_drive.store_file(new/datum/computer_file/program/supermatter_monitor()) // ===== RESEARCH CONSOLE ===== /obj/machinery/modular_computer/console/preset/research diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm new file mode 100644 index 00000000000..b05783e2bcb --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -0,0 +1,137 @@ +/datum/computer_file/program/supermatter_monitor + filename = "smmonitor" + filedesc = "Supermatter Monitoring" + ui_header = "smmon_0.gif" + program_icon_state = "smmon_0" + extended_desc = "This program connects to specially calibrated supermatter sensors to provide information on the status of supermatter-based engines." + requires_ntnet = TRUE + transfer_access = access_engine + network_destination = "supermatter monitoring system" + size = 5 + requires_ntnet = 1 + var/last_status = SUPERMATTER_INACTIVE + var/list/supermatters + var/obj/machinery/power/supermatter_shard/active // Currently selected supermatter crystal. + + +/datum/computer_file/program/supermatter_monitor/process_tick() + ..() + var/new_status = get_status() + if(last_status != new_status) + last_status = new_status + ui_header = "smmon_[last_status].gif" + program_icon_state = "smmon_[last_status]" + update_computer_icon() + +/datum/computer_file/program/supermatter_monitor/run_program(mob/living/user) + . = ..(user) + refresh() + +/datum/computer_file/program/supermatter_monitor/kill_program(forced = FALSE) + active = null + supermatters = null + ..() + +// Refreshes list of active supermatter crystals +/datum/computer_file/program/supermatter_monitor/proc/refresh() + supermatters = list() + var/turf/T = get_turf(nano_host()) + if(!T) + return + for(var/obj/machinery/power/supermatter_shard/S in atmos_machinery) + // Delaminating, not within coverage, not on a tile. + if(!(S.z == 1 || S.z == 5 || S.z == T.z) || !istype(S.loc, /turf/simulated/)) + continue + supermatters.Add(S) + + if(!(active in supermatters)) + active = null + +/datum/computer_file/program/supermatter_monitor/proc/get_status() + . = SUPERMATTER_INACTIVE + for(var/obj/machinery/power/supermatter_shard/S in supermatters) + . = max(., S.get_status()) + +/datum/computer_file/program/supermatter_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + var/datum/asset/assets = get_asset_datum(/datum/asset/simple/headers) + assets.send(user) + ui = new(user, src, ui_key, "supermatter_monitor.tmpl", "Supermatter Monitoring", 600, 400) + ui.set_auto_update(TRUE) + ui.set_layout_key("program") + ui.open() + +/datum/computer_file/program/supermatter_monitor/ui_data() + var/list/data = get_header_data() + + if(istype(active)) + var/turf/T = get_turf(active) + if(!T) + active = null + refresh() + return + var/datum/gas_mixture/air = T.return_air() + if(!air) + active = null + return + + data["active"] = TRUE + data["SM_integrity"] = active.get_integrity() + data["SM_power"] = active.power + data["SM_ambienttemp"] = air.temperature + data["SM_ambientpressure"] = air.return_pressure() + //data["SM_EPR"] = round((air.total_moles / air.group_multiplier) / 23.1, 0.01) + var/other_moles = 0.0 + for(var/datum/gas/G in air.trace_gases) + other_moles+=G.moles + var/TM = air.total_moles() + if(TM) + data["SM_gas_O2"] = round(100*air.oxygen/TM,0.01) + data["SM_gas_CO2"] = round(100*air.carbon_dioxide/TM,0.01) + data["SM_gas_N2"] = round(100*air.nitrogen/TM,0.01) + data["SM_gas_PL"] = round(100*air.toxins/TM,0.01) + if(other_moles) + data["SM_gas_OTHER"] = round(100*other_moles/TM,0.01) + else + data["SM_gas_OTHER"] = 0 + else + data["SM_gas_O2"] = 0 + data["SM_gas_CO2"] = 0 + data["SM_gas_N2"] = 0 + data["SM_gas_PH"] = 0 + data["SM_gas_OTHER"] = 0 + else + var/list/SMS = list() + for(var/obj/machinery/power/supermatter_shard/S in supermatters) + var/area/A = get_area(S) + if(!A) + continue + + SMS.Add(list(list( + "area_name" = A.name, + "integrity" = S.get_integrity(), + "uid" = S.uid + ))) + + data["active"] = FALSE + data["supermatters"] = SMS + + return data + + +/datum/computer_file/program/supermatter_monitor/Topic(href, href_list) + if(..()) + return 1 + if( href_list["clear"] ) + active = null + return 1 + if( href_list["refresh"] ) + refresh() + return 1 + if( href_list["set"] ) + var/newuid = text2num(href_list["set"]) + for(var/obj/machinery/power/supermatter_shard/S in supermatters) + if(S.uid == newuid) + active = S + return 1 \ No newline at end of file diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 43d418aadf7..c6cce90a278 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -16,6 +16,12 @@ #define WARNING_DELAY 30 //seconds between warnings. +//If integrity percent remaining is less than these values, the monitor sets off the relevant alarm. +#define SUPERMATTER_DELAM_PERCENT 5 +#define SUPERMATTER_EMERGENCY_PERCENT 25 +#define SUPERMATTER_DANGER_PERCENT 50 +#define SUPERMATTER_WARNING_PERCENT 100 + /obj/machinery/power/supermatter_shard name = "supermatter shard" desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." @@ -62,9 +68,23 @@ var/has_been_powered = 0 var/has_reached_emergency = 0 +/obj/machinery/power/supermatter_shard/crystal + name = "supermatter crystal" + desc = "A strangely translucent and iridescent crystal." + base_icon_state = "darkmatter" + icon_state = "darkmatter" + anchored = TRUE + warning_point = 200 + emergency_point = 2000 + explosion_point = 3600 + gasefficency = 0.15 + explosion_power = 35 + + /obj/machinery/power/supermatter_shard/New() . = ..() poi_list |= src + atmos_machinery += src radio = new(src) radio.listening = 0 investigate_log("has been created.", "supermatter") @@ -74,15 +94,16 @@ investigate_log("has been destroyed.", "supermatter") QDEL_NULL(radio) poi_list.Remove(src) + atmos_machinery -= src return ..() /obj/machinery/power/supermatter_shard/proc/explode() investigate_log("has exploded.", "supermatter") - explosion(get_turf(src), explosion_power, explosion_power * 2, explosion_power * 3, explosion_power * 4, 1) + explosion(get_turf(src), explosion_power, explosion_power * 1.2, explosion_power * 1.5, explosion_power * 2, 1, 1) qdel(src) return -/obj/machinery/power/supermatter_shard/process() +/obj/machinery/power/supermatter_shard/process_atmos() var/turf/L = loc if(isnull(L)) // We have a null turf...something is wrong, stop processing this entity. @@ -96,6 +117,7 @@ if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) + alarm() var/stability = num2text(round((damage / explosion_point) * 100)) if(damage > emergency_point) @@ -136,12 +158,12 @@ var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles()) if(!removed || !removed.total_moles()) - damage += max((power-1600)/10, 0) + damage += max((power-1600)/2, 0) power = min(power, 1600) return 1 damage_archived = damage - damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 ) + damage = max( damage + ( (removed.temperature - 800) / 50 ) , 0 ) //Ok, 100% oxygen atmosphere = best reaction //Maxes out at 100% oxygen pressure oxygen = max(min((removed.oxygen - (removed.nitrogen * NITROGEN_RETARDATION_FACTOR)) / MOLES_CELLSTANDARD, 1), 0) @@ -181,6 +203,8 @@ env.merge(removed) + air_update_turf() + for(var/mob/living/carbon/human/l in view(src, min(7, round(sqrt(power/6))))) // If they can see it without mesons on. Bad on them. if(l.glasses && istype(l.glasses, /obj/item/clothing/glasses/meson)) @@ -306,7 +330,6 @@ user.apply_effect(150, IRRADIATE) - /obj/machinery/power/supermatter_shard/Bumped(atom/AM as mob|obj) if(istype(AM, /mob/living)) AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... [AM.p_their(TRUE)] body starts to glow and catch flame before flashing into ash.",\ @@ -346,3 +369,44 @@ "The unearthly ringing subsides and you notice you have new radiation burns.", 2) else L.show_message("You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.", 2) + +#define CRITICAL_TEMPERATURE 10000 + +/obj/machinery/power/supermatter_shard/proc/get_status() + var/turf/T = get_turf(src) + if(!T) + return SUPERMATTER_ERROR + var/datum/gas_mixture/air = T.return_air() + if(!air) + return SUPERMATTER_ERROR + + if(get_integrity() < SUPERMATTER_DELAM_PERCENT) + return SUPERMATTER_DELAMINATING + + if(get_integrity() < SUPERMATTER_EMERGENCY_PERCENT) + return SUPERMATTER_EMERGENCY + + if(get_integrity() < SUPERMATTER_DANGER_PERCENT) + return SUPERMATTER_DANGER + + if((get_integrity() < SUPERMATTER_WARNING_PERCENT) || (air.temperature > CRITICAL_TEMPERATURE)) + return SUPERMATTER_WARNING + + if(air.temperature > (CRITICAL_TEMPERATURE * 0.8)) + return SUPERMATTER_NOTIFY + + if(power > 5) + return SUPERMATTER_NORMAL + return SUPERMATTER_INACTIVE + +/obj/machinery/power/supermatter_shard/proc/alarm() + switch(get_status()) + if(SUPERMATTER_DELAMINATING) + playsound(src, 'sound/misc/bloblarm.ogg', 100) + if(SUPERMATTER_EMERGENCY) + playsound(src, 'sound/machines/engine_alert1.ogg', 100) + if(SUPERMATTER_DANGER) + playsound(src, 'sound/machines/engine_alert2.ogg', 100) + if(SUPERMATTER_WARNING) + playsound(src, 'sound/machines/terminal_alert.ogg', 75) + diff --git a/icons/obj/modular_console.dmi b/icons/obj/modular_console.dmi index 85d6026617f0667c5e82e62a595429667ec64c18..fba8ad59431fad3085b8a3a517cf0f3d718d59bf 100644 GIT binary patch literal 28221 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 literal 26642 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 BK2iVx literal 12499 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 literal 0 HcmV?d00001 diff --git a/icons/program_icons/smmon_3.gif b/icons/program_icons/smmon_3.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc7c8734eedaadc397307f89d92e0be1bca8edd6 GIT binary patch literal 502 zcmZ?wbhEHb)L;-}c*MY9VZrc&fdPmufCP|b!EoTf0ib~5e{Mh5kYH!W09PYD17=2$ z&`%alIR14Q6CO?W|!O$4N_5ma4c6~`dseFN%FVNoO_NQzFenR zG5d_b3ETLyhqdmx%yrfIAT2k|*Yl#qQ_Y$)8dEH{ROou;Y*Tw?6}X~k^0cRm?q?PL z>1DjZxaE%p|Cu|CybL}K29+h;O^hw<^h)Zm-3(SN-Ql_R6BT;o5?{Q-D-brG-=Ya4Y4~vaX{no25ZYX^%30UrL4)oqB z-Rqra7oAJdd28vm_=rzl<%=|icMYb!tCuH#VBlq7WNb9ZF6ClSXk%|^ZLd*p=<4C_ zw(8|7u%FyhF|BLCtQ?=Zz6C5ZR#!}26`ne`tY^!r9ww#+hMgOVo3^grzH|4EJ&8#s s`?sB5y<^ug$CG>q&m3wyGOKjg?K|ZcI*%NE^!Ulmyt^-UaWYr~0GGku00000 literal 0 HcmV?d00001 diff --git a/icons/program_icons/smmon_4.gif b/icons/program_icons/smmon_4.gif new file mode 100644 index 0000000000000000000000000000000000000000..8a75e6e118484dcf821a62459a22ad36e41bfa21 GIT binary patch literal 503 zcmZ?wbhEHb)L;-}c*MY9VZrc&fdPmufCP|b!EoTf0ib~5e{Mh5kYH!W09PYD17=2$ z&`%alIReYv=CVop^Hbp|zz)&gC^%-Mn@7IuFCq2M-@zy}R}H^IMz@)&Tpc-&gvm|AeWfJq(RzZ2hxU zVii|RU&GMMG$&%!LFNB_k$Rs|ExM=C_d~svQsUnqdHS@3%)3gs_L`<&oOJEc8;1>R*Z%1GTjF`8v+00ZK-!dN2@Er&^S^CvJFvFk zZJBvRNiGXxjYOIXUqeZgbQ#E7-0Aftjb0OTnWy@ucTejrpHPxLMIs?gVo85#OD@y= z*fooR_O~$Y+1%N+NN?RPhSq)7`ZG2xJ)OO0ezI$(z_AM#S@zz%b^H89-qr^XA8|5R F0{{t@Dslh- literal 0 HcmV?d00001 diff --git a/icons/program_icons/smmon_6.gif b/icons/program_icons/smmon_6.gif new file mode 100644 index 0000000000000000000000000000000000000000..aea2f87921df6c133a4e245030b159b364354914 GIT binary patch literal 325 zcmZ?wbhEHb)L;-}SjfO&!NBl?f#JY`0}KodivPL&TtkAL9RpmA^bD98K|()SIOQ0a z8FYYb29Op8rq((AD-XO~zsN7F>DS#R3pj`OEH`mktO{My%6 zZPj-V%#c1ab<^?o^z^il)D>nkj2 +
+
+ Core Integrity: +
+
+ {{:helper.displayBar(data.SM_integrity, 0, 100, (data.SM_integrity == 100) ? 'good' : (data.SM_integrity >= 50) ? 'average' : 'bad')}} {{:data.SM_integrity}}% +
+
+ Relative EER: +
+
+ {{if data.SM_power > 300}} + {{:data.SM_power}} MeV/cm3 + {{else data.SM_power > 150}} + {{:data.SM_power}} MeV/cm3 + {{else}} + {{:data.SM_power}} MeV/cm3 + {{/if}} +
+
+ Temperature: +
+
+ {{if data.SM_ambienttemp > 5000}} + {{:data.SM_ambienttemp}} K + {{else data.SM_ambienttemp > 4000}} + {{:data.SM_ambienttemp}} K + {{else}} + {{:data.SM_ambienttemp}} K + {{/if}} +
+
+ Pressure: +
+
+ {{if data.SM_ambientpressure > 10000}} + {{:data.SM_ambientpressure}} kPa + {{else data.SM_ambientpressure > 5000}} + {{:data.SM_ambientpressure}} kPa + {{else}} + {{:data.SM_ambientpressure}} kPa + {{/if}} +
+
+

+
+ Gas Composition: +
+
+
+
+ O2: +
+
+ {{:data.SM_gas_O2}} % +
+
+ CO2: +
+
+ {{:data.SM_gas_CO2}} % +
+
+ N2: +
+
+ {{:data.SM_gas_N2}} % +
+
+ PL: +
+
+ {{:data.SM_gas_PL}} % +
+
+ OTHER: +
+
+ {{:data.SM_gas_OTHER}} % +
+
+
+
+{{else}} + {{:helper.link('Refresh', null, {'refresh' : 1})}}
+ {{for data.supermatters}} +
+
+ Area: +
+
+ {{:value.area_name}} +
+
+ Integrity: +
+
+ {{:value.integrity}} % +
+
+ Options: +
+
+ {{:helper.link('View Details', null, {'set' : value.uid})}} +
+
+ {{/for}} +{{/if}} diff --git a/sound/machines/engine_alert2.ogg b/sound/machines/engine_alert2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..83f693617a72b92c089034092e7543ec95d9019e GIT binary patch literal 20264 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 R08s!m0C+&CHgE<24-bKpcCr8f literal 0 HcmV?d00001 From 495b1b17f360ce2d6756786e6b3846dce8a09520 Mon Sep 17 00:00:00 2001 From: Alffd Date: Thu, 26 Oct 2017 00:07:10 -0400 Subject: [PATCH 054/308] Oops --- paradise.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/paradise.dme b/paradise.dme index 095e5ad2a78..a1fd013545e 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1852,6 +1852,7 @@ #include "code\modules\modular_computers\file_system\programs\command\comms.dm" #include "code\modules\modular_computers\file_system\programs\engineering\alarm.dm" #include "code\modules\modular_computers\file_system\programs\engineering\power_monitor.dm" +#include "code\modules\modular_computers\file_system\programs\engineering\sm_monitor.dm" #include "code\modules\modular_computers\file_system\programs\generic\configurator.dm" #include "code\modules\modular_computers\file_system\programs\generic\file_browser.dm" #include "code\modules\modular_computers\file_system\programs\generic\ntdownloader.dm" From acf2375980d7f71b96bedea403d0f1bf865ae377 Mon Sep 17 00:00:00 2001 From: Alffd Date: Tue, 31 Oct 2017 00:45:59 -0400 Subject: [PATCH 055/308] Check ambition, port updates. --- code/modules/power/supermatter/supermatter.dm | 158 +++++++++++------- 1 file changed, 97 insertions(+), 61 deletions(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index c6cce90a278..53de94b3576 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -1,27 +1,33 @@ -//Ported from /vg/station13, which was in turn forked from baystation12; -//Please do not bother them with bugs from this port, however, as it has been modified quite a bit. -//Modifications include removing the world-ending full supermatter variation, and leaving only the shard. +#define NITROGEN_RETARDATION_FACTOR 0.15 //Higher == N2 slows reaction more +#define THERMAL_RELEASE_MODIFIER 10000 //Higher == more heat released during reaction +#define PLASMA_RELEASE_MODIFIER 1500 //Higher == less phor.. plasma released by reaction +#define OXYGEN_RELEASE_MODIFIER 15000 //Higher == less oxygen released at high temperature/power +#define REACTION_POWER_MODIFIER 1.1 //Higher == more overall power -#define NITROGEN_RETARDATION_FACTOR 2 //Higher == N2 slows reaction more -#define THERMAL_RELEASE_MODIFIER 5 //Higher == less heat released during reaction -#define PLASMA_RELEASE_MODIFIER 750 //Higher == less plasma released by reaction -#define OXYGEN_RELEASE_MODIFIER 325 //Higher == less oxygen released at high temperature/power -#define REACTION_POWER_MODIFIER 0.55 //Higher == more overall power +/* + How to tweak the SM + POWER_FACTOR directly controls how much power the SM puts out at a given level of excitation (power var). Making this lower means you have to work the SM harder to get the same amount of power. + CRITICAL_TEMPERATURE The temperature at which the SM starts taking damage. + CHARGING_FACTOR Controls how much emitter shots excite the SM. + DAMAGE_RATE_LIMIT Controls the maximum rate at which the SM will take damage due to high temperatures. +*/ + +//Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game. +#define POWER_FACTOR 1.0 +#define DECAY_FACTOR 700 //Affects how fast the supermatter power decays +#define CRITICAL_TEMPERATURE 5000 //K +#define CHARGING_FACTOR 0.05 +#define DAMAGE_RATE_LIMIT 4.5 //damage rate cap at power = 300, scales linearly with power -//These would be what you would get at point blank, decreases with distance +// Base variants are applied to everyone on the same Z level +// Range variants are applied on per-range basis: numbers here are on point blank, it scales with the map size (assumes square shaped Z levels) #define DETONATION_RADS 200 #define DETONATION_HALLUCINATION 600 -#define WARNING_DELAY 30 //seconds between warnings. - -//If integrity percent remaining is less than these values, the monitor sets off the relevant alarm. -#define SUPERMATTER_DELAM_PERCENT 5 -#define SUPERMATTER_EMERGENCY_PERCENT 25 -#define SUPERMATTER_DANGER_PERCENT 50 -#define SUPERMATTER_WARNING_PERCENT 100 +#define WARNING_DELAY 20 //seconds between warnings. /obj/machinery/power/supermatter_shard name = "supermatter shard" desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." @@ -41,9 +47,9 @@ var/safe_alert = "Crystalline hyperstructure returning to safe operating levels." var/warning_point = 50 var/warning_alert = "Danger! Crystal hyperstructure instability!" - var/emergency_point = 500 + var/emergency_point = 400 var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT." - var/explosion_point = 900 + var/explosion_point = 600 var/emergency_issued = 0 @@ -57,11 +63,20 @@ //Temporary values so that we can optimize this //How much the bullets damage should be multiplied by when it is added to the internal variables var/config_bullet_energy = 2 - //How much of the power is left after processing is finished? -// var/config_power_reduction_per_tick = 0.5 //How much hallucination should it produce per unit of power? var/config_hallucination_power = 0.1 + var/debug = 0 + + var/disable_adminwarn = FALSE + + var/aw_normal = FALSE + var/aw_notify = FALSE + var/aw_warning = FALSE + var/aw_danger = FALSE + var/aw_emerg = FALSE + var/aw_delam = FALSE + var/obj/item/radio/radio //for logging @@ -77,8 +92,8 @@ warning_point = 200 emergency_point = 2000 explosion_point = 3600 - gasefficency = 0.15 - explosion_power = 35 + gasefficency = 0.25 + explosion_power = 24 /obj/machinery/power/supermatter_shard/New() @@ -89,6 +104,29 @@ radio.listening = 0 investigate_log("has been created.", "supermatter") +/obj/machinery/power/supermatter_shard/proc/handle_admin_warnings() + if(disable_adminwarn) + return + + // Generic checks, similar to checks done by supermatter monitor program. + aw_normal = status_adminwarn_check(SUPERMATTER_NORMAL, aw_normal, "INFO: Supermatter crystal has been energised.", FALSE) + aw_notify = status_adminwarn_check(SUPERMATTER_NOTIFY, aw_notify, "INFO: Supermatter crystal is approaching unsafe operating temperature.", FALSE) + aw_warning = status_adminwarn_check(SUPERMATTER_WARNING, aw_warning, "WARN: Supermatter crystal is taking integrity damage!", FALSE) + aw_danger = status_adminwarn_check(SUPERMATTER_DANGER, aw_danger, "WARN: Supermatter integrity is below 50%!", TRUE) + aw_emerg = status_adminwarn_check(SUPERMATTER_EMERGENCY, aw_emerg, "CRIT: Supermatter integrity is below 25%!", FALSE) + aw_delam = status_adminwarn_check(SUPERMATTER_DELAMINATING, aw_delam, "CRIT: Supermatter is delaminating!", TRUE) + +/obj/machinery/power/supermatter_shard/proc/status_adminwarn_check(var/min_status, var/current_state, var/message, var/send_to_irc = FALSE) + var/status = get_status() + if(status >= min_status) + if(!current_state) + log_and_message_admins(message) + if(send_to_irc) + send2adminirc(message) + return TRUE + else + return FALSE + /obj/machinery/power/supermatter_shard/Destroy() investigate_log("has been destroyed.", "supermatter") @@ -112,9 +150,6 @@ if(!istype(L)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. return //Yeah just stop. - if(istype(L, /turf/space)) // Stop processing this stuff if we've been ejected. - return - if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) alarm() @@ -157,53 +192,56 @@ //Remove gas from surrounding area var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles()) - if(!removed || !removed.total_moles()) - damage += max((power-1600)/2, 0) - power = min(power, 1600) - return 1 + //ensure that damage doesn't increase too quickly due to super high temperatures resulting from no coolant, for example. We dont want the SM exploding before anyone can react. + //We want the cap to scale linearly with power (and explosion_point). Let's aim for a cap of 5 at power = 300 (based on testing, equals roughly 5% per SM alert announcement). + var/damage_inc_limit = (power/300)*(explosion_point/1000)*DAMAGE_RATE_LIMIT + + if(!env || !removed || !removed.total_moles()) + damage += max((power - 15*POWER_FACTOR)/10, 0) + else + damage_archived = damage + + damage = max(0, damage + between(-DAMAGE_RATE_LIMIT, (removed.temperature - CRITICAL_TEMPERATURE) / 150, damage_inc_limit)) - damage_archived = damage - damage = max( damage + ( (removed.temperature - 800) / 50 ) , 0 ) - //Ok, 100% oxygen atmosphere = best reaction //Maxes out at 100% oxygen pressure - oxygen = max(min((removed.oxygen - (removed.nitrogen * NITROGEN_RETARDATION_FACTOR)) / MOLES_CELLSTANDARD, 1), 0) + oxygen = Clamp((removed.oxygen - (removed.nitrogen * NITROGEN_RETARDATION_FACTOR)) / removed.total_moles(), 0, 1) - var/temp_factor = 50 - - if(oxygen > 0.8) - // with a perfect gas mix, make the power less based on heat + var/temp_factor + var/equilibrium_power + if (oxygen > 0.8) + //If chain reacting at oxygen == 1, we want the power at 800 K to stabilize at a power level of 400 + equilibrium_power = 400 icon_state = "[base_icon_state]_glow" else - // in normal mode, base the produced energy around the heat - temp_factor = 30 + //If chain reacting at oxygen == 1, we want the power at 800 K to stabilize at a power level of 250 + equilibrium_power = 250 icon_state = base_icon_state - power = max( (removed.temperature * temp_factor / T0C) * oxygen + power, 0) //Total laser power plus an overload - - //We've generated power, now let's transfer it to the collectors for storing/usage - transfer_energy() + temp_factor = ( (equilibrium_power/DECAY_FACTOR)**3 )/800 + power = max( (removed.temperature * temp_factor) * oxygen + power, 0) var/device_energy = power * REACTION_POWER_MODIFIER - //To figure out how much temperature to add each tick, consider that at one atmosphere's worth - //of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature - //that the device energy is around 2140. At that stage, we don't want too much heat to be put out - //Since the core is effectively "cold" + var/heat_capacity = removed.heat_capacity() - //Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock - //is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall. - removed.temperature += (device_energy / THERMAL_RELEASE_MODIFIER) - - removed.temperature = max(0, min(removed.temperature, 2500)) - - //Calculate how much gas to release removed.toxins += max(device_energy / PLASMA_RELEASE_MODIFIER, 0) removed.oxygen += max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0) + var/thermal_power = THERMAL_RELEASE_MODIFIER * device_energy + if (debug) + var/heat_capacity_new = removed.heat_capacity() + visible_message("[src]: Releasing [round(thermal_power)] W.") + visible_message("[src]: Releasing additional [round((heat_capacity_new - heat_capacity)*removed.temperature)] W with exhaust gasses.") + + removed.temperature += (device_energy) + + removed.temperature = max(0, min(removed.temperature, 10000)) + env.merge(removed) air_update_turf() + transfer_energy() for(var/mob/living/carbon/human/l in view(src, min(7, round(sqrt(power/6))))) // If they can see it without mesons on. Bad on them. @@ -220,7 +258,8 @@ var/rads = (power / 10) * sqrt( 1 / max(get_dist(l, src),1) ) l.apply_effect(rads, IRRADIATE) - power -= (power/500)**3 + power -= (power/DECAY_FACTOR)**3 + handle_admin_warnings() return 1 @@ -380,16 +419,13 @@ if(!air) return SUPERMATTER_ERROR - if(get_integrity() < SUPERMATTER_DELAM_PERCENT) - return SUPERMATTER_DELAMINATING - - if(get_integrity() < SUPERMATTER_EMERGENCY_PERCENT) + if(get_integrity() < 25) return SUPERMATTER_EMERGENCY - if(get_integrity() < SUPERMATTER_DANGER_PERCENT) + if(get_integrity() < 50) return SUPERMATTER_DANGER - if((get_integrity() < SUPERMATTER_WARNING_PERCENT) || (air.temperature > CRITICAL_TEMPERATURE)) + if((get_integrity() < 100) || (air.temperature > CRITICAL_TEMPERATURE)) return SUPERMATTER_WARNING if(air.temperature > (CRITICAL_TEMPERATURE * 0.8)) From 23988e92dc08935ffda6a0634f120b2f0105818f Mon Sep 17 00:00:00 2001 From: Alffd Date: Sat, 25 Nov 2017 17:34:54 -0500 Subject: [PATCH 056/308] Add rad alarm --- code/modules/power/supermatter/supermatter.dm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 53de94b3576..becf374610f 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -153,6 +153,7 @@ if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) alarm() + emergency_lighting(1) var/stability = num2text(round((damage / explosion_point) * 100)) if(damage > emergency_point) @@ -169,6 +170,7 @@ else // Phew, we're safe radio.autosay("[safe_alert]", src.name) + emergency_lighting(0) lastwarning = world.timeofday if(damage > explosion_point) @@ -185,6 +187,7 @@ mob.apply_effect(rads, IRRADIATE) explode() + emergency_lighting(0) //Ok, get the air from the turf var/datum/gas_mixture/env = L.return_air() @@ -446,3 +449,12 @@ if(SUPERMATTER_WARNING) playsound(src, 'sound/machines/terminal_alert.ogg', 75) +/obj/machinery/power/supermatter_shard/proc/emergency_lighting(var/active) + for(var/area/A in world) + if(!is_station_level(A.z)) + continue + if(active) + A.radiation_alert() + else + A.reset_radiation_alert() + From d16f1a71f68ceeeb4470cdf0a372425cae823085 Mon Sep 17 00:00:00 2001 From: Alffd Date: Tue, 6 Feb 2018 21:22:29 -0500 Subject: [PATCH 057/308] Space changes --- .../file_system/programs/engineering/sm_monitor.dm | 8 ++++---- code/modules/power/supermatter/supermatter.dm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index b05783e2bcb..e73effaec8d 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -123,15 +123,15 @@ /datum/computer_file/program/supermatter_monitor/Topic(href, href_list) if(..()) return 1 - if( href_list["clear"] ) + if(href_list["clear"]) active = null return 1 - if( href_list["refresh"] ) + if(href_list["refresh"]) refresh() return 1 - if( href_list["set"] ) + if(href_list["set"]) var/newuid = text2num(href_list["set"]) for(var/obj/machinery/power/supermatter_shard/S in supermatters) if(S.uid == newuid) active = S - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index becf374610f..034ddb17705 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -211,7 +211,7 @@ var/temp_factor var/equilibrium_power - if (oxygen > 0.8) + if(oxygen > 0.8) //If chain reacting at oxygen == 1, we want the power at 800 K to stabilize at a power level of 400 equilibrium_power = 400 icon_state = "[base_icon_state]_glow" @@ -220,8 +220,8 @@ equilibrium_power = 250 icon_state = base_icon_state - temp_factor = ( (equilibrium_power/DECAY_FACTOR)**3 )/800 - power = max( (removed.temperature * temp_factor) * oxygen + power, 0) + temp_factor = ((equilibrium_power / DECAY_FACTOR) ** 3) / 800 + power = max((removed.temperature * temp_factor) * oxygen + power, 0) var/device_energy = power * REACTION_POWER_MODIFIER @@ -232,7 +232,7 @@ removed.oxygen += max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0) var/thermal_power = THERMAL_RELEASE_MODIFIER * device_energy - if (debug) + if(debug) var/heat_capacity_new = removed.heat_capacity() visible_message("[src]: Releasing [round(thermal_power)] W.") visible_message("[src]: Releasing additional [round((heat_capacity_new - heat_capacity)*removed.temperature)] W with exhaust gasses.") From 27ebae4c0366b7534516643178407e2d95e75aa2 Mon Sep 17 00:00:00 2001 From: Alffd Date: Sat, 24 Feb 2018 23:53:29 -0500 Subject: [PATCH 058/308] Fox changes --- .../file_system/programs/engineering/sm_monitor.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index e73effaec8d..f08218003fb 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -5,10 +5,9 @@ program_icon_state = "smmon_0" extended_desc = "This program connects to specially calibrated supermatter sensors to provide information on the status of supermatter-based engines." requires_ntnet = TRUE - transfer_access = access_engine + transfer_access = access_construction network_destination = "supermatter monitoring system" size = 5 - requires_ntnet = 1 var/last_status = SUPERMATTER_INACTIVE var/list/supermatters var/obj/machinery/power/supermatter_shard/active // Currently selected supermatter crystal. @@ -21,7 +20,8 @@ last_status = new_status ui_header = "smmon_[last_status].gif" program_icon_state = "smmon_[last_status]" - update_computer_icon() + if(istype(computer)) + computer.update_icon() /datum/computer_file/program/supermatter_monitor/run_program(mob/living/user) . = ..(user) @@ -122,16 +122,16 @@ /datum/computer_file/program/supermatter_monitor/Topic(href, href_list) if(..()) - return 1 + return TRUE if(href_list["clear"]) active = null - return 1 + return TRUE if(href_list["refresh"]) refresh() - return 1 + return TRUE if(href_list["set"]) var/newuid = text2num(href_list["set"]) for(var/obj/machinery/power/supermatter_shard/S in supermatters) if(S.uid == newuid) active = S - return 1 + return TRUE From aa0c1f1da6d035ebf63fb5f60a30b4a7f274b8d1 Mon Sep 17 00:00:00 2001 From: Alffd Date: Sun, 25 Feb 2018 00:07:55 -0500 Subject: [PATCH 059/308] Level check procs --- .../file_system/programs/engineering/sm_monitor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index f08218003fb..42fe34e16a2 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -40,7 +40,7 @@ return for(var/obj/machinery/power/supermatter_shard/S in atmos_machinery) // Delaminating, not within coverage, not on a tile. - if(!(S.z == 1 || S.z == 5 || S.z == T.z) || !istype(S.loc, /turf/simulated/)) + if(!(is_station_level(S.z) || is_mining_level(S.z) || S.z == T.z) || !istype(S.loc, /turf/simulated/)) continue supermatters.Add(S) From 5da3c756fd04cf0a5e9bbf2165be0c11f51caa90 Mon Sep 17 00:00:00 2001 From: Alffd Date: Wed, 21 Mar 2018 20:40:23 -0400 Subject: [PATCH 060/308] I am sure it will be fine --- code/modules/power/supermatter/supermatter.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 034ddb17705..6c7f0309882 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -56,6 +56,7 @@ var/explosion_power = 8 var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning + var/last_zap = 0 // Time in 1/10th of seconds since the last tesla zap var/power = 0 var/oxygen = 0 // Moving this up here for easier debugging. @@ -104,6 +105,7 @@ radio.listening = 0 investigate_log("has been created.", "supermatter") + /obj/machinery/power/supermatter_shard/proc/handle_admin_warnings() if(disable_adminwarn) return @@ -189,6 +191,10 @@ explode() emergency_lighting(0) + if(damage > warning_point && world.timeofday > last_zap) + last_zap = world.timeofday + rand(80,200) + supermatter_zap() + //Ok, get the air from the turf var/datum/gas_mixture/env = L.return_air() @@ -283,6 +289,7 @@ has_been_powered = 1 else damage += Proj.damage * config_bullet_energy + supermatter_zap() return 0 /obj/machinery/power/supermatter_shard/singularity_act() @@ -400,6 +407,8 @@ qdel(AM) power += 200 + supermatter_zap() + //Some poor sod got eaten, go ahead and irradiate people nearby. for(var/mob/living/L in range(10)) @@ -457,4 +466,7 @@ A.radiation_alert() else A.reset_radiation_alert() - + +/obj/machinery/power/supermatter_shard/proc/supermatter_zap() + playsound(src.loc, 'sound/magic/LightningShock.ogg', 100, 1, extrarange = 5) + tesla_zap(src, 10, max(1000,power * damage / explosion_point)) \ No newline at end of file From cdbc5dae9841eef5438ebd6a1910ebdcf1a9a3bd Mon Sep 17 00:00:00 2001 From: Alffd Date: Fri, 8 Jun 2018 21:31:33 +0200 Subject: [PATCH 061/308] Fixes for crazy --- .../programs/engineering/sm_monitor.dm | 2 +- code/modules/power/supermatter/supermatter.dm | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index 42fe34e16a2..cd2ad3103db 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -40,7 +40,7 @@ return for(var/obj/machinery/power/supermatter_shard/S in atmos_machinery) // Delaminating, not within coverage, not on a tile. - if(!(is_station_level(S.z) || is_mining_level(S.z) || S.z == T.z) || !istype(S.loc, /turf/simulated/)) + if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !istype(S.loc, /turf/simulated/))) continue supermatters.Add(S) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 6c7f0309882..c9ceeb95816 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -100,6 +100,8 @@ /obj/machinery/power/supermatter_shard/New() . = ..() poi_list |= src + //Added to the atmos_machine process as the SM is highly coupled with the atmospherics system. + //Having the SM run at a different rate then atmospherics causes odd behavior. atmos_machinery += src radio = new(src) radio.listening = 0 @@ -111,12 +113,12 @@ return // Generic checks, similar to checks done by supermatter monitor program. - aw_normal = status_adminwarn_check(SUPERMATTER_NORMAL, aw_normal, "INFO: Supermatter crystal has been energised.", FALSE) - aw_notify = status_adminwarn_check(SUPERMATTER_NOTIFY, aw_notify, "INFO: Supermatter crystal is approaching unsafe operating temperature.", FALSE) - aw_warning = status_adminwarn_check(SUPERMATTER_WARNING, aw_warning, "WARN: Supermatter crystal is taking integrity damage!", FALSE) - aw_danger = status_adminwarn_check(SUPERMATTER_DANGER, aw_danger, "WARN: Supermatter integrity is below 50%!", TRUE) - aw_emerg = status_adminwarn_check(SUPERMATTER_EMERGENCY, aw_emerg, "CRIT: Supermatter integrity is below 25%!", FALSE) - aw_delam = status_adminwarn_check(SUPERMATTER_DELAMINATING, aw_delam, "CRIT: Supermatter is delaminating!", TRUE) + aw_normal = status_adminwarn_check(SUPERMATTER_NORMAL, aw_normal, "INFO: Supermatter crystal has been energised.(JMP).", FALSE) + aw_notify = status_adminwarn_check(SUPERMATTER_NOTIFY, aw_notify, "INFO: Supermatter crystal is approaching unsafe operating temperature.(JMP).", FALSE) + aw_warning = status_adminwarn_check(SUPERMATTER_WARNING, aw_warning, "WARN: Supermatter crystal is taking integrity damage!(JMP).", FALSE) + aw_danger = status_adminwarn_check(SUPERMATTER_DANGER, aw_danger, "WARN: Supermatter integrity is below 50%!(JMP).", TRUE) + aw_emerg = status_adminwarn_check(SUPERMATTER_EMERGENCY, aw_emerg, "CRIT: Supermatter integrity is below 25%!(JMP).", FALSE) + aw_delam = status_adminwarn_check(SUPERMATTER_DELAMINATING, aw_delam, "CRIT: Supermatter is delaminating!(JMP).", TRUE) /obj/machinery/power/supermatter_shard/proc/status_adminwarn_check(var/min_status, var/current_state, var/message, var/send_to_irc = FALSE) var/status = get_status() @@ -132,6 +134,8 @@ /obj/machinery/power/supermatter_shard/Destroy() investigate_log("has been destroyed.", "supermatter") + if(damage > emergency_point) + emergency_lighting(0) QDEL_NULL(radio) poi_list.Remove(src) atmos_machinery -= src @@ -218,11 +222,11 @@ var/temp_factor var/equilibrium_power if(oxygen > 0.8) - //If chain reacting at oxygen == 1, we want the power at 800 K to stabilize at a power level of 400 + //If chain reacting at oxygen > 0.8, we want the power at 800 K to stabilize at a power level of 400 equilibrium_power = 400 icon_state = "[base_icon_state]_glow" else - //If chain reacting at oxygen == 1, we want the power at 800 K to stabilize at a power level of 250 + //Otherwise, we want the power at 800 K to stabilize at a power level of 250 equilibrium_power = 250 icon_state = base_icon_state @@ -295,7 +299,7 @@ /obj/machinery/power/supermatter_shard/singularity_act() var/gain = 100 investigate_log("Supermatter shard consumed by singularity.","singulo") - message_admins("Singularity has consumed a supermatter shard and can now become stage six.") + message_admins("Singularity has consumed a supermatter shard and can now become stage six.(JMP).") visible_message("[src] is consumed by the singularity!") for(var/mob/M in mob_list) M << 'sound/effects/supermatter.ogg' //everyone gunna know bout this From 8a6a33bd4b707f477e826db2453ee2255a5470c7 Mon Sep 17 00:00:00 2001 From: Alffd Date: Mon, 11 Jun 2018 21:11:18 -0400 Subject: [PATCH 062/308] Fix non-existant icon status and tablet icon offsets --- code/__DEFINES/machines.dm | 6 +++--- .../programs/engineering/sm_monitor.dm | 6 ++++-- code/modules/power/supermatter/supermatter.dm | 9 ++++++--- icons/obj/modular_tablet.dmi | Bin 3260 -> 3249 bytes 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 35701e7f5b3..19af05f12af 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -89,6 +89,6 @@ #define SUPERMATTER_NORMAL 1 // Normal operation #define SUPERMATTER_NOTIFY 2 // Ambient temp > 80% of CRITICAL_TEMPERATURE #define SUPERMATTER_WARNING 3 // Ambient temp > CRITICAL_TEMPERATURE OR integrity damaged -#define SUPERMATTER_DANGER 4 // Integrity < 50% -#define SUPERMATTER_EMERGENCY 5 // Integrity < 25% -#define SUPERMATTER_DELAMINATING 6 // Pretty obvious. +#define SUPERMATTER_DANGER 4 // Integrity < 75% +#define SUPERMATTER_EMERGENCY 5 // Integrity < 50% +#define SUPERMATTER_DELAMINATING 6 // Pretty obvious, Integrity < 25% diff --git a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm index cd2ad3103db..db9081f6ad1 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/sm_monitor.dm @@ -18,6 +18,8 @@ var/new_status = get_status() if(last_status != new_status) last_status = new_status + if(last_status == SUPERMATTER_ERROR) + last_status = SUPERMATTER_INACTIVE ui_header = "smmon_[last_status].gif" program_icon_state = "smmon_[last_status]" if(istype(computer)) @@ -38,7 +40,7 @@ var/turf/T = get_turf(nano_host()) if(!T) return - for(var/obj/machinery/power/supermatter_shard/S in atmos_machinery) + for(var/obj/machinery/power/supermatter_shard/S in SSair.atmos_machinery) // Delaminating, not within coverage, not on a tile. if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !istype(S.loc, /turf/simulated/))) continue @@ -53,7 +55,7 @@ . = max(., S.get_status()) /datum/computer_file/program/supermatter_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open) + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) var/datum/asset/assets = get_asset_datum(/datum/asset/simple/headers) assets.send(user) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index c9ceeb95816..6bd582703d7 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -102,7 +102,7 @@ poi_list |= src //Added to the atmos_machine process as the SM is highly coupled with the atmospherics system. //Having the SM run at a different rate then atmospherics causes odd behavior. - atmos_machinery += src + SSair.atmos_machinery += src radio = new(src) radio.listening = 0 investigate_log("has been created.", "supermatter") @@ -138,7 +138,7 @@ emergency_lighting(0) QDEL_NULL(radio) poi_list.Remove(src) - atmos_machinery -= src + SSair.atmos_machinery -= src return ..() /obj/machinery/power/supermatter_shard/proc/explode() @@ -436,9 +436,12 @@ return SUPERMATTER_ERROR if(get_integrity() < 25) - return SUPERMATTER_EMERGENCY + return SUPERMATTER_DELAMINATING if(get_integrity() < 50) + return SUPERMATTER_EMERGENCY + + if(get_integrity() < 75) return SUPERMATTER_DANGER if((get_integrity() < 100) || (air.temperature > CRITICAL_TEMPERATURE)) diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi index d1357a58406587949772c857e34781461bf0909f..a6e3223a8d0821e51ebba2a6c8ca49483b01e4c4 100644 GIT binary patch delta 2735 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 P(Dre2_H?Ro3?=;+H!C#? delta 2746 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 From 0a6f13163d6513332676334b82a5a82e4cbb6316 Mon Sep 17 00:00:00 2001 From: Alffd Date: Tue, 19 Jun 2018 21:54:11 -0400 Subject: [PATCH 063/308] Fix UI gifs not being in asset cache/loading in header --- code/modules/client/asset_cache.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index d3dd6a5438b..471c1334bf8 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -246,6 +246,13 @@ proc/getFilesSlow(var/client/client, var/list/files, var/register_asset = TRUE) "sig_low.gif" = 'icons/program_icons/sig_low.gif', "sig_lan.gif" = 'icons/program_icons/sig_lan.gif', "sig_none.gif" = 'icons/program_icons/sig_none.gif', + "smmon_0.gif" = 'icons/program_icons/smmon_0.gif', + "smmon_1.gif" = 'icons/program_icons/smmon_1.gif', + "smmon_2.gif" = 'icons/program_icons/smmon_2.gif', + "smmon_3.gif" = 'icons/program_icons/smmon_3.gif', + "smmon_4.gif" = 'icons/program_icons/smmon_4.gif', + "smmon_5.gif" = 'icons/program_icons/smmon_5.gif', + "smmon_6.gif" = 'icons/program_icons/smmon_6.gif', ) /datum/asset/nanoui From a081befbc275fbf122913cd206a613de0743ea0a Mon Sep 17 00:00:00 2001 From: Alffd Date: Thu, 21 Jun 2018 21:24:18 -0400 Subject: [PATCH 064/308] Fox helped me fix. --- code/modules/power/supermatter/supermatter.dm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 6bd582703d7..0055d513deb 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -465,14 +465,11 @@ if(SUPERMATTER_WARNING) playsound(src, 'sound/machines/terminal_alert.ogg', 75) -/obj/machinery/power/supermatter_shard/proc/emergency_lighting(var/active) - for(var/area/A in world) - if(!is_station_level(A.z)) - continue - if(active) - A.radiation_alert() - else - A.reset_radiation_alert() +/obj/machinery/power/supermatter_shard/proc/emergency_lighting(active) + if(active) + post_status("alert", "radiation") + else + post_status("shuttle") /obj/machinery/power/supermatter_shard/proc/supermatter_zap() playsound(src.loc, 'sound/magic/LightningShock.ogg', 100, 1, extrarange = 5) From 12c62e36f9959b3f6af6738ab2ca903e80a16f83 Mon Sep 17 00:00:00 2001 From: Alffd Date: Fri, 22 Jun 2018 23:03:18 -0400 Subject: [PATCH 065/308] Alert changes --- code/__DEFINES/machines.dm | 1 + code/modules/power/supermatter/supermatter.dm | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 19af05f12af..809567a0a75 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -84,6 +84,7 @@ #define TARGET_DEPT_ENG 5 // These are used by supermatter and supermatter monitor program, mostly for UI updating purposes. Higher should always be worse! +// These are warning defines, they should trigger before the state, not after. #define SUPERMATTER_ERROR -1 // Unknown status, shouldn't happen but just in case. #define SUPERMATTER_INACTIVE 0 // No or minimal energy #define SUPERMATTER_NORMAL 1 // Normal operation diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 0055d513deb..fd031f987c6 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -116,8 +116,8 @@ aw_normal = status_adminwarn_check(SUPERMATTER_NORMAL, aw_normal, "INFO: Supermatter crystal has been energised.(JMP).", FALSE) aw_notify = status_adminwarn_check(SUPERMATTER_NOTIFY, aw_notify, "INFO: Supermatter crystal is approaching unsafe operating temperature.(JMP).", FALSE) aw_warning = status_adminwarn_check(SUPERMATTER_WARNING, aw_warning, "WARN: Supermatter crystal is taking integrity damage!(JMP).", FALSE) - aw_danger = status_adminwarn_check(SUPERMATTER_DANGER, aw_danger, "WARN: Supermatter integrity is below 50%!(JMP).", TRUE) - aw_emerg = status_adminwarn_check(SUPERMATTER_EMERGENCY, aw_emerg, "CRIT: Supermatter integrity is below 25%!(JMP).", FALSE) + aw_danger = status_adminwarn_check(SUPERMATTER_DANGER, aw_danger, "WARN: Supermatter integrity is below 75%!(JMP).", TRUE) + aw_emerg = status_adminwarn_check(SUPERMATTER_EMERGENCY, aw_emerg, "CRIT: Supermatter integrity is below 50%!(JMP).", FALSE) aw_delam = status_adminwarn_check(SUPERMATTER_DELAMINATING, aw_delam, "CRIT: Supermatter is delaminating!(JMP).", TRUE) /obj/machinery/power/supermatter_shard/proc/status_adminwarn_check(var/min_status, var/current_state, var/message, var/send_to_irc = FALSE) @@ -473,4 +473,4 @@ /obj/machinery/power/supermatter_shard/proc/supermatter_zap() playsound(src.loc, 'sound/magic/LightningShock.ogg', 100, 1, extrarange = 5) - tesla_zap(src, 10, max(1000,power * damage / explosion_point)) \ No newline at end of file + tesla_zap(src, 10, max(1000,power * damage / explosion_point)) From 4fec0d6b0abe3da771cbe768ac0abc5ba24140b7 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 24 Jun 2018 09:45:35 -0700 Subject: [PATCH 066/308] Small refactor of posibrain to keep things clean --- .../mob/living/carbon/brain/posibrain.dm | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index f5e575dccaf..b7188a0286a 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -15,10 +15,6 @@ var/silenced = 0 //if set to 1, they can't talk. var/next_ping_at = 0 -/obj/item/mmi/posibrain/examine(mob/user) - if(..(user, 1)) - to_chat(user, "Its speaker is turned [silenced ? "off" : "on"].") - /obj/item/mmi/posibrain/attack_self(mob/user) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. @@ -144,23 +140,24 @@ /obj/item/mmi/posibrain/examine(mob/user) + to_chat(user, "Its speaker is turned [silenced ? "off" : "on"].") to_chat(user, "*---------*") if(!..(user)) to_chat(user, "*---------*") return - var/msg = "" + var/list/msg = "" - if(src.brainmob && src.brainmob.key) - switch(src.brainmob.stat) + if(brainmob && brainmob.key) + switch(brainmob.stat) if(CONSCIOUS) - if(!src.brainmob.client) msg += "It appears to be in stand-by mode.\n" //afk - if(UNCONSCIOUS) msg += "It doesn't seem to be responsive.\n" - if(DEAD) msg += "It appears to be completely inactive.\n" + if(!brainmob.client) msg += "It appears to be in stand-by mode." //afk + if(UNCONSCIOUS) msg += "It doesn't seem to be responsive." + if(DEAD) msg += "It appears to be completely inactive." else - msg += "It appears to be completely inactive.\n" + msg += "It appears to be completely inactive." msg += "*---------*" - to_chat(user, msg) + to_chat(user, msg.Join("\n")) /obj/item/mmi/posibrain/emp_act(severity) if(!src.brainmob) @@ -201,5 +198,5 @@ M.show_message("The positronic brain pings softly.") /obj/item/mmi/posibrain/ipc - desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'." + desc = "A cube of shining metal, four inches to a side and covered in shallow grooves." silenced = 1 From be4a1e426dd656ade8d7f0d78e5c037c16e649fc Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 24 Jun 2018 12:56:39 -0700 Subject: [PATCH 067/308] Adds a radio MMI upgrade module, printable in the mech fab Can be uninstalled with a screwdriver --- code/modules/mob/living/carbon/brain/MMI.dm | 180 +++++++++++++----- .../mob/living/carbon/brain/MMI_radio.dm | 5 + .../mob/living/carbon/brain/posibrain.dm | 22 ++- code/modules/mob/living/carbon/brain/say.dm | 14 +- .../modules/mob/living/silicon/robot/robot.dm | 19 +- code/modules/nano/interaction/default.dm | 16 +- .../research/designs/medical_designs.dm | 14 +- paradise.dme | 1 + 8 files changed, 200 insertions(+), 71 deletions(-) create mode 100644 code/modules/mob/living/carbon/brain/MMI_radio.dm diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 99d5c795eb5..7b0e58ba5eb 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -16,6 +16,9 @@ var/obj/mecha/mecha = null//This does not appear to be used outside of reference in mecha.dm. // I'm using this for mechs giving MMIs HUDs now + var/obj/item/radio/radio = null // For use with the radio MMI upgrade + var/datum/action/generic/configure_mmi_radio/radio_action = null + /obj/item/mmi/attackby(var/obj/item/O as obj, var/mob/user as mob, params) if(istype(O, /obj/item/organ/internal/brain/crystal )) to_chat(user, " This brain is too malformed to be able to use with the [src].") @@ -29,34 +32,70 @@ to_chat(user, "Somehow, this MMI still has a brain in it. Report this to the bug tracker.") log_runtime(EXCEPTION("[user] tried to stick a [O] into [src] in [get_area(src)], but the held brain variable wasn't cleared"), src) return - for(var/mob/V in viewers(src, null)) - V.show_message("[user] sticks \a [O] into \the [src].") - brainmob = B.brainmob - B.brainmob = null - brainmob.loc = src - brainmob.container = src - brainmob.stat = CONSCIOUS - respawnable_list -= brainmob - dead_mob_list -= brainmob//Update dem lists - living_mob_list += brainmob + if(user.drop_item()) + B.forceMove(src) + visible_message("[user] sticks \a [O] into \the [src].") + brainmob = B.brainmob + B.brainmob = null + brainmob.loc = src + brainmob.container = src + brainmob.stat = CONSCIOUS + respawnable_list -= brainmob + dead_mob_list -= brainmob//Update dem lists + living_mob_list += brainmob - user.drop_item() - B.forceMove(src) - held_brain = B - if(istype(O,/obj/item/organ/internal/brain/xeno)) // kept the type check, as it still does other weird stuff - name = "Man-Machine Interface: Alien - [brainmob.real_name]" - icon = 'icons/mob/alien.dmi' - icon_state = "AlienMMI" - alien = 1 + held_brain = B + if(istype(O,/obj/item/organ/internal/brain/xeno)) // kept the type check, as it still does other weird stuff + name = "Man-Machine Interface: Alien - [brainmob.real_name]" + icon = 'icons/mob/alien.dmi' + become_occupied("AlienMMI") + alien = 1 + else + name = "Man-Machine Interface: [brainmob.real_name]" + icon = B.mmi_icon + become_occupied("[B.mmi_icon_state]") + alien = 0 + + if(radio_action) + radio_action.UpdateButtonIcon() + feedback_inc("cyborg_mmis_filled",1) else - name = "Man-Machine Interface: [brainmob.real_name]" - icon = B.mmi_icon - icon_state = "[B.mmi_icon_state]" - alien = 0 - feedback_inc("cyborg_mmis_filled",1) + to_chat(user, "You can't drop [B]!") return + if(istype(O, /obj/item/mmi_radio_upgrade)) + if(radio) + to_chat(user, "[src] already has a radio installed.") + else + user.visible_message("[user] begins to install the [O] into [src]...", \ + "You start to install the [O] into [src]...") + if(do_after(user, 20, target=src)) + if(user.drop_item()) + user.visible_message("[user] installs [O] in [src].", \ + "You install [O] in [src].") + if(brainmob) + to_chat(brainmob, "MMI radio capability installed.") + install_radio() + qdel(O) + else + to_chat(user, "You can't drop [O]!") + return + + // Maybe later add encryption key support, but that's a pain in the neck atm + if(isscrewdriver(O)) + if(radio) + user.visible_message("[user] begins to uninstall the radio from [src]...", \ + "You start to uninstall the radio from [src]...") + if(do_after(user, 40 * O.toolspeed, target = src)) + uninstall_radio() + new /obj/item/mmi_radio_upgrade(get_turf(src)) + user.visible_message("[user] uninstalls the radio from [src].", \ + "You uninstall the radio from [src].") + else + to_chat(user, "There is no radio in [src]!") + return + if(brainmob) O.attack(brainmob, user)//Oh noooeeeee // Brainmobs can take damage, but they can't actually die. Maybe should fix. @@ -93,8 +132,7 @@ held_brain.name = "\the [brainmob.name]'s [initial(held_brain.name)]" name = "Man-Machine Interface: [brainmob.real_name]" - icon_state = "mmi_full" - return + become_occupied("mmi_full") //I made this proc as a way to have a brainmob be transferred to any created brain, and to solve the //problem i was having with alien/nonalien brain drops. @@ -116,31 +154,54 @@ held_brain.forceMove(dropspot) held_brain = null +/obj/item/mmi/proc/become_occupied(var/new_icon) + icon_state = new_icon + if(radio) + radio_action.ApplyIcon() -/obj/item/mmi/radio_enabled - name = "Radio-enabled Man-Machine Interface" - desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio." - origin_tech = "biotech=2;programming=3;engineering=2;magnets=2" +/obj/item/mmi/examine(mob/user) + . = ..() + if(radio) + to_chat(user, "A radio is installed on [src].") - var/obj/item/radio/radio = null//Let's give it a radio. +/obj/item/mmi/proc/install_radio() + radio = new(src) + radio.broadcasting = TRUE + radio_action = new(radio, src) + if(brainmob && brainmob.loc == src) + radio_action.Grant(brainmob) -/obj/item/mmi/radio_enabled/New() - ..() - radio = new(src)//Spawns a radio inside the MMI. - radio.broadcasting = 1//So it's broadcasting from the start. +/obj/item/mmi/proc/uninstall_radio() + QDEL_NULL(radio) + QDEL_NULL(radio_action) -/obj/item/mmi/radio_enabled/verb/Toggle_Listening() - set name = "Toggle Listening" - set desc = "Toggle listening channel on or off." - set category = "MMI" - set src = usr.loc - set popup_menu = 0 +/datum/action/generic/configure_mmi_radio + name = "Configure MMI Radio" + desc = "Configure the radio installed in your MMI." + check_flags = AB_CHECK_CONSCIOUS + procname = "ui_interact" + var/obj/item/mmi = null - if(brainmob.stat) - to_chat(brainmob, "Can't do that while incapacitated or dead.") +/datum/action/generic/configure_mmi_radio/New(var/Target, var/obj/item/mmi/M) + . = ..() + mmi = M - radio.listening = radio.listening==1 ? 0 : 1 - to_chat(brainmob, "Radio is [radio.listening==1 ? "now" : "no longer"] receiving broadcast.") +/datum/action/generic/configure_mmi_radio/Destroy() + mmi = null + return ..() + +/datum/action/generic/configure_mmi_radio/ApplyIcon(obj/screen/movable/action_button/current_button) + // A copy/paste of the item action icon code + current_button.overlays.Cut() + if(target) + var/obj/item/I = mmi + var/old_layer = I.layer + var/old_plane = I.plane + I.layer = 21 + I.plane = HUD_PLANE + current_button.overlays += I + I.layer = old_layer + I.plane = old_plane /obj/item/mmi/emp_act(severity) if(!brainmob) @@ -168,8 +229,22 @@ borg.mmi = null QDEL_NULL(brainmob) QDEL_NULL(held_brain) + QDEL_NULL(radio) + QDEL_NULL(radio_action) return ..() +// These two procs are important for when an MMI pilots a mech +// (Brainmob "enters/leaves" the MMI when piloting) +// Also neatly handles basically every case where a brain +// is inserted or removed from an MMI +/obj/item/mmi/Entered(atom/movable/A) + if(radio && istype(A, /mob/living/carbon/brain)) + radio_action.Grant(A) + +/obj/item/mmi/Exited(atom/movable/A) + if(radio && istype(A, /mob/living/carbon/brain)) + radio_action.Remove(A) + /obj/item/mmi/syndie name = "Syndicate Man-Machine Interface" desc = "Syndicate's own brand of MMI. It enforces laws designed to help Syndicate agents achieve their goals upon cyborgs created with it, but doesn't fit in Nanotrasen AI cores." @@ -197,3 +272,20 @@ holder.insert(H) return 1 + +// As a synthetic, the only limit on visibility is view range +/obj/item/mmi/contents_nano_distance(var/src_object, var/mob/living/user) + if((src_object in view(src)) && get_dist(src_object, src) <= user.client.view) + return STATUS_INTERACTIVE // interactive (green visibility) + return user.shared_living_nano_distance(src_object) + +// For now the only thing that is helped by this is radio access +// Later a more intricate system for MMI UI interaction can be established +/obj/item/mmi/contents_nano_interact(var/src_object, var/mob/living/user) + if(!istype(user, /mob/living/carbon/brain)) + log_runtime(EXCEPTION("Somehow a non-brain mob is inside an MMI!"), user) + return ..() + var/mob/living/carbon/brain/BM = user + if(BM.container == src && src_object == radio) + return STATUS_INTERACTIVE + return ..() diff --git a/code/modules/mob/living/carbon/brain/MMI_radio.dm b/code/modules/mob/living/carbon/brain/MMI_radio.dm new file mode 100644 index 00000000000..6eeaa44a42c --- /dev/null +++ b/code/modules/mob/living/carbon/brain/MMI_radio.dm @@ -0,0 +1,5 @@ +/obj/item/mmi_radio_upgrade + name = "MMI radio upgrade" + desc = "Enables radio capability on MMIs when either installed directly on the MMI, or through a cyborg's chassis." + icon = 'icons/obj/module.dmi' + icon_state = "cyborg_upgrade1" diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index b7188a0286a..ab9c72373a1 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -81,7 +81,9 @@ if(H.mind) H.mind.transfer_to(brainmob) to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a metal cube.") - icon_state = "posibrain-occupied" + become_occupied("posibrain-occupied") + if(radio) + radio_action.ApplyIcon() return /obj/item/mmi/posibrain/proc/transfer_personality(var/mob/candidate) @@ -97,7 +99,8 @@ var/turf/T = get_turf_or_move(src.loc) for(var/mob/M in viewers(T)) M.show_message("The positronic brain chimes quietly.") - icon_state = "posibrain-occupied" + become_occupied("posibrain-occupied") + /obj/item/mmi/posibrain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. if(src.brainmob && src.brainmob.key) return @@ -142,22 +145,23 @@ /obj/item/mmi/posibrain/examine(mob/user) to_chat(user, "Its speaker is turned [silenced ? "off" : "on"].") to_chat(user, "*---------*") - if(!..(user)) + . = ..() + if(!.) to_chat(user, "*---------*") return - var/list/msg = "" + var/list/msg = list("") if(brainmob && brainmob.key) switch(brainmob.stat) if(CONSCIOUS) - if(!brainmob.client) msg += "It appears to be in stand-by mode." //afk - if(UNCONSCIOUS) msg += "It doesn't seem to be responsive." - if(DEAD) msg += "It appears to be completely inactive." + if(!brainmob.client) msg += "It appears to be in stand-by mode.\n" //afk + if(UNCONSCIOUS) msg += "It doesn't seem to be responsive.\n" + if(DEAD) msg += "It appears to be completely inactive.\n" else - msg += "It appears to be completely inactive." + msg += "It appears to be completely inactive.\n" msg += "*---------*" - to_chat(user, msg.Join("\n")) + to_chat(user, msg.Join("")) /obj/item/mmi/posibrain/emp_act(severity) if(!src.brainmob) diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm index e8e2dd00c45..4a34d2d1b05 100644 --- a/code/modules/mob/living/carbon/brain/say.dm +++ b/code/modules/mob/living/carbon/brain/say.dm @@ -2,7 +2,7 @@ /mob/living/carbon/brain/say(var/message, var/datum/language/speaking = null) if(!can_speak(warning = TRUE)) return - + if(prob(emp_damage * 4)) if(prob(10)) //10% chance to drop the message entirely return @@ -10,13 +10,13 @@ message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher ..(message) - + /mob/living/carbon/brain/whisper(message as text) if(!can_speak(warning = TRUE)) return ..() - + /mob/living/carbon/brain/can_speak(var/warning = FALSE) . = ..() @@ -41,12 +41,10 @@ if(metalgear.radio) radio_worked = metalgear.radio.talk_into(src, message, message_mode, verb, speaking) - else if(!radio_worked && istype(c, /obj/item/mmi/radio_enabled)) - var/obj/item/mmi/radio_enabled/R = c - if(R.radio) - radio_worked = R.radio.talk_into(src, message, message_mode, verb, speaking) + else if(!radio_worked && c.radio) + radio_worked = c.radio.talk_into(src, message, message_mode, verb, speaking) return radio_worked if("whisper") whisper_say(message, speaking, alt_name) return 1 - else return 0 \ No newline at end of file + else return 0 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 5fb42f5f121..4f6707e93f0 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -738,7 +738,7 @@ var/list/robot_verbs_default = list( else if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W if(!opened) - to_chat(user, "You must access the borgs internals!") + to_chat(user, "You must access the borg's internals!") else if(!src.module && U.require_module) to_chat(user, "The borg must choose a module before it can be upgraded!") else if(U.locked) @@ -752,6 +752,21 @@ var/list/robot_verbs_default = list( else to_chat(user, "Upgrade error.") + else if(istype(W, /obj/item/mmi_radio_upgrade)) + if(!opened) + to_chat(user, "You must access the borg's internals!") + return + else if(!mmi) + to_chat(user, "This cyborg does not have an MMI to augment!") + return + else if(mmi.radio) + to_chat(user, "A radio upgrade is already installed in the MMI!") + return + else if(user.drop_item()) + to_chat(user, "You apply the upgrade to [src].") + to_chat(src, "MMI radio capability installed.") + mmi.install_radio() + qdel(W) else return ..() @@ -1442,4 +1457,4 @@ var/list/robot_verbs_default = list( return eye_protection /mob/living/silicon/robot/check_ear_prot() - return ear_protection \ No newline at end of file + return ear_protection diff --git a/code/modules/nano/interaction/default.dm b/code/modules/nano/interaction/default.dm index 3f9155ed162..e5062bc0b12 100644 --- a/code/modules/nano/interaction/default.dm +++ b/code/modules/nano/interaction/default.dm @@ -59,10 +59,14 @@ return STATUS_CLOSE -//Some atoms such as vehicles might have special rules for how mobs inside them interact with NanoUI. +//Some atoms such as vehicles might have special limitations for how mobs inside them interact with NanoUI. /atom/proc/contents_nano_distance(var/src_object, var/mob/living/user) return user.shared_living_nano_distance(src_object) +//Some atoms such as vehicles might have special benefits for how mobs inside them interact with NanoUI. +/atom/proc/contents_nano_interact(var/src_object, var/mob/living/user) + return STATUS_CLOSE // No help at all by default + /mob/living/proc/shared_living_nano_distance(var/atom/movable/src_object) if(!(src_object in view(4, src))) // If the src object is not in visable, disable updates return STATUS_CLOSE @@ -84,6 +88,16 @@ if(STATUS_INTERACTIVE) return STATUS_UPDATE +/mob/living/carbon/brain/default_can_use_topic(var/src_object) + . = shared_nano_interaction(src_object) + if(. <= STATUS_DISABLED) + return + // Maybe add a handler here to call an "interaction state" thing on the MMI, + // later + if(loc) + . = max(., loc.contents_nano_interact(src_object, src)) // This is an "augment" on interaction + . = min(., loc.contents_nano_distance(src_object, src)) // This is a "limit" on interaction + /mob/living/carbon/human/default_can_use_topic(var/src_object) . = shared_nano_interaction(src_object) if(. != STATUS_CLOSE) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 49a1a7d0eba..82f23c52d5e 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -114,15 +114,15 @@ build_path = /obj/item/mmi/posibrain category = list("Misc","Medical") -/datum/design/mmi_radio - name = "Radio-Enabled Man-Machine Interface" - desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio." - id = "mmi_radio" +/datum/design/mmi_radio_upgrade + name = "Man-Machine Interface Radio Upgrade" + desc = "Enables radio capability on MMIs when either installed directly on the MMI, or through a cyborg's chassis." + id = "mmi_radio_upgrade" req_tech = list("programming" = 3, "biotech" = 2, "engineering" = 2) build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 1200, MAT_GLASS = 500) - construction_time = 75 - build_path = /obj/item/mmi/radio_enabled + materials = list(MAT_METAL = 200) + construction_time = 50 + build_path = /obj/item/mmi_radio_upgrade category = list("Misc","Medical") /datum/design/nanopaste diff --git a/paradise.dme b/paradise.dme index 095e5ad2a78..e6715951e99 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1619,6 +1619,7 @@ #include "code\modules\mob\living\carbon\brain\life.dm" #include "code\modules\mob\living\carbon\brain\login.dm" #include "code\modules\mob\living\carbon\brain\MMI.dm" +#include "code\modules\mob\living\carbon\brain\MMI_radio.dm" #include "code\modules\mob\living\carbon\brain\posibrain.dm" #include "code\modules\mob\living\carbon\brain\say.dm" #include "code\modules\mob\living\carbon\brain\update_status.dm" From a7ffe00c2179ee0741b1b7c67c497c7510b0981e Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Mon, 25 Jun 2018 18:38:57 -0400 Subject: [PATCH 068/308] tweaks/fixes --- code/__DEFINES/misc.dm | 10 ++++++++++ code/game/machinery/Sleeper.dm | 13 +++++++------ code/game/machinery/adv_med.dm | 21 +++++++++++---------- code/game/machinery/teleporter.dm | 15 +++++++++------ 4 files changed, 37 insertions(+), 22 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index adc21f00452..01227a78ee7 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -1,6 +1,16 @@ //Object specific defines #define CANDLE_LUM 3 //For how bright candles are +//Directions (already defined on BYOND natively, purely here for reference) +//#define NORTH 1 +//#define SOUTH 2 +//#define EAST 4 +//#define WEST 8 +//#define NORTHEAST 5 +//#define SOUTHEAST 6 +//#define NORTHWEST 9 +//#define SOUTHWEST 10 + //Security levels #define SEC_LEVEL_GREEN 0 #define SEC_LEVEL_BLUE 1 diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index f6af37f257f..934e925ce62 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -11,7 +11,7 @@ var/base_icon = "sleeper" density = 1 anchored = 1 - dir = 8 + dir = WEST var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r" var/mob/living/carbon/human/occupant = null var/possible_chems = list(list("epinephrine", "ether", "salbutamol", "styptic_powder", "silver_sulfadiazine"), @@ -310,12 +310,12 @@ if(panel_open) to_chat(user, "Close the maintenance panel first.") return - if(dir == 4) + if(dir == EAST) orient = "LEFT" - setDir(8) + setDir(WEST) else orient = "RIGHT" - setDir(4) + setDir(EAST) playsound(loc, I.usesound, 50, 1) return @@ -355,8 +355,9 @@ to_chat(M, "You feel cool air surround you. You go numb as your senses turn inward.") add_fingerprint(user) qdel(G) - else - return ..() + return + + return ..() /obj/machinery/sleeper/ex_act(severity) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 1527e16b719..2233c8430f2 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/Cryogenic2.dmi' icon_state = "bodyscanner-open" density = TRUE - dir = 8 + dir = WEST anchored = TRUE idle_power_usage = 1250 active_power_usage = 2500 @@ -69,10 +69,10 @@ if(panel_open) to_chat(user, "Close the maintenance panel first.") return - if(dir == 4) - setDir(8) + if(dir == EAST) + setDir(WEST) else - setDir(4) + setDir(EAST) playsound(loc, I.usesound, 50, 1) return @@ -105,8 +105,9 @@ icon_state = "body_scanner_1" add_fingerprint(user) qdel(TYPECAST_YOUR_SHIT) - else - return ..() + return + + return ..() /obj/machinery/bodyscanner/MouseDrop_T(mob/living/carbon/human/O, mob/user as mob) @@ -221,7 +222,7 @@ icon_state = "bodyscannerconsole" density = 1 anchored = 1 - dir = 8 + dir = WEST idle_power_usage = 250 active_power_usage = 500 var/obj/machinery/bodyscanner/connected = null @@ -301,10 +302,10 @@ if(panel_open) to_chat(user, "Close the maintenance panel first.") return - if(dir == 4) - setDir(8) + if(dir == EAST) + setDir(WEST) else - setDir(4) + setDir(EAST) playsound(loc, I.usesound, 50, 1) if(exchange_parts(user, I)) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 618549ec288..46671a9f4fa 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -350,8 +350,7 @@ if(default_deconstruction_crowbar(I)) return - else - return ..() + return ..() /obj/machinery/teleport/hub/proc/teleport(atom/movable/M as mob|obj, turf/T) var/obj/machinery/computer/teleporter/com = power_station.teleporter_console @@ -451,8 +450,7 @@ if(default_deconstruction_crowbar(I)) return - else - return ..() + return ..() /obj/machinery/teleport/station name = "station" @@ -523,6 +521,8 @@ to_chat(user, "You upload the data from [M]'s buffer.") else to_chat(user, "This station can't hold more information, try to use better parts.") + return + if(default_deconstruction_screwdriver(user, "controller-o", "controller", I)) update_icon() return @@ -538,15 +538,18 @@ var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You download the data to the [M]'s buffer.") + return if(iswirecutter(I)) link_console_and_hub() to_chat(user, "You reconnect the station to nearby machinery.") + return if(istype(I, /obj/item/circuitboard/teleporter_perma)) var/obj/item/circuitboard/teleporter_perma/C = I C.target = teleporter_console.target to_chat(user, "You copy the targeting information from [src] to [C]") - else - return ..() + return + + return ..() /obj/machinery/teleport/station/attack_ai() src.attack_hand() From 37f8b55428e50d03b43ff3b44b5899abc6578e5f Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Mon, 25 Jun 2018 19:39:23 -0400 Subject: [PATCH 069/308] works now --- code/game/machinery/alarm.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 440057cc2bc..de32918c068 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -979,7 +979,6 @@ switch(buildstage) if(2) if(isscrewdriver(I)) // Opening that Air Alarm up. -// to_chat(user, "You pop the Air Alarm's maintence panel open.") wiresexposed = !wiresexposed to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"]") update_icon() @@ -992,7 +991,7 @@ new_coil.forceMove(user.loc) buildstage = 1 update_icon() - return + return if(wiresexposed && ((ismultitool(I) || iswirecutter(I)))) return attack_hand(user) @@ -1008,7 +1007,7 @@ updateUsrDialog() else to_chat(user, "Access denied.") - return + return if(1) if(istype(I, /obj/item/stack/cable_coil)) @@ -1039,7 +1038,7 @@ circuit.forceMove(user.loc) buildstage = 0 update_icon() - return + return if(0) if(istype(I, /obj/item/airalarm_electronics)) to_chat(user, "You insert the circuit!") @@ -1054,7 +1053,7 @@ new /obj/item/mounted/frame/alarm_frame(get_turf(user)) playsound(get_turf(src), I.usesound, 50, 1) qdel(src) - return + return return ..() From 5a09245029d5d2614f3590fe2494a2d362f6e9a7 Mon Sep 17 00:00:00 2001 From: Anasari <13087574+Anasari@users.noreply.github.com> Date: Tue, 26 Jun 2018 16:47:09 +0800 Subject: [PATCH 070/308] Change to attack logs. Use ATKLOG_ALL --- code/game/machinery/cryo.dm | 6 +++--- code/modules/mob/living/carbon/carbon.dm | 4 ---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 96adefc75b8..4fcaf7d1251 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -115,7 +115,7 @@ visible_message("[user] climbs into the cryo cell.") else visible_message("[user] puts [L.name] into the cryo cell.") - log_game("[key_name(user)] puts [key_name(L.name)] into a cryo cell at [COORD(src)].") + add_attack_logs(user, L, "put into a cryo cell at [COORD(src)].", ATKLOG_ALL) if(user.pulling == L) user.stop_pulling() @@ -263,7 +263,7 @@ if(href_list["ejectOccupant"]) if(!occupant || isslime(usr) || ispAI(usr)) return 0 // don't update UIs attached to this object - log_game("[key_name(occupant)] ejected by [key_name(usr)] at cryo cell at [COORD(src)]") + add_attack_logs(usr, occupant, "ejected from cryo cell at [COORD(src)]", ATKLOG_ALL) go_out() add_fingerprint(usr) @@ -280,7 +280,7 @@ return B.forceMove(src) beaker = B - log_game("[key_name(user)] added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]") + add_attack_logs(usr, usr, "Added [B] containing [B.reagentlist()] to a cryo cell at [COORD(src)]") user.visible_message("[user] adds \a [B] to [src]!", "You add \a [B] to [src]!") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c653a257883..aa890cbd17f 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1015,11 +1015,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, return 1 /mob/living/carbon/proc/forceFedAttackLog(var/obj/item/reagent_containers/food/toEat, mob/user) -<<<<<<< HEAD - add_attack_logs(user, src, "Fed [toEat]. Reagents: [toEat.reagentlist()]") -======= add_attack_logs(user, src, "Fed [toEat]. Reagents: [toEat.reagentlist(toEat)]", ATKLOG_FEW) ->>>>>>> master if(!iscarbon(user)) LAssailant = null else From e73ce5637038743bfd8d7cf4877497785cb14776 Mon Sep 17 00:00:00 2001 From: Citinited Date: Tue, 26 Jun 2018 22:18:27 +0100 Subject: [PATCH 071/308] crazylemon tweaks --- code/modules/recycling/belt-placer.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index a42389290ba..1b473bef814 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -24,8 +24,9 @@ max_combined_w_class = 200 //50 belts origin_tech = "engineering=2;bluespace=1" -/obj/item/storage/conveyor/attackby(obj/item/conveyor_switch_construct/S, mob/user, params) //So we can link belts en masse - if(istype(S)) +/obj/item/storage/conveyor/attackby(obj/item/I, mob/user, params) //So we can link belts en masse + if(istype(I, /obj/item/conveyor_switch_construct)) + var/obj/item/conveyor_switch_construct/S = I var/linked = FALSE //For nice message for(var/obj/item/conveyor_construct/C in src) C.id = S.id @@ -33,7 +34,7 @@ if(linked) to_chat(user, "All belts in [src] linked with [S].") else - ..() + return ..() /obj/item/storage/conveyor/afterattack(atom/A, mob/user, proximity) if(!proximity) From 777f86ab1e61988aded2e67341d7df12460bf477 Mon Sep 17 00:00:00 2001 From: FreeStylaLT Date: Wed, 27 Jun 2018 09:14:37 +0300 Subject: [PATCH 072/308] fixes conflicts, tweaks the funeral area, removes carpet cross and adds separate carpet tiles --- _maps/map_files/cyberiad/cyberiad.dmm | 675 ++++++++++++++------------ 1 file changed, 377 insertions(+), 298 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 3bd5b206524..9d0d79f016c 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -468,7 +468,7 @@ "aiZ" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Prison Execution Antichamber"; dir = 4; network = list("Prison","SS13")},/obj/item/assembly/signaler{code = 6; frequency = 1445},/obj/machinery/light/small{dir = 1},/obj/machinery/light_switch{pixel_x = -25},/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"}) "aja" = (/obj/structure/closet/secure_closet/injection,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/execution{name = "\improper Prisoner Transfer Center"}) "ajb" = (/turf/simulated/wall/r_wall,/area/security/podbay) -"ajc" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/space) +"ajc" = (/turf/simulated/floor/plating,/area/space) "ajd" = (/obj/item/storage/toolbox/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "aje" = (/obj/item/skeleton/r_arm,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "ajf" = (/obj/structure/stool/bed,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/execution{name = "\improper Prisoner Transfer Center"}) @@ -1858,7 +1858,7 @@ "aJL" = (/obj/machinery/slot_machine,/obj/item/coin/iron,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aJM" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aJN" = (/obj/effect/decal/cleanable/cobweb,/obj/item/coin/gold,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJO" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aJO" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/space) "aJP" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_1) "aJQ" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/pod_1) "aJR" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/pod_2) @@ -2170,10 +2170,10 @@ "aPL" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor/plasteel,/area/crew_quarters/fitness) "aPM" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness) "aPN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint3"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aPO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/maintenance/electrical) -"aPP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aPQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/electrical) -"aPR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/maintenance/electrical) +"aPO" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall,/area/maintenance/electrical) +"aPP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/plating,/area/maintenance/electrical) +"aPQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aPR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aPS" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump Engineering"; pixel_x = 0; pixel_y = 24; shock_proof = 1},/turf/simulated/floor/plating,/area/maintenance/electrical) "aPT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/electrical) "aPU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical) @@ -2224,10 +2224,10 @@ "aQN" = (/obj/structure/table/glass,/obj/item/pen,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aQO" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aQP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aQQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aQQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/electrical) "aQR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical) -"aQS" = (/obj/machinery/door/airlock/engineering{name = "Electrical Maintenance"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical) -"aQT" = (/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/electrical) +"aQS" = (/obj/machinery/door/airlock/engineering{name = "Electrical Maintenance"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/electrical) +"aQT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/electrical) "aQU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor/plating,/area/maintenance/electrical) "aQV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/electrical) "aQW" = (/obj/structure/table,/obj/item/camera_assembly,/obj/item/camera_assembly,/obj/item/assembly/prox_sensor{pixel_x = -5; pixel_y = 5},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plating,/area/maintenance/electrical) @@ -2254,7 +2254,7 @@ "aRr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aRs" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aRt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aRu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"aRu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{icon_state = "panelscorched"},/area/maintenance/fsmaint2) "aRv" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness) "aRw" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) "aRx" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) @@ -2278,12 +2278,12 @@ "aRP" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/crew_quarters/fitness) "aRQ" = (/obj/structure/window/reinforced,/turf/simulated/floor/beach/water{icon_state = "seadeep"},/area/crew_quarters/fitness) "aRR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness) -"aRS" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/maintenance/electrical) -"aRT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aRS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/electrical) +"aRT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRU" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/hallway/secondary/entry) "aRV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Holodeck Door"},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness) -"aRW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/electrical) -"aRX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/maintenance/electrical) +"aRW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aRX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating,/area/maintenance/electrical) "aRZ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/maintenance/electrical) "aSa" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) @@ -2395,7 +2395,7 @@ "aUc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint2"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aUd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint2"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aUe" = (/obj/structure/closet,/obj/item/reagent_containers/food/drinks/cans/badminbrew,/obj/effect/landmark{name = "blobstart"},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aUf" = (/obj/effect/spawner/window,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aUf" = (/turf/simulated/wall/rust,/area/maintenance/electrical) "aUg" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/electrical) "aUh" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/computer/monitor{name = "Backup Power Monitoring Console"},/turf/simulated/floor/plating,/area/maintenance/electrical) "aUi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area/maintenance/electrical) @@ -2436,7 +2436,7 @@ "aUR" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aUS" = (/turf/simulated/wall,/area/crew_quarters/bar) "aUT" = (/obj/structure/closet,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aUU" = (/obj/effect/spawner/lootdrop/maintenance,/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aUV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "aUW" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aUX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) @@ -2449,7 +2449,7 @@ "aVe" = (/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"}) "aVf" = (/obj/structure/table/glass,/obj/item/seeds/apple,/obj/item/seeds/banana,/obj/item/seeds/cocoapod,/obj/item/seeds/grape,/obj/item/seeds/orange,/obj/item/seeds/sugarcane,/obj/item/seeds/wheat,/obj/item/seeds/watermelon,/obj/item/seeds/tower,/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"}) "aVg" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/storage/primary) -"aVh" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aVh" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVi" = (/turf/simulated/wall,/area/storage/primary) "aVj" = (/turf/simulated/wall/r_wall,/area/storage/primary) "aVk" = (/obj/structure/closet/secure_closet/freezer/money,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/nuke_storage) @@ -2487,8 +2487,8 @@ "aVQ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "maint1"; name = "Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVS" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/arrival/station) -"aVT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"aVU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aVT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aVU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aVV" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/arrival/station) "aVW" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/arrival/station) "aVX" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) @@ -2545,22 +2545,22 @@ "aWW" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aWX" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aWY" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aWZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aWZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXc" = (/turf/simulated/floor/plating,/area/chapel/main) +"aXd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aXf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aXh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/chapel/main) "aXi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aXj" = (/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/unary/vent_pump,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/chapel/main) -"aXk" = (/obj/machinery/mass_driver{dir = 4; id_tag = "chapelgun"},/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/chapel/main) +"aXj" = (/obj/structure/morgue,/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4; network = list("SS13")},/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) +"aXk" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "aXl" = (/obj/machinery/door/poddoor{id_tag = "chapelgun"; name = "Chapel Launcher Door"; protected = 0},/obj/structure/fans/tiny,/turf/simulated/floor/plating,/area/chapel/main) "aXm" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/arrival/station) "aXn" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "burst_r"},/turf/space,/area/shuttle/arrival/station) -"aXo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/wall,/area/chapel/main) +"aXo" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "aXp" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/arrival/station) "aXq" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc{cell_type = 15000; dir = 4; name = "Cryo and Arrivals Super APC"; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) "aXr" = (/obj/effect/landmark{name = "HONKsquad"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) @@ -2621,24 +2621,24 @@ "aYu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aYv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aYw" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/crew_quarters/fitness) -"aYx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aYx" = (/obj/structure/crematorium,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "aYy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aYz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aYA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aYB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/chapel/office) -"aYC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/driver_button{id_tag = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aYz" = (/obj/machinery/camera{c_tag = "Chapel North"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/chapel/main) +"aYA" = (/obj/structure/table,/obj/item/nullrod/rosary,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/chapel/main) +"aYB" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aYC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aYD" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/escape) "aYE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/library) -"aYF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/maintenance/fsmaint2) -"aYG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aYF" = (/obj/structure/closet/coffin,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aYG" = (/obj/structure/closet/coffin,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aYH" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/escape) -"aYI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall,/area/chapel/office) -"aYJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/chapel/office) -"aYK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/chapel/office) +"aYI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aYJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aYK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aYL" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "aYM" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/arrival/station) "aYN" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/arrival/station) -"aYO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/chapel/main) +"aYO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aYP" = (/turf/simulated/wall,/area/chapel/main) "aYQ" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/chapel/main) "aYR" = (/turf/simulated/wall/r_wall,/area/chapel/main) @@ -2714,33 +2714,33 @@ "baj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "bak" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bal" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bam" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/wall,/area/library) -"ban" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"bam" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"ban" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bao" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/wood,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/stack/packageWrap,/turf/simulated/floor/wood,/area/library) -"bap" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"baq" = (/obj/machinery/camera{c_tag = "Chapel Chaplain's Office"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bar" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall,/area/library) -"bas" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/requests_console{department = "Chapel"; name = "Chapel Requests Console"; departmentType = 2; pixel_y = 30},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bat" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bap" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"baq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/crema_switch{pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) +"bar" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/maintenance/fsmaint2) +"bas" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) +"bat" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "bau" = (/turf/simulated/wall,/area/library) "bav" = (/obj/item/radio/intercom{pixel_y = 25},/obj/structure/table/wood,/obj/item/dice/d20,/obj/item/dice,/obj/item/storage/box/characters,/turf/simulated/floor/wood,/area/library) -"baw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"baw" = (/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "bax" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library) -"bay" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/chapel/office) +"bay" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/chapel/main) "baz" = (/turf/simulated/wall,/area/chapel/office) -"baA" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"baB" = (/obj/structure/closet/secure_closet/chaplain,/obj/item/radio/intercom{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"baC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"baD" = (/obj/structure/table/glass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) -"baE" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) -"baF" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"baA" = (/obj/structure/rack,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/chapel/main) +"baB" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 2; name = "Coffin Storage"; req_access_txt = "22"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"baC" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"baD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"baE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"baF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "baG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/tank/emergency_oxygen/engi,/obj/item/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/escapepodbay) "baH" = (/obj/machinery/camera{c_tag = "Departure Lounge Podbay"; dir = 2; network = list("SS13")},/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "escapepodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "13"},/turf/simulated/floor/engine,/area/escapepodbay) -"baI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"baI" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "baJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/entry) "baK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/plasteel,/area/security/checkpoint2) "baL" = (/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{dir = 1; name = "Security Checkpoint"; req_access_txt = "1"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/security/checkpoint2) -"baM" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel,/area/escapepodbay) +"baM" = (/obj/effect/decal/warning_stripes/south,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "baN" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/obj/item/crowbar/red,/turf/simulated/floor/plasteel,/area/escapepodbay) "baO" = (/obj/structure/table,/obj/item/storage/belt/utility,/obj/item/stock_parts/cell,/obj/item/flashlight,/turf/simulated/floor/plasteel,/area/escapepodbay) "baP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/construction{name = "\improper Garden"}) @@ -2812,32 +2812,32 @@ "bcd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hydroponics) "bce" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bcf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hydroponics) -"bcg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/library) +"bcg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/southeastcorner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkbluecorners"},/area/chapel/main) "bch" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library) "bci" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) "bcj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) -"bck" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bcl" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/storage/fancy/crayons,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bcm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/library) -"bcn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) +"bck" = (/obj/effect/decal/warning_stripes/south,/obj/machinery/driver_button{id_tag = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bcl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bcm" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"bcn" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bco" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) "bcp" = (/turf/simulated/floor/wood,/area/library) -"bcq" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Escape Podbay APC"; pixel_x = -25},/turf/simulated/floor/plasteel,/area/escapepodbay) +"bcq" = (/obj/structure/closet/secure_closet/chaplain,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "bcr" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/shuttle/arrival/station) "bcs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library) "bct" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) -"bcu" = (/obj/structure/crematorium,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"bcu" = (/obj/structure/table/wood,/obj/item/pen,/obj/item/reagent_containers/food/drinks/bottle/holywater,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/carpet/black,/area/chapel/office) "bcv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) -"bcw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bcx" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bcw" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/camera{c_tag = "Chapel Chaplain's Office"; dir = 2; network = list("SS13")},/obj/structure/table/wood,/obj/item/soulstone/anybody/chaplain,/turf/simulated/floor/carpet/black,/area/chapel/office) +"bcx" = (/turf/simulated/floor/carpet/black,/area/chapel/office) "bcy" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/hallway/secondary/entry) "bcz" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bcA" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bcB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"bcC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bcA" = (/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 0; pixel_y = 28},/turf/simulated/floor/carpet/black,/area/chapel/office) +"bcB" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/storage/fancy/crayons,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bcC" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "bcD" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bcE" = (/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/hallway/secondary/entry) -"bcF" = (/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) +"bcF" = (/obj/machinery/light{dir = 8},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0; step_size = 0},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/chapel/main) "bcG" = (/obj/machinery/camera{c_tag = "Arrivals Lounge"; dir = 2},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bcH" = (/turf/simulated/floor/plasteel,/area/escapepodbay) "bcI" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/escapepodbay) @@ -2908,31 +2908,31 @@ "bdV" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/camera{c_tag = "Hydroponics Storage"; network = list("SS13")},/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bdW" = (/obj/structure/table,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/reagentgrinder,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bdX" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bdY" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bdZ" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"bdY" = (/obj/machinery/mass_driver{dir = 4; id_tag = "chapelgun"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window{dir = 1; name = "Mass Driver"; req_access_txt = "22"},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/chapel/main) +"bdZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkblue"},/area/chapel/main) "bea" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/hydroponics) "beb" = (/turf/simulated/wall,/area/hydroponics) "bec" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/wall,/area/hydroponics) -"bed" = (/obj/item/storage/bible,/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) +"bed" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating,/area/chapel/main) "bee" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/wall,/area/hydroponics) "bef" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/hydroponics) -"beg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel,/area/escapepodbay) +"beg" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plating,/area/chapel/main) "beh" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/arrival/station) "bei" = (/obj/structure/table,/obj/item/book/manual/hydroponics_pod_people,/obj/item/paper/hydroponics,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bej" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/arrival/station) -"bek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library) -"bel" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library) +"bek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) +"bel" = (/obj/structure/rack,/obj/item/storage/bible,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bem" = (/obj/structure/table/wood,/obj/item/folder/yellow,/obj/item/pen,/turf/simulated/floor/wood,/area/library) "ben" = (/obj/structure/table/wood,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) "beo" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library) "bep" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/wood,/area/library) -"beq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/wall,/area/chapel/office) -"ber" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"beq" = (/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0; step_size = 0},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"ber" = (/obj/structure/table/wood,/obj/item/stack/tile/carpet/black{amount = 10},/obj/item/nullrod,/turf/simulated/floor/carpet/black,/area/chapel/office) "bes" = (/obj/item/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"bet" = (/obj/structure/table/wood,/obj/item/flashlight/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/obj/item/eftpos,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"beu" = (/obj/structure/table/wood,/obj/item/pen,/obj/item/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bev" = (/obj/structure/table/wood,/obj/item/soulstone/anybody/chaplain,/obj/item/nullrod,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bew" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bet" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor/carpet/black,/area/chapel/office) +"beu" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/carpet/black,/area/chapel/office) +"bev" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/carpet/black,/area/chapel/office) +"bew" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Chapel Office"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "bex" = (/obj/machinery/requests_console{department = "Arrival Shuttle"; name = "Arrival Shuttle Requests Console"; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "bey" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "burst_l"},/turf/space,/area/shuttle/arrival/station) "bez" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{icon_state = "neutralcorner"; dir = 2},/area/hallway/secondary/entry) @@ -3006,23 +3006,23 @@ "bfP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall,/area/library) "bfQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bfR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/library) -"bfS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 8},/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library) +"bfS" = (/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkblue"},/area/chapel/main) "bfT" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/library) -"bfU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bfV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bfW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bfX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"bfU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkbluecorners"},/area/chapel/main) +"bfV" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/library) +"bfW" = (/obj/structure/rack,/obj/item/storage/fancy/candle_box,/obj/item/storage/fancy/candle_box{pixel_x = -3; pixel_y = 3},/obj/item/storage/fancy/candle_box{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"bfX" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "bfY" = (/obj/structure/table/wood,/obj/item/book/manual/sop_service,/turf/simulated/floor/wood,/area/library) "bfZ" = (/obj/structure/table/wood,/obj/structure/disposalpipe/segment,/obj/item/book/manual/sop_general,/turf/simulated/floor/wood,/area/library) -"bga" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/escapepodbay) +"bga" = (/obj/structure/table/wood,/obj/item/flashlight/lamp{pixel_y = 10},/obj/item/eftpos,/turf/simulated/floor/carpet/black,/area/chapel/office) "bgb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/escapepodbay) "bgc" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/engine,/area/escapepodbay) "bgd" = (/obj/structure/spacepoddoor{luminosity = 3},/obj/machinery/door/poddoor/multi_tile/four_tile_ver{id_tag = "escapepodbay"; req_one_access_txt = "13"},/turf/simulated/floor/engine,/area/escapepodbay) "bge" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/arrival/station) -"bgf" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bgg" = (/obj/machinery/light/small,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) +"bgf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet/black,/area/chapel/office) +"bgg" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/chapel/office) "bgh" = (/obj/machinery/camera{c_tag = "Port Hallway 2"; dir = 2},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/hallway/primary/port) -"bgi" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel,/area/escapepodbay) +"bgi" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bgj" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/snacks/chips,/obj/item/reagent_containers/food/drinks/cans/cola,/turf/simulated/floor/carpet,/area/hallway/secondary/entry) "bgk" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/unary/vent_pump,/obj/effect/decal/warning_stripes/yellow/hollow,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/escapepodbay) "bgl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 8},/area/hallway/secondary/entry) @@ -3057,7 +3057,7 @@ "bgO" = (/obj/machinery/camera{c_tag = "Central Hallway North-West"; dir = 2; network = list("SS13")},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plasteel,/area/hallway/primary/central/nw) "bgP" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/hallway/primary/central/nw) "bgQ" = (/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/hallway/primary/central/nw) -"bgR" = (/obj/item/radio/intercom{pixel_y = 25},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bgR" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/camera{c_tag = "Chapel Funeral Processing East"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bgS" = (/turf/simulated/floor/plasteel,/area/hallway/primary/central/nw) "bgT" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/nw) "bgU" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/hallway/primary/central/north) @@ -3102,31 +3102,31 @@ "bhH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bhI" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bhJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"bhK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/library) +"bhK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 8},/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library) "bhL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/library) "bhM" = (/obj/machinery/light{dir = 1},/obj/structure/reagent_dispensers/watertank/high,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bhN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bhO" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bhN" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"bhO" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bhP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bhQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bhR" = (/obj/machinery/chem_master,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"bhS" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bhS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "bhT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) -"bhU" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) +"bhU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{name = "Chapel Office Maintenance"; req_access_txt = "27"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bhV" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"bhW" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) -"bhX" = (/obj/structure/morgue,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) -"bhY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"bhZ" = (/obj/machinery/camera{c_tag = "Chapel North"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"bia" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"bib" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Escape Pod Bay"},/turf/simulated/floor/plasteel,/area/escapepodbay) +"bhW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bhX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bhY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bhZ" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bia" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/library) +"bib" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/wood,/area/library) "bic" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape) "bid" = (/obj/machinery/vending/snack,/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bie" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bif" = (/turf/simulated/floor/plasteel{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"},/area/hallway/secondary/entry) "big" = (/turf/simulated/wall,/area/escapepodbay) -"bih" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/escapepodbay) -"bii" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/escapepodbay) +"bih" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/wood,/area/library) +"bii" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bij" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHW"; location = "Lockers"},/turf/simulated/floor/plasteel,/area/hallway/primary/port) "bik" = (/obj/machinery/computer/robotics,/turf/simulated/shuttle/floor,/area/shuttle/escape) "bil" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/escape) @@ -3183,33 +3183,33 @@ "bjk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet/boxinggloves,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/crew_quarters/fitness) "bjl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bjm" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"bjn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Chapel Office"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"bjn" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bjo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/kitchenspike,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) "bjp" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bjq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/gibber,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"bjr" = (/obj/machinery/camera{c_tag = "Departure Lounge North"; dir = 4; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bjs" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1; on = 1},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bjr" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) +"bjs" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "rampbottom"; tag = "icon-stage_stairs"},/area/chapel/main) "bjt" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"bju" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/camera{c_tag = "Departure Lounge Security"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bju" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) "bjv" = (/turf/simulated/floor/grass,/area/hydroponics) "bjw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/grass,/area/hydroponics) "bjx" = (/mob/living/simple_animal/cow{name = "Betsy"},/turf/simulated/floor/grass,/area/hydroponics) "bjy" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics) "bjz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics) -"bjA" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/effect/decal/warning_stripes/east,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bjA" = (/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bjB" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/hydroponics) "bjC" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape) -"bjD" = (/obj/machinery/bookbinder{pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/wood,/area/library) +"bjD" = (/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bjE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) "bjF" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) "bjG" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape) "bjH" = (/obj/machinery/door/airlock/command/glass{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape) -"bjI" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair,/obj/item/radio/intercom/locked/confessional{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bjI" = (/obj/item/twohanded/required/kirbyplants,/obj/machinery/light_switch{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bjJ" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape) "bjK" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/wood,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"bjL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/hallway/secondary/exit) +"bjL" = (/obj/structure/stool/bed/chair,/obj/item/radio/intercom/locked/confessional{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bjM" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/plasteel{icon_state = "neutral"},/area/crew_quarters/fitness) -"bjN" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bjN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) "bjO" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/hallway/secondary/entry) "bjP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/port) "bjQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/hallway/secondary/entry) @@ -3277,29 +3277,29 @@ "bla" = (/obj/structure/table/wood,/obj/item/taperecorder{pixel_y = 0},/obj/item/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "Camera"; pictures_left = 30; pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) "blb" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "blc" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bld" = (/obj/machinery/hologram/holopad,/obj/machinery/light_switch{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bld" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "ble" = (/obj/machinery/biogenerator,/obj/item/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "blf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "blg" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"blh" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/wood,/area/library) +"blh" = (/obj/effect/landmark/start{name = "Chaplain"},/turf/simulated/floor/carpet,/area/chapel/main) "bli" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) "blj" = (/turf/simulated/floor/carpet,/area/library) "blk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/library) "bll" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/turf/simulated/floor/wood,/area/library) -"blm" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) +"blm" = (/obj/machinery/camera{c_tag = "Chapel South"; dir = 8; network = list("SS13")},/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bln" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) "blo" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) -"blp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) +"blp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/library) "blq" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "blr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/crew_quarters/bar) "bls" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = 2; pixel_y = 6},/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/crew_quarters/bar) "blt" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/bar) "blu" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape) "blv" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape) -"blw" = (/obj/structure/sign/poster/official/random{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"blx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"blw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"blx" = (/obj/structure/table/wood,/obj/item/storage/bible,/turf/simulated/floor/carpet,/area/chapel/main) "bly" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) -"blz" = (/obj/effect/decal/warning_stripes/east,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"blz" = (/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/chapel/main) "blA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "blB" = (/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/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "blC" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) @@ -3308,7 +3308,7 @@ "blF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "blG" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port) "blH" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/crew_quarters/locker) -"blI" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"blI" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/radio/intercom/locked/confessional{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "blJ" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/entry) "blK" = (/turf/simulated/wall,/area/hallway/primary/port) "blL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock{name = "Port Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/storage/emergency2) @@ -3332,14 +3332,14 @@ "bmd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/bridge) "bme" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/status_display{density = 0; layer = 4},/turf/simulated/floor/plating,/area/bridge) "bmf" = (/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/ne) -"bmg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bmg" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bmh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bmi" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central/ne) "bmj" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "open"; id_tag = "kitchenbar"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/light{dir = 1},/obj/machinery/door/window{dir = 4; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bmk" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/structure/stool,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bml" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bmm" = (/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bmn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bmn" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bmo" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/hallway/secondary/entry) "bmp" = (/obj/structure/stool,/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) "bmq" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -3360,24 +3360,24 @@ "bmF" = (/obj/structure/cult/tome,/obj/item/videocam,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) "bmG" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) "bmH" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bmI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/wood,/area/library) +"bmI" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bmJ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) -"bmK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) -"bmL" = (/obj/machinery/door/morgue{dir = 2; name = "Confession Booth"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bmK" = (/obj/machinery/light{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bmL" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"},/area/hallway/secondary/exit) "bmM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bmN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/stool,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bmO" = (/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) -"bmP" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bmP" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"},/area/hallway/secondary/exit) "bmQ" = (/obj/machinery/door/airlock/security/glass{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/floor/plating,/area/shuttle/escape) -"bmR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) +"bmR" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkred"},/area/hallway/secondary/exit) "bmS" = (/obj/effect/decal/warning_stripes/northwestcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) -"bmT" = (/obj/machinery/light/small,/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/radio/intercom/locked/confessional{pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"bmU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/chapel/main) +"bmT" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bmU" = (/obj/structure/table/wood,/obj/item/storage/fancy/candle_box,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bmV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bmW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bmX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor4,/area/shuttle/escape) "bmY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape) -"bmZ" = (/obj/effect/decal/warning_stripes/northeastcorner,/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bmZ" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) "bna" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bnb" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/plating,/area/shuttle/escape) "bnc" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) @@ -3429,7 +3429,7 @@ "bnW" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/plasteel{dir = 0; icon_state = "yellow"},/area/bridge) "bnX" = (/obj/machinery/computer/communications,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/bridge) "bnY" = (/obj/machinery/computer/shuttle/labor,/turf/simulated/floor/plasteel{dir = 10; icon_state = "blue"},/area/bridge) -"bnZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) +"bnZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/hallway/secondary/exit) "boa" = (/obj/machinery/computer/shuttle/mining,/turf/simulated/floor/plasteel{dir = 6; icon_state = "blue"},/area/bridge) "bob" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "boc" = (/obj/machinery/computer/crew,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/bridge) @@ -3441,7 +3441,7 @@ "boi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "boj" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/kitchen_machine/grill,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bok" = (/obj/structure/piano,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bol" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bol" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) "bom" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bon" = (/obj/machinery/camera{c_tag = "Kitchen"; network = list("SS13")},/obj/item/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/obj/machinery/kitchen_machine/candy_maker,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "boo" = (/obj/structure/table,/obj/machinery/kitchen_machine/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) @@ -3455,22 +3455,22 @@ "bow" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hydroponics) "box" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel,/area/quartermaster/office) "boy" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access_txt = "37"},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"boz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"boz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) "boA" = (/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel,/area/hydroponics) "boB" = (/turf/simulated/floor/plasteel,/area/hydroponics) -"boC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) +"boC" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/obj/machinery/camera{c_tag = "Departure Lounge Security"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/hallway/secondary/exit) "boD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"boE" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/wood,/area/library) +"boE" = (/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 32; step_size = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) "boF" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) "boG" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) -"boH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"boH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0; step_size = 0},/obj/machinery/camera{c_tag = "Chapel West"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "boI" = (/obj/machinery/door/airlock/external{aiControlDisabled = 0; hackProof = 1; id_tag = "emergency_home"; name = "Escape Airlock"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "boJ" = (/turf/simulated/floor/carpet,/area/chapel/main) "boK" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor4,/area/shuttle/escape) "boL" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/hallway/secondary/entry) "boM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/hallway/secondary/entry) "boN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 1},/area/hallway/secondary/entry) -"boO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall,/area/hallway/secondary/exit) +"boO" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) "boP" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/hallway/secondary/entry) "boQ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitecorner"},/area/hallway/secondary/entry) "boR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) @@ -3510,9 +3510,9 @@ "bpz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel,/area/bridge) "bpA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/central/ne) "bpB" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge) -"bpC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bpC" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) "bpD" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/obj/item/crowbar/large,/turf/simulated/floor/plasteel,/area/assembly/chargebay) -"bpE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bpE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/chapel/main) "bpF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bpG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/effect/landmark/start{name = "Civilian"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bpH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -3533,20 +3533,20 @@ "bpW" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/hydroponics) "bpX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hydroponics) "bpY" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 8; icon_state = "right"; name = "Library Desk Door"; req_access_txt = "37"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library) -"bpZ" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bpZ" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) "bqa" = (/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bqb" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) "bqc" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/library) "bqd" = (/obj/structure/table/wood,/obj/machinery/computer/library/checkout{pixel_y = 0},/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/wood,/area/library) -"bqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/structure/stool,/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) -"bqf" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bqe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/carpet,/area/chapel/main) +"bqf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bqg" = (/obj/structure/stool,/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) "bqh" = (/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) "bqi" = (/obj/structure/table/wood,/obj/item/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bqj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bqk" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bql" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bqm" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"bql" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) +"bqm" = (/obj/structure/table/wood,/obj/item/candle,/obj/item/nullrod/rosary,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bqn" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bqo" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape) "bqp" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/shuttle/escape) @@ -3588,8 +3588,8 @@ "bqZ" = (/obj/machinery/computer/shuttle/labor,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/bridge) "bra" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/computer/shuttle/engineering,/turf/simulated/floor/plasteel{dir = 6; icon_state = "brown"},/area/bridge) "brb" = (/obj/machinery/camera{c_tag = "Bridge East"; dir = 2; network = list("SS13")},/obj/machinery/computer/supplycomp,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/bridge) -"brc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"brd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"brc" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) +"brd" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/hallway/secondary/exit) "bre" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "brf" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Bar West"; dir = 4; network = list("SS13")},/turf/simulated/floor/wood,/area/crew_quarters/bar) "brg" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/wood,/area/crew_quarters/bar) @@ -3607,21 +3607,21 @@ "brs" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/hydroponics) "brt" = (/obj/machinery/hydroponics/constructable,/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bru" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hydroponics) -"brv" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/wood,/area/library) +"brv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"},/area/hallway/secondary/exit) "brw" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) "brx" = (/obj/machinery/computer/library/public,/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library) "bry" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "brz" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) "brA" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) "brB" = (/obj/item/radio/intercom{pixel_x = 25},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) -"brC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"brD" = (/obj/structure/stool,/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) -"brE" = (/obj/structure/stool,/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) -"brF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/structure/stool,/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) -"brG" = (/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"brC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) +"brD" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/hallway/secondary/exit) +"brE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hallway/secondary/exit) +"brF" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/library) +"brG" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/wood,/area/library) "brH" = (/obj/structure/table/wood,/obj/item/clothing/head/cakehat,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"brI" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"brJ" = (/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/effect/decal/warning_stripes/northeastsouth,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"brI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"brJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/chapel/main) "brK" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 11; height = 13; width = 24},/obj/docking_port/stationary{dir = 4; dwidth = 11; height = 13; id = "emergency_home"; name = "emergency evac bay"; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "brL" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "brM" = (/turf/simulated/floor/plating,/area/hallway/secondary/exit) @@ -3676,10 +3676,10 @@ "bsJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 9; icon_state = "blue"},/area/hallway/primary/central/ne) "bsK" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne) "bsL" = (/obj/machinery/camera{c_tag = "Bridge East Entrance"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne) -"bsM" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"bsM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/chapel/main) "bsN" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/bar) -"bsO" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bsP" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bsO" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/snack,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bsP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bsQ" = (/obj/structure/table,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/crew_quarters/locker) "bsR" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bsS" = (/obj/structure/table,/obj/item/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/stack/packageWrap,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -3690,30 +3690,30 @@ "bsX" = (/obj/machinery/processor,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bsY" = (/obj/machinery/hydroponics/constructable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bsZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bta" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/carpet,/area/library) +"bta" = (/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 0; pixel_y = 28},/obj/machinery/vending/cola,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "btb" = (/obj/structure/table/wood,/obj/item/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/wood,/area/library) -"btc" = (/obj/structure/table/wood,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/wood,/area/library) -"btd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"btc" = (/obj/structure/stool/bed/chair,/obj/machinery/camera{c_tag = "Departure Lounge North"; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"btd" = (/obj/item/twohanded/required/kirbyplants,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bte" = (/turf/simulated/wall,/area/hallway/primary/starboard/east) "btf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/library) -"btg" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) +"btg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/hallway/secondary/exit) "bth" = (/obj/structure/table/wood,/obj/item/paper,/turf/simulated/floor/wood,/area/library) "bti" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/library) "btj" = (/obj/structure/table/wood,/obj/item/camera_film,/obj/item/camera_film,/turf/simulated/floor/wood,/area/library) -"btk" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) +"btk" = (/obj/structure/sign/poster/official/random,/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) "btl" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/library) -"btm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/machinery/camera{c_tag = "Chapel South"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"btm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/hallway/secondary/exit) "btn" = (/obj/structure/disposalpipe/segment,/obj/structure/table/wood,/obj/item/dice,/turf/simulated/floor/wood,/area/crew_quarters/bar) "bto" = (/obj/structure/table/wood,/obj/item/toy/cards/deck,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"btp" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) -"btq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/chapel/main) +"btp" = (/turf/simulated/floor/plasteel{icon_state = "rampbottom"; tag = "icon-stage_stairs"},/area/hallway/secondary/exit) +"btq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "btr" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bts" = (/obj/machinery/door/airlock/maintenance{name = "Science Maintenance"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/maintenance/asmaint2) "btt" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "btu" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "btv" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{tag = "icon-swall_f9"; icon_state = "swall_f9"},/area/shuttle/transport) "btw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"btx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"btx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bty" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport) "btz" = (/obj/structure/stool/bed/chair,/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport) "btA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/wood,/obj/item/pen/red,/turf/simulated/floor/wood,/area/security/vacantoffice) @@ -3771,11 +3771,11 @@ "buA" = (/obj/machinery/door/airlock/command/glass{name = "Bridge"; req_access_txt = "19"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/bridge) "buB" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/primary/central/ne) "buC" = (/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel,/area/hallway/primary/central/ne) -"buD" = (/obj/item/radio/intercom{pixel_x = -25},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera{c_tag = "Departure Lounge West"; dir = 4; network = list("SS13")},/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"buD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/carpet,/area/library) "buE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central/ne) -"buF" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"buG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"buH" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"buF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Library"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/carpet,/area/library) +"buG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"buH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "buI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "buJ" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "buK" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/requests_console{department = "Kitchen"; name = "Kitchen Requests Console"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) @@ -3787,17 +3787,17 @@ "buQ" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "buR" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "buS" = (/obj/structure/table/wood,/obj/item/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"buT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library) +"buT" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "buU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) "buV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/library) "buW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/library) -"buX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/floor/carpet,/area/library) +"buX" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Escape Shuttle Cell"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkred"},/area/hallway/secondary/exit) "buY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/chapel/main) "buZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main) "bva" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main) "bvb" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bvc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; name = "Library"; sortType = 16},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bvd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/floor/carpet,/area/chapel/main) +"bvd" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security/glass{name = "Escape Shuttle Cell"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkred"},/area/hallway/secondary/exit) "bve" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/poster/random{pixel_y = 32},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bvf" = (/obj/machinery/door/airlock/shuttle{id_tag = "s_docking_airlock"},/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; roundstart_move = "ferry_away"; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_home"; name = "port bay 3"; width = 5},/turf/simulated/shuttle/floor,/area/shuttle/transport) "bvg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) @@ -3856,24 +3856,24 @@ "bwh" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne) "bwi" = (/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne) "bwj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"bwk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bwk" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkred"},/area/hallway/secondary/exit) "bwl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bwm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Library"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/library) +"bwm" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "darkred"},/area/hallway/secondary/exit) "bwn" = (/obj/machinery/door_control{id = "kitchenbar"; name = "Kitchen Bar Shutters Control"; pixel_x = -6; pixel_y = -24; req_access_txt = "28"},/obj/machinery/door_control{id = "kitchenhall"; name = "Kitchen Hallway Shutters Control"; pixel_x = 6; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bwo" = (/obj/structure/cable,/obj/machinery/light,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bwp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bwq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bwr" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bws" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bwt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bwu" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"bwt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bwu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bwv" = (/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bww" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bwx" = (/obj/structure/sign/poster/official/random{pixel_y = -32},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) -"bwy" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/library) -"bwz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/floor/carpet,/area/library) -"bwA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bwB" = (/obj/structure/table,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bwy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) +"bwz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Library"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) +"bwA" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/library) +"bwB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/turf/simulated/floor/carpet,/area/library) "bwC" = (/obj/structure/flora/ausbushes/stalkybush,/obj/structure/flora/ausbushes/grassybush,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hallway/secondary/exit) "bwD" = (/obj/structure/flora/ausbushes/pointybush,/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/secondary/exit) "bwE" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{tag = "icon-swall_f10"; icon_state = "swall_f10"},/area/shuttle/transport) @@ -3934,11 +3934,11 @@ "bxH" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/donut_box,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "open"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/window/westleft{dir = 1; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bxI" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "open"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/window/westleft{dir = 1; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bxJ" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "open"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/window/westright{dir = 1; name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bxK" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Library"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/library) +"bxK" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bxL" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hydroponics) "bxM" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hydroponics) "bxN" = (/obj/machinery/camera{c_tag = "Hydroponics South"; dir = 8; network = list("SS13")},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/reagent_containers/glass/bucket,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bxO" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bxO" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bxP" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bxQ" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library) "bxR" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/machinery/light/small,/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/wood,/area/library) @@ -3947,12 +3947,12 @@ "bxU" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/camera{c_tag = "Library South"; dir = 1; network = list("SS13")},/turf/simulated/floor/wood,/area/library) "bxV" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/library) "bxW" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/library) -"bxX" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/library) -"bxY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/twohanded/required/kirbyplants,/turf/simulated/floor/wood,/area/library) -"bxZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"bxX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bxY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bxZ" = (/obj/item/twohanded/required/kirbyplants,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/library) "bya" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/chapel/main) "byb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"byc" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"byc" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/wood,/area/library) "byd" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/transport) "bye" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plating,/area/maintenance/port) "byf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) @@ -4001,7 +4001,7 @@ "byW" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) "byX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "north bump Important Area"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/captain) "byY" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"byZ" = (/obj/machinery/camera{c_tag = "Departure Lounge East"; dir = 8; network = list("SS13")},/obj/structure/table,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"byZ" = (/obj/machinery/light,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bza" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) "bzb" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/central/ne) "bzc" = (/obj/structure/sign/directions/evac{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area/crew_quarters/bar) @@ -4013,11 +4013,11 @@ "bzi" = (/obj/item/radio/intercom{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bzj" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/westright{dir = 1; name = "Hydroponics Desk"; req_access_txt = "35"},/turf/simulated/floor/plasteel,/area/hydroponics) "bzk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor/plasteel,/area/hydroponics) -"bzl" = (/turf/simulated/floor/grass,/area/hallway/secondary/exit) +"bzl" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "bzm" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/flora/ausbushes/pointybush,/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/hallway/secondary/exit) "bzn" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) "bzo" = (/obj/machinery/light,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bzp" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) +"bzp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bzq" = (/obj/structure/table,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/extinguisher,/obj/item/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "bzr" = (/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bzs" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) @@ -4063,7 +4063,7 @@ "bAg" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/central/east) "bAh" = (/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/west) "bAi" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/west) -"bAj" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bAj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bAk" = (/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/west) "bAl" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east) "bAm" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 1"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/west) @@ -4076,23 +4076,23 @@ "bAt" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/hallway/primary/starboard/west) "bAu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bAv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/crew_quarters/bar) -"bAw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bAw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bAx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atm{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/alarm{pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{pixel_y = 25},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 6"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"bAI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bAJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bAK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bAL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bAM" = (/obj/effect/decal/warning_stripes/northeastsouth,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bAy" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/hallway/secondary/exit) +"bAz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/hallway/secondary/exit) +"bAA" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/hallway/secondary/exit) +"bAB" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/hallway/secondary/exit) +"bAC" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "green"},/area/hallway/secondary/exit) +"bAD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bAE" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "rampbottom"; tag = "icon-stage_stairs"},/area/hallway/secondary/exit) +"bAF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/southeastcorner,/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/hallway/secondary/exit) +"bAG" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/public/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/chapel/main) +"bAH" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/public/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/chapel/main) +"bAI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bAJ" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hallway/secondary/exit) +"bAK" = (/obj/structure/sign/poster/official/random,/turf/simulated/wall,/area/hallway/secondary/exit) +"bAL" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/hallway/secondary/exit) +"bAM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bAN" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/exit) "bAO" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "bAP" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/shuttle/floor,/area/shuttle/escape) @@ -4123,9 +4123,9 @@ "bBo" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/quartermaster/office) "bBp" = (/obj/structure/table,/obj/machinery/light{dir = 4},/obj/machinery/recharger,/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 4},/area/quartermaster/office) "bBq" = (/obj/machinery/atm{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bBr" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/east,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bBr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bBs" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bBt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/exit) +"bBt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bBu" = (/obj/structure/table/wood,/obj/item/radio/intercom/command,/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bBv" = (/obj/item/book/manual/security_space_law,/obj/structure/table/wood,/turf/simulated/floor/carpet,/area/bridge/meeting_room) "bBw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room) @@ -4145,14 +4145,14 @@ "bBK" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "mechbay"; name = "Mech Bay"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/assembly/chargebay) "bBL" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception) "bBM" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24; shock_proof = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) -"bBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bBN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bBO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bBP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/secondary/exit) -"bBQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bBP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atm{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bBQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bBR" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/floor/plating,/area/shuttle/escape) "bBS" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/shuttle/escape) "bBT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor4,/area/shuttle/escape) -"bBU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bBU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/machinery/alarm{pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bBV" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = null; name = "Shuttle Cargo Hatch"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "bBW" = (/obj/structure/noticeboard,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape) "bBX" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape) @@ -4220,7 +4220,7 @@ "bDh" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "white"},/area/medical/reception) "bDi" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "bDj" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/poddoor/shutters{density = 0; desc = "Lube off, pal."; dir = 8; icon_state = "open"; id_tag = "imnotmakingyoulubepissoff"; name = "Chemistry Privacy Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "open"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) -"bDk" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bDk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bDl" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "bDm" = (/obj/machinery/light{dir = 4},/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/machinery/chem_dispenser,/turf/simulated/floor/plasteel,/area/medical/chemistry) "bDn" = (/obj/structure/stool,/obj/effect/decal/warning_stripes/west,/obj/effect/landmark/start{name = "Chemist"},/turf/simulated/floor/plasteel,/area/medical/chemistry) @@ -4229,11 +4229,11 @@ "bDq" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) "bDr" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) "bDs" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bDt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) -"bDu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bDt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bDu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bDv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bDw" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) -"bDx" = (/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/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bDx" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 6"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bDy" = (/obj/structure/table,/obj/item/book/manual/sop_general,/obj/item/storage/fancy/donut_box,/turf/simulated/floor/wood,/area/bridge/meeting_room) "bDz" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape) "bDA" = (/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/starboard/west) @@ -4273,8 +4273,8 @@ "bEi" = (/obj/structure/table/wood,/obj/item/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bEj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) "bEk" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bEl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/hallway/secondary/exit) -"bEm" = (/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bEl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/radio/intercom{pixel_y = 25},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"bEm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bEn" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/hallway/primary/central/se) "bEo" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) "bEp" = (/turf/simulated/wall,/area/medical/reception) @@ -4289,19 +4289,19 @@ "bEy" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/medical/reception) "bEz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bEA" = (/turf/simulated/wall/r_wall,/area/assembly/robotics) -"bEB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bEB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bEC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bED" = (/turf/simulated/wall/r_wall,/area/toxins/lab) "bEE" = (/obj/machinery/door/window/eastright{dir = 4; name = "Coroner"; req_access_txt = "0"; req_one_access_txt = "5;4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bEF" = (/turf/simulated/wall,/area/hallway/secondary/exit) "bEG" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/exit) -"bEH" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bEH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bEI" = (/obj/structure/morgue,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bEJ" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "purple"},/area/hallway/primary/starboard/east) "bEK" = (/obj/machinery/computer/communications,/obj/item/radio/intercom/specops{pixel_y = -28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops) "bEL" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops) "bEM" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard/east) -"bEN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bEN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "ramptop"; tag = "icon-stage_stairs"},/area/hallway/primary/starboard/east) "bEO" = (/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/escape) "bEP" = (/obj/machinery/status_display{pixel_x = -30; pixel_y = 0},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "bEQ" = (/obj/item/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) @@ -4336,10 +4336,10 @@ "bFt" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/quartermaster/office) "bFu" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bFv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/bridge/meeting_room) -"bFw" = (/obj/machinery/newscaster{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bFw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bFx" = (/obj/machinery/door/firedoor{dir = 8; name = "Firelock West"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Mailing Room"; req_access_txt = "50"},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/office) "bFy" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "arrival"; dir = 4},/area/quartermaster/office) -"bFz" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bFz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bFA" = (/obj/machinery/door/window/eastright{dir = 1; name = "Bridge Delivery"; req_access_txt = "19"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/bridge/meeting_room) "bFB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/space,/area/space) "bFC" = (/turf/simulated/wall/r_wall,/area/engine/gravitygenerator) @@ -4373,18 +4373,18 @@ "bGe" = (/obj/structure/table,/obj/item/storage/box/syringes,/obj/item/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/machinery/camera{c_tag = "Medbay Lobby Reception"; dir = 4; network = list("SS13")},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0; step_size = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) "bGf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/obj/machinery/light,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) "bGg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/reception) -"bGh" = (/obj/machinery/light,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"bGh" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hallway/secondary/exit) "bGi" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception) -"bGj" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bGj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bGk" = (/obj/machinery/camera{c_tag = "Research Access"; dir = 2; network = list("Research","SS13")},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bGl" = (/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bGm" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "bGn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bGo" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/turf/space,/area/space) +"bGo" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/hallway/secondary/exit) "bGp" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/asmaint2) "bGq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "open"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/structure/table/reinforced,/obj/item/folder/white,/obj/item/paper_bin,/obj/item/pen,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/reception) "bGr" = (/turf/simulated/wall/r_wall,/area/assembly/chargebay) -"bGs" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "co2_in"; pixel_y = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing) +"bGs" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bGt" = (/turf/simulated/floor/plasteel{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "bGu" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "white"},/area/assembly/robotics) "bGv" = (/obj/structure/table/glass,/obj/item/clothing/glasses/science{pixel_y = -3},/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science{pixel_y = 3},/obj/item/stack/sheet/mineral/plasma,/obj/item/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) @@ -4400,12 +4400,12 @@ "bGF" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 10; icon_state = "purple"},/area/hallway/primary/starboard/east) "bGG" = (/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bGH" = (/turf/simulated/wall/r_wall,/area/maintenance/asmaint2) -"bGI" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) +"bGI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bGJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape) "bGK" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "open"; id_tag = "rdlab"; name = "Research and Development Lab Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/lab) "bGL" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Research and Development Desk"; req_access_txt = "47"},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "open"; id_tag = "rdlab"; name = "Research and Development Lab Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/lab) -"bGM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bGN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bGM" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/beach/sand,/area/hallway/secondary/exit) +"bGN" = (/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand,/area/hallway/secondary/exit) "bGO" = (/obj/machinery/sleeper{tag = "icon-sleeper (NORTH)"; icon_state = "sleeper"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) "bGP" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_r"},/turf/space,/area/shuttle/specops) "bGQ" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 8},/turf/simulated/wall,/area/maintenance/disposal) @@ -4488,14 +4488,14 @@ "bIp" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab) "bIq" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/medical/reception) "bIr" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bIs" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bIs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bIt" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/obj/machinery/door_control{id = "rdlab"; name = "Research and Development Lab Shutters Control"; pixel_x = -24; pixel_y = 0; req_access_txt = "47"},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab) "bIu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape) "bIv" = (/obj/structure/table,/obj/item/folder/white,/obj/item/disk/tech_disk,/obj/item/disk/tech_disk,/obj/item/disk/design_disk,/obj/item/disk/design_disk,/obj/item/reagent_containers/dropper,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab) "bIw" = (/obj/structure/stool,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab) "bIx" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape) "bIy" = (/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab) -"bIz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bIz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bIA" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape) "bIB" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/disposal) "bIC" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape) @@ -4594,7 +4594,7 @@ "bKr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab) "bKs" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) "bKt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bKu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bKu" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP2"; location = "Stbd"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bKv" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/port) "bKw" = (/turf/simulated/wall/r_wall,/area/maintenance/port) "bKx" = (/obj/machinery/r_n_d/protolathe,/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel,/area/toxins/lab) @@ -4685,7 +4685,7 @@ "bMe" = (/obj/machinery/mass_driver{id_tag = "trash"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) "bMf" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bMg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"bMh" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/structure/sign/poster/contraband/random{pixel_x = 32},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bMh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) "bMi" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bMj" = (/obj/machinery/light{dir = 8},/obj/machinery/computer/rdconsole/core,/obj/effect/decal/warning_stripes/southwest,/turf/simulated/floor/plasteel,/area/toxins/lab) "bMk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -4778,7 +4778,7 @@ "bNT" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/quartermaster/storage) "bNU" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "Research Research and Development Lab"; dir = 8; network = list("Research","SS13")},/obj/item/stock_parts/manipulator,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/capacitor,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/micro_laser,/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab) "bNV" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bNW" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bNW" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "bNX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bNY" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/office) "bNZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -4969,7 +4969,7 @@ "bRC" = (/obj/item/storage/toolbox/mechanical,/obj/item/multitool,/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) "bRD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) "bRE" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/stock_parts/scanning_module{pixel_x = 0; pixel_y = 0},/obj/item/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/table/glass,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/lab) -"bRF" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4; name = "4maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"bRF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "ramptop"; tag = "icon-stage_stairs"},/area/hallway/primary/starboard/east) "bRG" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "wall3"},/area/shuttle/administration) "bRH" = (/obj/machinery/door_control{id = "adminshuttleblast"; name = "blast door control"; pixel_x = -30; req_access_txt = "106"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) "bRI" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/quartermaster/storage) @@ -5478,7 +5478,7 @@ "cbr" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) "cbs" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/hor) "cbt" = (/obj/machinery/navbeacon{codes_txt = "delivery"; dir = 4; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor/plating,/area/medical/sleeper) -"cbu" = (/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/hor) +"cbu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cbv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "cbw" = (/obj/structure/table,/obj/item/roller,/obj/item/soap/nanotrasen,/turf/simulated/floor/plasteel{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/sleeper) "cbx" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration) @@ -7869,7 +7869,7 @@ "cVq" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering) "cVr" = (/obj/machinery/atmospherics/unary/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/engine/engineering) "cVs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"cVt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"cVt" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/hallway/secondary/exit) "cVu" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering) "cVv" = (/obj/machinery/light/small{dir = 4},/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/storage/secure) "cVw" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/crowbar,/obj/machinery/light_switch{pixel_x = -27},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plasteel,/area/engine/engineering) @@ -7897,7 +7897,7 @@ "cVS" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering) "cVT" = (/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/engine/engineering) "cVU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) -"cVV" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP2"; location = "Stbd"},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"cVV" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass,/area/hallway/secondary/exit) "cVW" = (/obj/machinery/shieldgen,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/storage/secure) "cVX" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/circuitboard/solar_control,/obj/item/tracker_electronics,/obj/item/paper/solar,/obj/machinery/light/small{dir = 4},/obj/effect/decal/warning_stripes/west,/turf/simulated/floor/plating,/area/storage/secure) "cVY" = (/obj/machinery/the_singularitygen{anchored = 0},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plating,/area/storage/secure) @@ -7909,6 +7909,7 @@ "cWe" = (/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/engine/engineering) "cWf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "cWg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) +"cWh" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/hallway/secondary/exit) "cWi" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/toxins/xenobiology) "cWj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "cWk" = (/obj/effect/decal/cleanable/fungus,/turf/simulated/wall,/area/maintenance/aft) @@ -7922,13 +7923,16 @@ "cWs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel,/area/engine/hardsuitstorage) "cWt" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plasteel,/area/engine/hardsuitstorage) "cWu" = (/turf/simulated/floor/plasteel,/area/engine/hardsuitstorage) +"cWv" = (/obj/structure/table,/obj/item/toy/plushie/octopus,/obj/machinery/camera{c_tag = "Departure Lounge East"; dir = 8; network = list("SS13")},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cWw" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/xenobiology) "cWx" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) "cWy" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plasteel,/area/engine/engineering) "cWz" = (/obj/item/radio/intercom{name = "station intercom (General)"; pixel_x = -28; pixel_y = 0},/obj/machinery/computer/monitor{name = "Grid Power Monitoring Computer"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) +"cWA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cWB" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cWC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cWD" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"cWE" = (/obj/item/clothing/glasses/sunglasses/yeah,/turf/simulated/floor/beach/sand,/area/hallway/secondary/exit) "cWF" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cWG" = (/obj/machinery/computer/arcade/orion_trail,/turf/simulated/floor/carpet/arcade,/area/crew_quarters/fitness{name = "\improper Arcade"}) "cWH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) @@ -7940,6 +7944,7 @@ "cWN" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/atmos) "cWO" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) "cWP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) +"cWQ" = (/obj/structure/flora/tree/palm,/obj/item/clothing/head/soft/rainbow,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/beach/sand,/area/hallway/secondary/exit) "cWR" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{level = 2},/obj/machinery/meter,/turf/simulated/floor/plasteel,/area/atmos) "cWS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/wall/r_wall,/area/atmos) "cWT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "External to Filter"},/turf/simulated/floor/plasteel,/area/atmos) @@ -7954,9 +7959,20 @@ "cXc" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/machinery/atmospherics/pipe/simple/visible/cyan{level = 2},/turf/simulated/floor/plating,/area/atmos) "cXd" = (/obj/machinery/atmospherics/binary/valve/digital{color = ""; dir = 4; name = "N2O Outlet Valve"},/turf/simulated/floor/plasteel{icon_state = "escape"; dir = 5},/area/atmos) "cXe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/n20,/area/atmos) +"cXf" = (/obj/machinery/light,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel,/area/hallway/primary/starboard/east) +"cXg" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Central Access"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "purple"},/area/hallway/secondary/exit) +"cXh" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "ramptop"; tag = "icon-stage_stairs"},/area/hallway/primary/starboard/east) +"cXi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cXj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "purplecorner"},/area/hallway/secondary/exit) +"cXk" = (/obj/item/flag/nt,/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cXl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cXm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/xenobiology) +"cXn" = (/obj/machinery/camera{c_tag = "Departure Lounge West"; dir = 4; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) +"cXo" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) +"cXp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit) "cXq" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/central/west) "cXr" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cXs" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit) "cXt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "cXu" = (/turf/simulated/wall,/area/maintenance/engi_shuttle) "cXv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) @@ -7993,12 +8009,28 @@ "cYa" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Pure to Port"; on = 0},/turf/simulated/floor/plasteel,/area/atmos) "cYb" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/cyan{level = 2},/turf/simulated/floor/plating,/area/atmos) "cYc" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/turf/simulated/floor/plasteel{icon_state = "escape"; dir = 4},/area/atmos) +"cYd" = (/obj/structure/stool/bed/chair,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit) +"cYe" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hallway/secondary/exit) "cYf" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine/n20,/area/atmos) +"cYg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/warning_stripes/northeastcorner,/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/hallway/secondary/exit) +"cYh" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) "cYi" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cYj" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cYk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cYl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"cYm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYo" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYp" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) +"cYq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cYt" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cYu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cYv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cYy" = (/obj/effect/decal/warning_stripes/southeastcorner,/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/hallway/secondary/exit) "cYz" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_se"; name = "southeast of SS13"; width = 19},/turf/space,/area/space) "cYA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "cYB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) @@ -8014,6 +8046,7 @@ "cYL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/engine/chiefs_office) "cYM" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) "cYN" = (/obj/machinery/vending/snack,/turf/simulated/floor/carpet/arcade,/area/crew_quarters/fitness{name = "\improper Arcade"}) +"cYO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/exit) "cYP" = (/obj/machinery/camera{c_tag = "Central Hallway West"; dir = 8; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/central/west) "cYQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering/glass{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = null},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) "cYR" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/engine/engineering) @@ -8023,6 +8056,7 @@ "cYV" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/plasteel,/area/atmos) "cYW" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/plasteel,/area/atmos) "cYX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/engine/engineering) +"cYY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/wall/r_wall,/area/atmos) "cZa" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/wrench,/obj/item/pipe_painter,/obj/item/pipe_painter,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plasteel,/area/atmos) "cZb" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste to Port"},/turf/simulated/floor/plasteel,/area/atmos) @@ -8034,6 +8068,12 @@ "cZh" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/space,/area/space) "cZi" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "n2o_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine/n20,/area/atmos) "cZj" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/central/west) +"cZk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/secondary/exit) +"cZl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; initialize_directions = 10; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cZm" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/secondary/exit) +"cZn" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/exit) +"cZo" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cZp" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/tank/emergency_oxygen,/obj/item/tank/emergency_oxygen,/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) "cZq" = (/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment,/obj/structure/cable,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/toxins/xenobiology) "cZr" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/toxins/xenobiology) "cZs" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology) @@ -8047,7 +8087,14 @@ "cZA" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/toxins/xenobiology) "cZB" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology) "cZC" = (/obj/effect/decal/cleanable/dirt,/obj/item/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"cZD" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/exit) +"cZE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cZF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) +"cZG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cZH" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cZI" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/light{dir = 8},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/exit) +"cZJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/decal/warning_stripes/northeastcorner,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"cZK" = (/obj/machinery/vending/snack,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0; step_size = 0},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cZL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/poster/official/random{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/engine/engineering) "cZM" = (/turf/simulated/wall,/area/engine/engineering) "cZN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/engine/engineering) @@ -8056,11 +8103,14 @@ "cZQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/engine/engineering) "cZR" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/engine/engineering) "cZS" = (/turf/simulated/wall/r_wall,/area/atmos) +"cZT" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"},/area/hallway/secondary/exit) "cZU" = (/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/turf/simulated/floor/plasteel,/area/atmos) +"cZV" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "cZW" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plasteel,/area/atmos) "cZX" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel,/area/atmos) "cZY" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plasteel,/area/atmos) "cZZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{level = 2},/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) +"daa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/item/radio/intercom{frequency = 1459; name = "station intercom (General)"; pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "dab" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/wall/r_wall,/area/engine/engineering) "dac" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) "dad" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/space,/area/space) @@ -8070,16 +8120,27 @@ "dah" = (/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/atmos) "dai" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/cyan{level = 2},/turf/simulated/floor/plating,/area/atmos) "daj" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/binary/volume_pump/on{dir = 8; name = "Space Loop Out"},/turf/simulated/floor/plasteel,/area/atmos) +"dak" = (/obj/machinery/camera{c_tag = "Departure Lounge South"; dir = 1; network = list("SS13")},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"dal" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"dam" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) +"dan" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "dao" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "dap" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"daq" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "dar" = (/turf/simulated/wall/r_wall,/area/storage/secure) +"das" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"dat" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/escapepodbay) "dau" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dav" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/port) "daw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) "dax" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/decal/cleanable/generic,/obj/machinery/camera{c_tag = "Engineering Shuttle Access"; dir = 8; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "day" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/engine/engineering) +"daz" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Escape Pod Bay"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/escapepodbay) "daA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering) "daB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/southwestcorner,/turf/simulated/floor/plasteel,/area/engine/engineering) +"daC" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/escapepodbay) +"daD" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/escapepodbay) +"daE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "ramptop"; tag = "icon-stage_stairs"},/area/escapepodbay) "daF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/engineering/glass{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = null},/turf/simulated/floor/plasteel,/area/engine/engineering) "daG" = (/turf/simulated/floor/plating,/area/engine/engineering) "daH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/engine/engineering) @@ -8093,27 +8154,38 @@ "daP" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plasteel,/area/atmos) "daQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/hallway/primary/central/west) "daR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/door/airlock/engineering/glass{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = null},/turf/simulated/floor/plasteel,/area/engine/engineering) +"daS" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "daT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/hardsuit/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/atmos,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) "daU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) "daV" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor/plasteel,/area/atmos) "daW" = (/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Plasma to Pure"; on = 0},/turf/simulated/floor/plasteel,/area/atmos) "daX" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) "daY" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8; level = 2},/turf/simulated/floor/plasteel,/area/atmos) +"daZ" = (/obj/machinery/power/apc{dir = 8; name = "Escape Podbay APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/escapepodbay) "dba" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/space,/area/space) "dbb" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "dbc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) +"dbd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/escapepodbay) +"dbe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/escapepodbay) "dbf" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology) "dbg" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dbh" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dbi" = (/obj/structure/closet/crate,/obj/item/clothing/under/color/lightpurple,/obj/item/stack/spacecash/c200,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dbj" = (/obj/structure/sign/poster/contraband/random{pixel_x = -32},/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) +"dbk" = (/obj/effect/decal/warning_stripes/east,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/escapepodbay) "dbl" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/secure) +"dbm" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dbn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/hallway/primary/central/west) +"dbo" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel,/area/escapepodbay) +"dbp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel,/area/escapepodbay) "dbq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/engine/engineering) "dbr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/engine/engineering) "dbs" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/plasteel,/area/engine/engineering) "dbt" = (/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "Engineering Secure Storage North"; dir = 4; network = list("SS13")},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/storage/secure) "dbu" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/emp_proof{c_tag = "Engineering Singularity West"; dir = 4; network = list("Singularity","SS13")},/turf/simulated/floor/plating/airless,/area/engine/engineering) +"dbv" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"dbw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"dbx" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "dby" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engine/engineering) "dbz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/engine/engineering) "dbA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/engine/engineering) @@ -8123,12 +8195,15 @@ "dbE" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/engine/engineering) "dbF" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/engine/engineering) "dbG" = (/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "Singularity"; name = "Singularity Shutters"; opacity = 0},/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"dbH" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/warning_stripes/yellow/hollow,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel,/area/escapepodbay) "dbI" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area/space) "dbJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/wall/r_wall,/area/engine/engineering) "dbK" = (/obj/machinery/camera{c_tag = "Atmospherics West"; dir = 4; network = list("SS13")},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel,/area/atmos) "dbL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/reagent_dispensers/watertank/high,/turf/simulated/floor/plasteel,/area/atmos) "dbM" = (/obj/effect/spawner/window,/turf/simulated/floor/plating,/area/maintenance/asmaint) "dbN" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/turf/simulated/floor/plasteel,/area/atmos) +"dbO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"dbP" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "dbQ" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/emp_proof{c_tag = "Engineering Singularity East"; dir = 8; network = list("Singularity","SS13")},/turf/simulated/floor/plating/airless,/area/engine/engineering) "dbR" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology) "dbS" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) @@ -8136,7 +8211,12 @@ "dbU" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "dbV" = (/obj/machinery/computer/shuttle/engineering,/turf/simulated/floor/plating,/area/maintenance/engi_shuttle) "dbW" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) +"dbX" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/turf/space,/area/space) "dbY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/hallway/primary/central/west) +"dbZ" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/obj/structure/lattice,/turf/space,/area/space) +"dca" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/insulated{dir = 10},/turf/space,/area/space) +"dcb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "rampbottom"; tag = "icon-stage_stairs"},/area/maintenance/asmaint2) +"dcc" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "co2_in"; pixel_y = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing) "dcd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering Foyer"; network = list("SS13")},/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 5},/area/engine/break_room) "dcf" = (/obj/machinery/power/tesla_coil{anchored = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless,/area/space) "dcg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/engine/break_room) @@ -8819,7 +8899,6 @@ "dsc" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 5e+006},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "dsd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall,/area/turret_protected/ai) "dse" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/ai_slipper{icon_state = "motion0"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"dsf" = (/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/floor/plasteel,/area/hallway/secondary/exit) "dsg" = (/obj/machinery/camera/motion{c_tag = "AI Core South"; dir = 2; network = list("SS13","MiniSat")},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "dsh" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) "dsi" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/turret_protected/ai) @@ -8923,60 +9002,60 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazgazgazgaBYaaaaxkaBkaykaBlaxkalwaaaaaaaabaaaaabaaaaaaaBZaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaAkaAkaAkaAjaaaaaaaaaaaaaBnaAnaAnaAnaCiaCkaCjaCdaCbaElavPaCmaClavTaCnaCoavdaxLaEBaBJaEBaCpaEBaxLaAzazAaCrawdaCsateaCtaBsaCvaCxaCwaBsaCzaCBaCAaCCaZIaZIaCgavqavqaChawlbWpaIYbWpbWpatGavqawkauqauqawmaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaCLaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCMaCRaCQaCSaBgaBgaCUaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaCTazgazgaCXaaaaxkaCYaykaykaCZalwalwalwaabaabaabaabaDbaDaaDbaabaabaabaabalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBnaDdaDcaCEaCDaCGaCFaCHaDiaElauYaCIawWaCKaCJawWaDeaDfaEBaCqaFFaDgaEBaDkaDjaxpaDlaDmaxpaDoaDnaBsaDpaDraDqaBsaDsaDNaDNaDNaDNaDPaDPaDPaDPaDPaDPcXKcXHaJccYNatGatGatGatGaaaaaaaaaabpaabaabaabaaaaabaaaaabaabaDSaDKaDSaabaabaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaAfaDUaDTaDWaDVaDYaDXaBgaBgaBgaDZaEaaBgaEcaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaEbazgaEeaxiaaaaxkaEfaykaykaxkaabaaaaabaaaaaaaabaaaaDbaEgaEdaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEiaEiaEiaEiaEiaAmaElaElaElaDtaElaElaElaDuaAmaAxaAxaAxaAxaAxaAxaEBaEBaDvaCqaFFaDgaDvaDvaDvaEpaEpaEpaEpaDxaDwaBsaDyaDAaDzaBsaDsaDNaELaEMaEKaDPaENaDBaEOaEQaDPaJlcXHcXHcXHaJnaJmaJobWvaaaaaaaaaaabaabaaaaabaabaabaabaabaaaaDSaERaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaESaCPaEUaEWaEVaEXaBgaEZaEYaFbaFaaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFeaFfaFcaFfaFgaaaaFiaFhaykaFkaFiaabaaaaabaaaaaaaabaDbaDbaFjaFmaDbaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaFlaFoaDCaDDaFvaFwaFsaDFaDEaDDaDGaFvaFvaDIaDHaFBaFAaFyaFyaFyaFyaFyaFyaFyaDJaDLaGraDMaEjaDOavqavqavqavqavqaBsaDQaEkaEhaEnaEmaBsaEoaDNaFTaFUaFPaDPaFVaEqaFWaFYaDPaJEaJpaJFcXHcXHcXHcXHbWraaaaaaaabaabaaaaaaaaaaaaaaaaabaabaDSaDSaFZaDSaDSaabaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaAfaGbaGaaCPaAfaCPaCPaGdaGcaAfaAfaAfaAfaAfaAfaabaabaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFgaaaaaaaGgaFiaGeaFiaGhaabaaaaabaaaaaaaabaGjaGiaGlaGkaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGmaEraGpaEtaEsaEuaEsaEvaEsaExaEwaGraGraEzaEyaGraGraGraGraGraGraGraGraGraECaEEaEDaEGaEFaEHaAQaASaEIaASaAQaBsaEJaFnaEPaFnaFnaBsaDsaDNaFpaGNaFqaDPaFraGRaGQaEQaDPaJGcXHaKycXHcXHbYecWGbWraaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGSaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaGVaGYaMzaGYaGYaGYaHbaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaGnaGnaGnaGnaGnaGnaGnaGnaabaabaGjaHcaHaaGZaGjaHdaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaHearTaHfaFuaFtaFxaHnaFzaHnaFCaHqaHnaHnaFEaFDaHnaHnaHnaHnaHnaHnaHnaFHaFJaFIaFKaHvaHxaEjaFMaAQaFNaASaFOaAQaBsaBsaBsaBsaBsaBsaBsaFQaDNaHCaFUaFRaDPaFSaHGaFWaHHaDPbZQbYeaKBcXHcXHcXHcXIbWraabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaGTaHKaHIaHJaGTaabaaaaabaaaaaaaabaaaaaaaGXaHNaGXaHNaGXaHbaGYaGYaGYaGYaGYaGYaGYaGYaGYaHOaHPaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaHQaHLaHQaaaaaaaaaaGnaHSaHTaHSaHRaHMaHUaGnaaaaaaaGjaHVaHXaHWaIaaHSaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIbaIcaIcaIeaIeaFXaLAaIhaIhaGqaLAaGsaIlaIiaIiaIlaGtaIlaIoaIoaIoaIoaIoaIoaImaIoaIoaInaIraIpaEjaGuavqaAQaAQaAQavqavqavqaydaGvaGwavqavqaGxaDNaIwaFUaGyaDPaGzaGRaGQaEQaDPcXIcXHaLYaKPcXHbYebZQbWvaabaabaaaaaaaaaaaaaHQaIzaHQaaaaabaGTaIBaIAaICaGTaIFaIFaIFaIFaIFaHNaHNaHNaGXaIDaGYaHOaHPaMzaGYaMzaMzaMzaGXaIEaGXaGXaGXaGXaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaIIaIGaIIaaaaaaaabaGnaIHaILaHSaHSaIJaHSaGnaIIaIIaGjaGjaIMaIKaIaaHSaGnaGnaIIaIIaIIaGnaGnaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaIbaIPaGAaGCaGBaGDaLAaGFaGEaGGaLAaGHaIlaIWaIZaGJaGIaHgaJaaJdaLZaJfaJeaJhaJgaJjaJiaJkaFFaFGaEjaGKavqavqavqavqavqavqavqavqavqavqavqavqaGLaGOaGMaHhaGPaDPaHiaHjaJyaJBaDPcWGbYeaMbaMaaODaODaODaODaODaODaODaaaaaaaaaaHNaJCaHNaaaaIFaGTaGTaJDaJHaGTaJIaGYaGYaGYaMzaJJaGYaJMaGXaGYaGYaGYaJKaMzaGYaGXaJNaJLaGXaGYaJOaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJPaJSaJQaaaaJRaJVaJTaabaabaIIaHSaIIaaaaaaaabaGnaJXaJYaJZaJWaJUaKaaGnaKbaHSaKdaKcaKfaKeaKeaKeaKeaKeaKeaKeaKeaKgaGnaaaaKhaaaaaaaaaaaaaaaaaaaaaaaaaIbaKkaHkaKmaKnaHlaLAaHmaKraHoaLAaGHaIlaKtaHYaKvaGIaHgaKqaKsaKsaKsaKsaKsaJgaKwaJiaFyaFFaFGaEjaFMaLPaLPaLPaLPaLPaHpaKOaKOaKOaKOaKOaKOaKOaDNaDNaLVaDNaDPaDPaHsaDPaDPaDPaMhaMeaMjcYKaODaKQaKQaKQaKQaKQaODaaaaaaaaaaHNaKJaKMaaaaIFaKRaKTaKSaKWaGYaGYaGYaMzaGYaMzaKXaGYaGYaGXaGYaKVaKUaKXaIEaGYaGXaKZaKYaGXaGYaLcaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLaaLbaLaaLdaLeaLfaLeaLdaabaIIaLgaLhaaaaaaaGnaGnaGnaGnaGnaLkaLiaLlaLjaLnaLmaLmaLoaLraLraLqaLpaGnaHSaGnaGnaGnaLsaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLuaLtaLwaLvaLxaLAaKraLyaHtaLAaGHaIlaLCaLEaHwaHuaHzaHyaHAaLHaKsaLIaLIaJgaKsaJiaFyaFFaLJaEjaHBaLPaHFaHDaLNaLPaMwaLXaMIaMHaMLaMJaIdaHZaIkaIgaIyaIvaIUaITaNcaNbaIXaKObWrbWraNUaKOaODaKQaKQaKQaKQaKQaODaabaabaKOaHNaMfaMgaHNaIFaMiaGYaMkaGYaHbaGYaGXaGXaMmaGXaGXaMnaMzaMzaKXaMoaMlaGYaGXaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaMraMraMraMrafOaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaLaaMpaLaaMsaLeaMtaLeaMsaGnaIIaMuaEAaIIaIIaGnaHSaHSaHSaHSaHSaHSaHSaLkaLsaGnaGnaGnaGnaGnaMxaGnaGnaHSaMyaGnaMvaLsaGnaGnaGnaaaaaaaaaaaaaaaaMAaMAaMAaMAaMAaMAaMAaMAaMAaLAaItaMCaIuaLAaGHaIlaIxaJbaINaJvaHgaMMaIQaIOaMPaMOaMRaMQaMSaJiaFyaFFaFGaEjaFMaLPaISaIRaLNaLPaKuaMVaMVaMVaMVaMVaMVaMVaLQaKxaLRaOiaOiaOiaLSaOiaPAaOuaOAaOzaOBaJqaODaKQaKQaKQaKQaKQaODaKOaKOaKOaGYaNfaNgaJIaMzaMoaKXaMkaGYaNhaGVaNlaIEaGYaGYaGYaGYaNiaGYaGYaMoaNjaGYaMnaGYaMqaNkaNnaNmaMqaNpaNoaNqaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaNraNtaNsaMsaNuaNyaNvaNwaNxaHSaNzaNCaNAaMyaNBaHSaGnaGnaGnaGnaGnaGnaGnaLsaGnaNDafOaNGaGnaNEaNFaNHaHSaNBaGnaNAaNIaKeaKgaIIaaaaaaaaaaaaaaaaNKaNJaNMaNLaNOaNNaNPaMAaiWaLAaJraNQaIVaLAaJsaIlaJuaJtaJwaLTaHgaNWaJzaJxaKiaJAaKlaKjaKoaJiaFyaFFaFGaEjaFMaLPaOjaKpaLNaLPaLUaMVaMNaMNaMNaMVaMVaMVaMVaMVaMTaOoaMUaMUaOsaMVaSQaMVaMVaRRaMVaPvaRVaKQaKQaKQaKQaKQaRVaTbaTdaTcaXiaTeaOCaGYaMzaOFaGYaOEaOGaOGaOGaOGaOHaOGaOIaGYaGYaGYaGYaGYaGYaGYaGYaMzaGVaMqaOKaOLaOLaMqaOMaOJaONaMqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaOPaOQaORaMsaOPaOQaORaNwaKaaHSaOSaHSaHSaHSaHSaHSaGnaOTaOOaOVaOUaOWaGnaLsaGnafOaOXaNDaOYaPaaOZaGnaPcaGnaGnaGnaGnaPcaLsaIIaaaaHQaHQaHQaHQaPdaNJaPeaPbaPfaPhaPiaPjaMAaLAaLAaLAaLAaLAaJsaIlaIlaIlaIlaIlaIlaKzaKAaIoaIoaIoaIoaIoaIoaIoaPraFFaPwaEjaFMaLPaOnaKpaLNaLPaKuaMNaMWaMWaMXaMNaMVaMVaMYaMVaNaaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaPLaPMaKOaGYaVJaMzaMzaMzaHPaHPaGXaGXaGXaMzaMzaMzaGXaPNaPKaGXaMzaMzaGXaMzaMzaGXaGXaPPaPOaPRaPQaPTaPSaPUaOKaPWaMqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPVaSdaSdaLdaMsaPZaQaaLdaMsaPZaQaaLdaGnaLkaGnaGnaGnaGnaGnaHSaGnaHSaQbaPXaHSaHSaGnaLsaGnaPYaabaPYaGnaJYaOZaGnaQeaQcaGnaNAaKaaGnaLsaMAaMAaQgaQgaQgaQgaQgaQgaQgaQgaQgaPiaPiaPjaQhaQiaQjaQkaQlaQdaKEaKDaKFaKFaKFaKFaKFaKGaKIaKHaKFaKFaKFaKKaKKaKLaLzaKNaLBaEjaHBaLPaQzaKpaLNaLPaKuaMNaMWaNRaNSaMNaMVaMVaMVaMVaNTaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaQHaPMaKOaGYaVJaGYaQBaMzaQCaHOaQLaQJaHbaGXaOFaHbaGXaQKaGYaGXaQMaGYaGXaQOaQNaQPaOGaQQaOGaQSaQRaQUaQTaQVaQYaQWaMqaMraMrafOafOaMraMraMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQXaRbaoOaSbaMcaMdaMdaRaaMdaMdaMdaRdaRcaReaReaReaReaRfaGnaHSaGnaRhaRgaRiaHSaRjaPcaLsaGnaGnaGnaGnaGnaGnaPcaGnaHSaRiaLkaHSaHSaHSaRkaRmaRlaRnaRnaRnaRnaRoaRnaRnaRpaRqaRlaRsaRraRraRraRraRraRraRraRtaRwaRwaRwaRwaRxaRwaRwaLDaRwaRwaRxaRwaRwaRwaRwaRzaLFaLKaLGaLLaLPaRDaLMaLWaLOaNVaMNaNYaNXaOeaMNaMVaMVaMVaMVaMTaRMaOpaOpaRGaMVaVLaVKaMVaMVaMVaPvaRVaKQaKQaKQaKQaKQaRVaVMaYwaVObfQaZzbafbafbafbafbbYaOGaOGaOGaOGaOGaOGaOGaKSaGYaGYaGYaGYaMnaGYaGYaMkaGYaRTaRSaRXaRWaRYaOLaOLaOLaRZaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZPaSdaSdaMBaSfaMDaMEaSiaSjaQZaSaaSjaSeaScaSjaSjaSnaGnaHSaGnaSoaHSaHSaSpaSqaGnaNIaKgaHSaHSaHSaHSaHSaHSaPcaSsaHSaGnaNxaNxaGnaSraMAaSuaSwaSvaSvaSvaSxaSvaSvaSvaSyaSuaSzaSAaSAaSAaSAaSAaSAaSAaPiaRwaSBaSCaSEaSgaSkaShaSmaSlaSJaSDaSLaSCaSMaRwaSNaFFaSOaEjaMFaLPaSRaMGaSTaSSaOqaWHaOyaOraOraPkaPBbhiaPCbgsbhhbhibhibhibhibhibhjaMVaMVaMVaMVaThaODaKQaKQaKQaKQaKQaKOaKOaKOaKOaHbaMzaMzaIEaGXaGXbBOaMzaGXaTgaMzaGXaIEaGXaMkaQIaMzaGXaIEaGXaGYaQIaMkaGYaTiaMqaTjaQRaTlaTkaTmaQRaTnaMqaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdaRUaSdaToaSfaSfaTpaSdaRUaSdaTqaTsaTraTtaGnaHSaPcaPcaGnaGnaGnaTuaTuaTuaIfaTuaTuaTuaTuaTuaHSaGnaGnaGnaGnaGnaGnaGnaSraKbaStaaaaabaaaaabaaaaabaaaaabaaaaSuaSzaSAaTwaTvaTyaTxaTAaSAaPiaRwaTzaTzaTCaTBaTEaTDaTFaTDaMKaTGaTIaTzaTzaRwatcaFFaTJaEjaMFaLPaOnaKpaLNaLPaPDbhkbhtbhpaPFaPEaQAbhzbitbisbiTbiubjkbjcbjXbjMbkKbkIaQEaOvaOwaKOaODaKQaKQaKQaKQaKQaKOaTXaUaaMzaGXaMzaLcaGYaGXaLcbBOaGXaTZaGYaGXaUbaGYaMzaUdaUcaGXaUeaGYaMzaIEaIEaMkaIEaUfaMqaUgaQRaUiaUhaUiaQRaUjaMqaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaLdaLdaSdaOQaSdaUlaUkaUnaUmaSdaOQaSdaSdaLdaUoaUpaGnaHSaHSaHSaHSaHSaHSaTuaUuaUvaUqaUxaUsaUzaUuaTuaUwaUAaUyaUyaUyaUyaUyaUyaUBaNxaStaabaUEaUEaUEaUEaUEaUEaUEaabaSuaSzaSAaUFaUCaUHaUDaUFaSAaPiaRwaUJaUJaUJaUGaULaSCaUIaSCaULaUKaUJaUJaUJaRwaSNaFFaUMaEjaMFaLPaOjaKpaLNaLPaQFbuMaUQaUQaUQaUQaUQaUQaUQaNZaUQaUSaUSaUSaUSaUSaOaaGXaPGaPIaPIbJUaODaKQaKQaKQaKQaKQaKOaURaUaaMzaUTaGXaGYaGYaGXbJVbLCaMzaGYaGYaGXaGYaGYaMzaMkaGVaGXaGYaGYaMzaUWaGYaMkaGYaUUaUYaUYaMqaMqaMqaMqaMqaMqaMqaMraMraMraMraMraabaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdaRUaSdaSdaSdaSdaSdaSdaRUaSdaUZaLdaUVaUXaVcaVcaVcaVcaVcaVcaVaaTuaUuaVeaUqaVfaVeaVeaUuaTuaVgaVbaViaViaViaViaViaViaViaViaVjaaaaUEaVkaVdaVmaVlaVnaUEaaaaSuaSzaSAaVpaVoaVraVqaUFaSAaPiaRwaVsaVsaTCaVtaVuaTDaTFaTDaVuaVvaVwaTzaTzaRwaSNaFFaSOaEjaObaLPaOdaOcaLNaLPaQGbuMaUQaVzaVAaVCaVCaUQaVBaOfaVDaUSbxyaVFaVHaUSaOgaGXaPGaPIaPHaPJaKOaKOaKOaKOaKOaKOaKOaVNbLGaMzaMzaGXaGXaMzaMzbLHaVPaMzaGXaHPaGXaGXaMzaMzaVRaVQaGXaGXaGXaQLaUWaGYaMkaGYaUUaHOaHbaOFaYPbcDaVhbcDaYPaYPaYPaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaVSaVXaVSaVSaVYaVZaVSaVSaVXaWaaVWaLdaToaWbaVcaWdaWcaWfaWeaWhaWgaTuaUuaVeaUqaWjaVeaVeaUuaTuaWkaWlaWiaWnaWmaWoaWqaWraWpaWtaVjaabaUEaWuaWsaWwaWvaWxaUEaabaSuaSzaSAaWzaWAaWyaWCaWBaSAaPiaRwaSBaSCaWEaWDaULaSCaWFaSCaULaWGaSLaSCaSMaRwaSNaFFaWJaEjaMFaLPaISaOhaLNaLPaRvbuUaUQaWKaVEaVEaVEaWLaOlaOkaOmaUSaWQaWPaOxaOtaPgaGXaRPaRQaRQaRIaGXaJMaGXaGYaQIaHPaLcaWUaWXaWWaWYaGXaNhaGYaQIbBOaGYaGXaaaaGXaGYaGYaGYaGYaMkaXbaXaaWZaWZaWZaWZaXcaXeaXdaXhaXiaXfaXiaXgaVTaVTaVUaXkaXjaXlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaWaaVSaXmaXraXsaXtaXuaXvaXwaXxaXyaXzaXpaXnaSdaToaXqaVcaXBaXAaXFaXGaXFaXCaTuaXIaVeaXDaXHaXEaXHaXJaXLaXKaXMaXQaXQaXQaXQaXQaXQaXNaXSaVjaaaaUEaXOaWsaXPaWvaXRaUEaaaaSuaSzaSAaXTaXXaXVaXUaYaaSAaPiaRwaXWaXWaTCaXYaVuaTDaXZaTDaVuaYbaTIaTzaTzaRwaYcaIraYhaEjaMFaLPaLPaLPaLPaLPaPlaRJaPnaPmaPoaUQaUQaUQaUQaUQaUQaUSaPpaZVaPqaUSaOgaGXaGXaGXaGXaGXaGXaGYaGXaGYaHPaHPaGXaGXaGXaYnaGXaGXaGXaGXaGYbBOaWVaHNaabaHNaGYaYsaYvaYuaYyaYxaYzaYEaYEaYEaYEaYFaYGaYAaYIaYJaYKaYJaYBaYJaYJaYCaXoaYOaYPaYQaYRaYSaYSaYSaYSaYSaYSaYSaYSaYSafXajcaaaaaaaaaaaaaaaaaaaaaaYDaYUaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpaYMaYLaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaToaYWaVcaYYaYXaZfaZaaZhaZbaTuaZjaUraZcaZlaZmaZnaZdaTuaZeaZgaXQaXQaXQaXQaXQaXQaXNaZraVjaabaUEaZkaZiaZpaZoaZqaUEaabaSuaSzaSAaZsaZyaZtaZAaZuaSAaPiaRwaUJaUJaUJaYpaULaSCaUIaSCaULaZvaUJaUJaUJaRwaZxaZFaZGaEjaPtaPsaPsaPsaPsaPuaPxaPvaUQaPyaPzaUQaQmaQfaQnaUQaQoaUSaZDaZVaZEaUSaQpaZKaQqaZNaZNaZKaZXaZWaZWaZWaZWaZWaQxaZYaZWbaabacbabbaebadbagbMgbaibahbajbahbalbakaGYaGXbarbambanbaubavbaobaxbaybazbapbazbaBbasbaqbatbaFbaAbawbaIbaCbaEbaDaYPbaMbaNbaObaGbaQbaRbaHbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaYDbaWbaXbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaZaXsaXsaVXaXzaYZaXsaYZbbaaYZaXsaYZaXzaYVaYTaSdaTobaJaVcaVcbaKaUtbaLaUtaVcaTuaTuaTuaTubaSbaPbbhbbbaTubbjbbcbblaXQaXQbbmaXQbbebbdbbpaVjaaaaUEaUEbbqbbfbbqaUEaUEaaaaSuaSzaSAbbibbgbbkaZAbbnaSAaPiaRwaSBaSCbboaWDaULaSCaUIaSCaULaWGbbxaRwaRwaRwbbrbbzbbtbbsbbCatGatGatGbbEbbFbbvbbuaUQbbwaVEaUQbbJaUQbbKaUQbbLaQrbbBbbAbbHbbGbbUbbIaQtbbNbbQbbPbbRbbQbbQbbSbbQbbIbbTbbIaXfbbUbbIbbVbbXaSGbbZaZZbcbbcabcdbccbcfbceaXibcmbcgbcobcpbchbcibcsbcjbaybcubckbazbcwbcxbclbczbaFbcAbcBbcCbcDbcnbcFaYPbcqbcHbcHbcIbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaYDbaWbcJbcKbcLbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpbcrbcNaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaTobcvbctbcEbcybcSbcSaSfbcGbcMbcVbcWbcXbcPbcOaVebcQaTubdbbcRbddbdebcTbdgbdhbdibcUbdkaVjaaaaabaaabcYbcZbcYaaaaabaaaaSuaSzaSAbdcbdabdjbdfbdraSAaPiaRwbdmbdlaTCaZwbdoaTDbdpaTDbdsaZQbdzaRwbdubdtbdvbdDbdxbdwbbDbdHaaaaaabbEbdIbdBbdAaUQbdCbdEaVEaVEbdNaVEaVEaVEbdOaUSbdFaUSbdQaUSaUSaQuaUSbdTbdUbdKbdJbdMbdLbdTbdPbeabebbecbebbebbebbebbdSbeebebbefbdVbdWbeibebbdXaGYbaubekbcpbelbembenbeobepbeqberbdYbazbetbeubevbewbdZbcAbcBbcCbcDbaEbedaYPbegbcHbcHbcIbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaYUbeAbeBbeCbeBbeDaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehbejaVSaXmaXzaXsbeGbesaXsaXsbexbeGaXzaXpbeyaSdaTobeEbezbeMaRKbeMbeMbeMbeMbeMbeHaSfaTubePbeQbePaTuaTubeRbeIbeRaViaViaViaVibeRbeJbeUaVjbeLbeKbeKbeNbeObeNbeKbeKbeSaSubfaaSAbeTaSAbeWbeVbfeaSAbffaRwaRwaRwaRwbfgbfhbeXbeYbeXbfhbfgaRwaRwbeZbdDbdDbdDbdDbfbbdybfnbfobfpbbEbfqbdBbfiaUQaUQaUQaUQaUQaUQaUQaUSaUSbdObfsbftbfkbfjaQvaRLaSUaRNbdTbfAbfvbfCbfwbfEbdTbfxbfybfHbfzbfHbfJbfKbfMbfBbfFbfDbfIbfGbfNbfLbebbfObfQbfPbfSbfRbelbfYbfZbeobfTbazbfVbfUbfXbfWbgfbczbczbazbazbcBbcCbcDbcnbggaYPbgabgibgbbgkbgcbgmbaTbaTbgdbaVaaaaaaaaaaaaaaaaYDbaWbgobeCbeCbeCbgpbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehaVSaVXaVSaVSaVYaVZaVSaVSaVXbejbgeaLdbdnbeEaSdaSWaSWaSXaSWaSYaMsbgvbglaSfbgnbfcbgzbgzbgqbgrbgzbgubgzbgzbgzbgDbgzbgzbgwbgFbdqbgAbghbgBbgAbgCbgAbgAbgAbgAbgEbgMbgJbgzbgzbgKbfcbgQbgxbgSbgLbgObgNbgTbgPbgPbgPbgPbgPbgPbgPbgVbgUbhabhbbhcbhdbhebgWbgXbfdbdDbdDbhfbgZbhgbgZbhgaSZaTfaTaaWNaUNbhqaUSbhrbhlaYeaYdaZRaZRaWMbeFbfrbflbdTbhobhubhsbhsbhwbdTbhAbhCbhBbhEbhDbhDbhFbhHbhGbfMbhIbhJbhPbhQbhRbebbdXaTgbaubhKbhTbhTbhUbhVbhTbhLbazbhXbhNbazbhObhSbczbhWbazbhZbhYbiabcDaYPaYPaYPbibbigbihbiibigbigbigbigaYSafXajcaaaaaaaaaaaabicbikbilbeCbeCbimbinbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbgyaSdaSdaSdaSdaSdaSdbgyaSdaUZaLdbgHbieaSdbgtbgjbhmbhmbhvaMsbivbglbifbgGbfcbijbipbiobiqbiqbixbiwbiwbiwbizbiybiybiAbiCbiBbiqbiqbiDbiybiFbiEbiGbiGbiIbiHbiKbiJbiJbiJbiLbfcbgQbgxbgSbgSbgSbgSbiMbgSbgSbgSbgSbgSbgSbiNbiUbiVbiWbiXbiObiZbiQbiPbiRbiVbiVbiVbjdbjebjebjebiSbhqbhqbhqbirbhxbhqaUSbjabjjaZRaZRbiYaZRaWTbjmbfrbjKbdTbjobjfbjqbjhbjgbdTbjtbjibjvbjwbjxbjybebbebbjzbebbebbebbjBbjlbjBbebbdXaGYbaubjDbcpbcpbcpbjEbcpbjFbazbazbazbazbazbazbazbjnbazbcDbcDbcCbcDbjpbjIaYPbjrbjNbjLblwbgRbjubjsbjAbjRaaaaaaaaaaaaaYDbjCbjGbjCbjCbjCbjHbjCbjJbjCbjGbjCaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbjQaLdaSdaOQaSdbidbgIbjTbjSaSdaOQaSdaSdaLdbjUbeEaSdbkcbjObhmbhmbhvaMsbkdbglaSfbgGbfcbgzbjZbjYbkgbkgbkabkibkbbkgbkebkgbkfbkgbkhbjPbkgbkgbkgbkgbkgbkjbkkbkgbklbkrbknbkmbgzbgzbkpbkobksbkqbkubktbkubkvbkwbkvbkvbkvbkvbkvbkvbkybkAbkzbkzbkzbkzbkBbkzbkCbkDbkzbkzbkEbkGbkFbkFbkFbkFbkFbkFbkFbkHbhqbhqaUSbkMbkNbkPbkObkOblrblsbjmbfrbltbdTbdTbdTbdTbdTbkLbdTbkQbkRbkWbkSbfHbkYbebbhMbkTbkUblcbkVbleblfblgbebbdXaQLbaublhblibcpbljblkbcpbllbllbaubkXblabkZaYPbldblnblmbcDbcDblpbloaYPblqaYPblIdsfbjLblxbmgbmnbmmblzbjRaaaaaaaaaaaabicbmXblubmYbmYblDbeCblCblDblAblvblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdbgyaSdaToaSfaSfaTpaSdbgyaSdbjVblybjWblFaSdbmobmoaSXbmoaSYaMsblJbglaSfaMsblKblKblGblMblMblMblMblMblMbkxblHblMblMblMblMblMblMblPblQblRblRblLblRblTblNblVblTblTblWblXblOblKblZblZblSblSblSbmbbmbbmbbmbbmbbmbbmbbmbbmcblUblUblYblUbmabmabmabmabmebmdbmabmcbmibmibmibmibmibmibmibmibmfbmfbmfaUSbmkbmlbmrbmrbmrbmrbmNbmMbmWbmqbnmbnlbmjbmhbmtbmsbdTbbWbmubmybmzbmybmybebbmAbmvbmwbmwbmwbmwbmBbmxbebbmCbmHbaubmIbcpbljbljblkbljbcpbmDbaubmEbmGbmFaYPbcDbmJbmObmPbmPbmKbmRbmLbmTbmUbolbomboOboHboDbmmbmmblzbjRbjRbjRbjRbjRbicbBTbDzbDzbDzbmQbeCblCbnbblAbeCbncbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdblBaSfblEbmSbnabnibmVbndbnibnfbnebnibnibnkbnjboNboMbnnbnnbnnbnobnnbnpbnuaMsbnvbnwbnqblMbnybnrbnAbnBbnCbnDbnsbnFbnGbnHbnIbnJblMbnKbnLblRbnxbntbnzblTbnEbnQbnMblTbnSbnTbnNbnSbnSbnSbnObgSbnPbmbaaaaaaaaaaaaaaaaaaaaabmcbnUbnRbnWbnVbnYbnXboaaYfbocaCubohbmcaaaaaaaaaaaaaaaaaaaaabmibodbhqboeaUSbokbmlbmqbmqbmqbmqbmqboSboUbmqbmqbmqbogbofbofboibonbojbopbooborboqbosbebboubotboBboAboAboBbowbovbebbdXaGYbauboEboFbcpbljblkbcpboGboGbaubauboybauaYPbozblnbloboJboJboCbloaYPaYPaYPbpCbmmbEFbpEboDbmmbmmbmZbAMboIbrMbrMboIboKbDzbDzbGJbGJbnbbeCblCbnbblAbeCblCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdboLboPboLboLboLboLboLboLboPboLboLboQaSfboRbgGbwxaSfbpFaSfboTboXboYboVboWaMsbnwbnwboZblMbpabnDbnDbnDbnDbnDbnsbpdbnDbnDbnDbpeblMbnKbpfblRbpbbphbpiblTbpjbpcbpgblTbplbpkbpmbppbpnbnTbnObgSbnPbmbaaaaaaaaaaaabmcbmcbmcbmcbprbpobptbpqbpubpsbpwaYgbpzbpxbpBbmcbmcbmcbmcaaaaaaaaaaaabmibodbhqbpAbpybpHbpGbpJbpIbpHbpKbqhbpMbqjbqibqkbmqbpNbpLbofbpObpPbofbpRbpQbpTbpSbofbpWbpVbpUboBboAboAboBbpXbqabebbdXaTgbaubmIbcpbljbljblkbljbcpbcpbpYbqcbcpbqdaYPbpZbmpbqgboJboJbqebqgbqfaYPbqmbqlbmmbjRbjRbrcbrdbjRbjRbjRbqnbjRbjRbjRbqpbjCbjCbjCbjCbqobeCblCbqoblAbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaLdaMsbgGbqqbqrbqrbqrbqrbqrbqrbqsbqrbqrbqraMsbnwbnKbqtblMbqubnDbnDbqvbqwbqxbqybqvbnDbnDbnDbqzblMbnKbnLblRbqAbqBbqCblTbqDbqEbqFblTbqGbqHbqIbqJbqKbnTbqLbqMbnPbmbbmbbqNbmcbmcbmcbqObqQbqPbqRbqSbqSbqTbqUbqSbqVaYibqWbqXbqYbqZbrbbrabmcbmcbmcbqNbmibmibodbhqbhqaUSbrfbrebqibrgbmqbrhbribmqbshbrHbqkbmqbogbofbofbrjbrlbrkbrnbrmbrpbrobofbrqbpVbrrboBboAboAbrsbrubrtbebbdXaGYbaubrvbrwbrxbljblkbrybcpbcpbrzbcpbrAbrBaYPbrCbrEbrDboJboJbrFbrDbrGaYPbsMbqlbmmbsObsPboDbmmbmmbrIbrJboIbrLbrMboIbrKbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrNbrObrObrQbrObrObrObrRbrObrObrPaabaSdaUlaMEbrSbqrbrUbrVbrWbrXbrYbrTbsabrZbqrbscbsdbsbbseblMbsfbnDbnDbqvbqxbsgbsQbqvbnDbnDbsjbskblMbnKbnLblRblRbslblRblTbsibsnbsoblTbsmbqJbsqbqJbsrbnTbnObssbnPbgPbgPbspbsubstbmcbsvbptbswbqSbqSbsybsxbsAbszbsAaYjbsDbsCbsFbsEbsHbsGbmcbsIbsubsJbsLbsKbodbhqbhqbsNbmqbsZbmqbmqbmqbtnbtobmqbshbtrbqkbmqbpNbofbofbsRbsTbsSbsVbsUbsWbrobsXbebbqabrrboBboAboAboBbrubsYbebbtwbtebaubtfbaubaubtablkbthbtibcpbtjbtbbtlbtcbmUbtdbtgbtpbtqbtqbtkbnZbtmbmUbuDbtxbuGbuFbmmboDdsfbmmbuHbjRbjRbjRbjRbqnbicbttbeCblCblDblAbeCblCblDblAbeCbtubicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrNbtvbtybtCbtDbtDbtzbtDbtDbtDbtzbrQaSdaSdaSdaToboRbqrbrUbtFbtGbrUbtBbtAbtHbtEbqrbtLbtMbtIblQblMbtObtPbtKbtJbtQbtNbtSbtRbtRbtRbtUbtTblMbnKbsdbtYbtZbtVbubblTblTblTblTblTbucbudbtWbufbugbnTbnObssbgSbgSbgSbtXbuebuabuibuhbujbqSbunbukbumbulbupbuoburbuqbutbusbuubuhbuwbuvbuybuxbuAbuzbuEbuEbuBbhqbuCaUSbmqbuIbuNbqkbmqbuQbuRbmqbvbbuSbqkbmqbogbofbofbofboibofbuJbofbsWbrobuKbebbuPbrrboBboAboAboBbrubuLbebbvcbvgbvebwkbvhbwmbuTbuWbuVbuVbuVbuVbuVbuVbuXbuZbuYboJboJboJboJboJboJbvdbvabwubwtbmmbmmbmmbwAbmnbmmbwBbqnbwDbwCbxzbjRblDblAbeCblCbnbblAbeCblCbnbblAbeCblCblDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvibvjbvjbvjbvjbvjbvjbvjbvjbvjbvjbvfbvlaOQbvlaSfboRbqrbvmbrUbvnbvnbvnbvkbrUbvobqrbvqbvrbtIbvsbvsbvsbvsbvpbvsbvtbnDbvvbngbnhbnhbvubvxblMbvzbvBbvAbvDbvCbvFbvGbvHbvIbvHbvJbvJbvJbvJbvJbvKbvEbnObvLbvNbvMbvPbvObvRbvQbvTbvSbuobvUbvVbvXbvXbvXbvXbvWbvXbvZbwabwbbvYbvUbwdbwcbmcbwebwgbwfbwibwhbwjbhqbhqbsNbmqbEabmqbmqbmqaZVbmqbmqbxAbxAbmqbmqbwlbofbofbwnbwobofbofbofbwqbwpbwrbebbqabrrboBboBboBboBbrubwsbebbxBbwvbwvbwwbwvbxKbljbljbljbljbwybljbljbljbwzbvaboJboJboJboJboJboJboJbvdbvabwubwtbmmbxObxObycbxObmmbyZbjRbzlbzdbzmbjRbnbblAbeCblCbnbblAbeCblCbnbblAbeCblCbnbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwFbwEbwGbwHbwIbwIbwJbwIbwIbwIbwJbrQaSdaSdaSdbvwblFbwLbrUbwMbvnbvnbvnbvkbwMbrUbqrbvybwKbtIbvsbwPbwQbwRbwSbvsbwUbwTbwVblMbwWbwXbwNbwYblMbnKbxabxbbxbbxcbxbbxbbxbbxbbxebxdbxdbxdbxfbxdbxgbxhbxibxjbxkbxlbxlbxlbxlbxlbxmbxmbxnbxmbvXbvXbxobxpbxqbxrbxtbxsbxobxubvXbxvbxwbxvbxvbxvbxvbxvbxvbxvbwjbhqbhqaUSbxxbmqaVGbJQbmqbznbmqbzobxDbxCbmqbxEbdTbxFbxGbdTbdTbxHbxJbxIbxJbdTbdTbebblbbxLbxMbxMbxMbxMbxLbxNbebbKVbwvbwvbwwbxPbaubxQbxRbxSbxTbxUbxVbxWbxXbxYaYPbxZbcDbyaboJboJbyabcDbybaYPbzpbwtbmmbzObzObAjbzObmmbwBbqnbwDbwCbxzbjRbqoblAbeCblCbqoblAbeCblCbqoblAbeCblCbqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwFbrObrObrQbrObrObrObrRbrObrObydaabaSdbwObmSbyfbqrbtFbtFbtFbrUbyhbygbyjbyibqrbwZbyebtIbvsbymbvsbynbyobvsbyqbypbyrblMbwWbwXbwNbskblMbnKbxabxbbytbysbyubyvbywbxbbyybykbyxbylbyBbyBbyBbyCbyEbyDbyFbxlbyGbyHbyIbyJbyLbyKbyMbyNbvXbyObxqbxqbyPbyQbyPbxqbxqbyRbvXbySbyUbyTbyWbyVbyYbyXaZObxvbzabzbbzbbzcaUSaUSaUSaUSbAvbsNbAvbzeaUSbdRaUSaUSbdTbdTbdTbdTbzgbzfbzfbzfbzfbzhaQsbebbjBbzjbjBbzkbzkbjBbzjbjBbebbKVbwvbwvbAxbxPbaubaubaubaubaubtfbaubaubaubauaYPaYOaYQaYQaYQaYQaYQaYQaYPaYPbAJbAIbALbAKbmmboDbmmbmmbBrbjRbjRbjRbjRbqnbicbzqbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaMsaMsaMsaMsaMsaMsbzrbzsbqrbqrbqrbqrbqrbqrbztbqrbqrbqrbnKbnKbzwbvsbzubzvbynbzxbvsbzzbzybzAblMbwWbwXbwNbnDblMbnKbxabxbbzDbzBbzCbyvbzCbxbbyybyzbzEbzFbzIbzHbzKbzJbzMbzLbyFbzRbzNbBsbzPbzQbzQbzPbzUbzSbvXbzTbxqbxqbyPbzWbyPbxqbxqbzVbwbbzXbAbbzYbzZbAabAdbzYbAcbxvbAlbAebAfbAgbAhbAicMKbAkbAkbAkbAkbAkbAkbAmbAobAnbAkbAkbAqbAkbAkbAkbAkbAkbAkbAkbAkbApbAsbArbArbArbArbArbArbAtbAibAucVscVscVtbAwbAybAwbAzbAwbABbAAbACbAwbAFbADbAEbAHbAGbAGbAGbAGbAGbAGbAGbBtbBPbBNbBNbBQbBNbBUbmmbmmbrIbAMboIbANbrMboIbAObeCbeCbeCbeCbAPbeCbAPbeCbeCbeCbeCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAQbARbARbARbARbASbASbARbARbATaaaaabaSdaUlaMEbAVbAUbAXbAWbAWbAWbAWbAYbAZbBablQbnwbBcbBbbvsbvsbvsbBdbyobvsblMblMblMblMbwWbBebyAbBfblMbBhbBibxbbBjbBkbyvbzCbBlbxbbyybzGbzEbzFbBnbBobBpbzJbBqbzLbyFbzRbDobCAbDsbBubBvbBwbzUbBxbvXbBybyPbxqbBAbBzbBAbxqbyPbBBbxubBCbzYbzYbzZbBDbAdbzYbBEbxvbBFbAfbAfbAgbAhbAibAkbAkbAkbAkbAkbAkbAkbBGbAkbAkbAkbAkbAkbAkbBHbBIbBIbBIbBIaQwbBIbBIbBIbBIbBIbBIaQwbBIbBIbBIaQybDVaQDcVUaRubwvbwvbwvbwvbwvbwwbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvcVVbwvbDtbDubmmbmmbDvbmmbmmbmmbmmbDxbjRbqnbjRbjRbjRbqpbjCbBWbBVbjCbBXaYUbBXaYUbBYbBRbBSbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbCcbBZbCebCbbCbbClbCibARbATaSdaSdaSdaTobCnbCfbCgbCfbCfbCfbCfbChbCtbCjblQblQbCkbCwbvsbwPbCmbCxbzxbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCybCubzCbCvbCzbxbbyybzJbCBbzFbBnbBnbCEbzJbCFbzLbyFbzRbDybCAbDsbCGbCCbBwbzUbCDbvXbCHbCIbxqbCKbCJbCLbxqbCRbCNbCSbCMbCTbCObCPbCQbCUbzYbCVbxvbCYbCXbAfbAgbAhbAibAkbCZbAkbDAbDbbDbbDbbDbbDbbDbbDbaRybAkbAkbAkbAkbAkbDabAkaRAaRCaRBaRCaRCaRCaREaRHaRFaSFaROaSHbFsaSKaSIaTHaSVbwvbwvbwvbDkbDpbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDrbDqbDqbElbEBbEmbFwbEHbEHbFzbGIbGhbmZbAMboIbrMbrMboIbDBdsldsldsldsnbicaaabicbDDbDwbDwbDFbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbDGbCbbCbbCbbCbbCbbCbbCbbDHbDCaOQbDCaSfbDIbCfbDEbDJbDLbDKbDMbChbDObDNbDQbDQbDWbKHbvsbvsbvsbynbDYbymblQblQblQblQbDPbnKbnKbCsbnKbCrbCsbxbbDZbDRbDSbDTbyvbxbbDUbzJbEbbzFbBnbBnbEfbDXbEjbzLcXqbxlbHpbHobzPbzPbzPbzPbzUbEcbvXbEdbEebvXbvXbvXbvXbvXbvXbvXbxubxvbErbEgbEhbEibEsbEkbEvbxvbEwbEnbEnbEpbEpbEpbEpbEpbEpbEqbEybEpaTLaTKaTMbEpbNebEobEobEobEobEobEubEubEuaTNbEubEubEubEubEubEuaTObEubEubEubteaTPaTQbwvaTRaTRbEAbEAbEAbEAbEAbEJbDqbDqbDrbDqbwvbDqbDqbDqbDqbEMbEDbEDbEDbEDbENbEFbEFbEGbEGbEGbEGbEGbEGbEGbjRbjRbjRbjRaYUdsqdsldslbEObicaaabicbEPbDwbDwbEQbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbEKbELbELbCbbELbELbELbARbERaSdaSdaSdaTobEVbCfbEYbEXbEXbEXbFcbChbnKbFfbESbETbEUbFgbvsbwPbEWbynbFhbymbFibEZbFabFbbFlbFdbFdbFebFdbFnbFobxbbFqbFpbFjbFkbFrbFmbNsbyBbFubFtbBnboxbFybFxbEjbzLcYPbxlbFAbFvbJabFFbFIbFGbFMbxmbxmbFBbFCbFDbFEbFNbFEbFPbFCaaabFHbxvbFRbFJbFKbFLbEsbzYbFSbxvbFUbFObFWbEpaTTaTSaTVaTUaTYaTWaUPaUObGabGabGaaVxaVIaVyaWOaWIaWSaWRbEuaYkaYoaYlaYraYqaZUaZTbobbbybuOaZTaZTbzibGrbGrbBJbGrbBKbBKbEAbGubGAbGwbEAbGBbGEbGBbEAbGFbDqbEMbEDbGKbGLbGKbEDbGCbGDbEDbGNbGMbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaabaabbicdsudswdsvdsvbicaaabicbGObDwbGObDwbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGPbARbARbARbARbARbARbARbARbERaaaaaaaSdbBgbmSbHabCfbHdbCfbHebEXbHfbGQbChbHgbGSbGTbGUbFgbvsbvsbvsbvsbvsbvsbGVbGWbGXbGYbGZbxbbxbbxbbxbbxbbxbbxbbHhbxbbxbbxbbHbbxbbHcbHibHjbBnbBnbBnbHnbDXcZfbzLcZjbxlbHqbFvbxlbxlbxlbxmbHrbxmbHkbHlbHmbHubHBbHzbHDbHCbHsbHtbHFbxvbHvbzYbHwbHxbEsbHybzYbxvbHHbHAbHIbEpbBMbBLbJFbGabGabCWbDdbDcbDfbDebDhbDgbDjbDibSnbDlbDnbDmbEubEtbEzbExbECaZTbEEaZTbFQbEIbuObFTbFXbFVbGrbIfbFYbIgbFZbBmbIabGcbIdbIdbImbIcbIlbInbEAbIibIrbIkbEDbItbIwbIvbIobIpbIybEDbIzbGGbIsbGHaaaaaaaaaaaaaaaaaaaaaaaaaabaabbIAbjJbIubIubIubICaaabIEbIxbIxbIxbjJbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaToaSfbIGbCfbIHbIBbIIbIDbIDbIJbILbIKbIMbIMbIObINbDQbDQbDQbDQbDQbDQbIQbIPbIPbIRbITbxbbIVbIUbIYbIXbISbIZbJfbJbbxbbIWbJibyBbyCbDXbHjbBnbBnbJjbzJbzJbJmdaQdbnbJcbJdbJebJpbJgbJhbJsbJtbJkbJlbJubHsbJnbJvbJnbJvbJwbHsbHtbJqbJrbJybJxbJDbJzbJGbJEbJHbJrbJIbFObFObEpbGebGdbGgbGfbGabGibGqbHObDebDebDebGtbGxbGvbSnbDlbGzbGybEubHEbHJbHGbHLbHKbHMaZTbFQbEIbuObFTbFXaZTbGrbHNbHQbHPbHSbHRbHUbHTbHVbJYbJYbKhbJYbIbbKbbGbbKdbGkbKfbKqbKrbKibKibKibKjbEDbKubGGbKlbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbIAbKmbKmbKmbIFaaabIAbKmbKmbKmbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbGmbGlbKpaMdaMdaMdbmSaSfaSfbCfbKCbCfbKDbKsbKtbKEbCfblQbKvbKvbKwbKFbKwbKwbKwbKFbKwblQblQbxbbxbbxbbKGbxbbKzbKzbKzbKzbKzbKzbJfbKAbKBbPabzFbKIbKKbKJbKMbKLbKObKNbKQbKPbKSbKRdbYbKUbKXbKXbLabKZbKTbLbbLfbKWbLgbKYbFCbLhbHDbLibHBbLkbFCaaabLcbLdbLebLnbLdbLdbLdbLdbLpbxvbLqbLrbIechhbIjbIhbJAbIqbJCbJBbJJbHObJLbJKbJTbJPbJXbJWbKabJZbKcbOUbEubEubEubEubEubKebKgaZTbFQbEIbLjbFTbFXaZTbGrbLNbLEbLPbLmbLlbLIbLTbLobLLbLMbLUbLObKkbEAbGRbLRbKnbEDbKobKybKxbIpbLWbNCbEDbKubGGbMhbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbLYbLXbKpbLZbLZbMabMbbLZbMcbCfbMebIBbMlbMkbMnbMmbCfaaaaabaabbMpbMobMobMobMobMobMraaaaaabKBbMdbMsbMubMqbKzbKzbKzbKzbKzbKzbMwbMvbMzbMybMDbMBbMxbDXbzJbzJbMFbMAbzJbzJbMJbMCbMLbMEbMMbMGbMGbMHbMGbMIbMNbMGbMKbKYbFCbMObFEbFEbFEbMPbFCaaabLcbLdbMRbMQbMVbMTbMWbMSbNbbMUbNcbFObLschhbLubLtbLwbLvbLybLxbLxbLzbGabLAbLBbEobEobLDbLFbDlbLQbLKbLVbLSbMYbMXbLKbMZbNdbNabFTbEIbNfbFTbEIaZTbGrbNgbHXbHXbLmbNhbNEbNibNjbNHbNIbNJbNObNNbEAbMfbLRbMibEDbMjbNPbMtbIpbIpbNUbEDbIzbGGbNWbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbKpbKpbObaSdaSdbjQaLdaSdaSdbCfbOdbIBbIBbIBbCfbCfbCfaaaaaaaaabOebOcbOcbOfbOcbOcbOeaaaaaabKBbNQbKzbOibOhbOhbOhbOhbOhbOkbOjbOhbOlbOnbOmbOpbOobOrbOqbzJbOtbBnbOvbOsbDXbOwbOubOxbMEbMEbMGbOAbOybOCbOBbODbMGbFBbKYbFCbOEbOHbOFbOObOMbFCaaabOGbLdbOPbOIbOJbOKbOLbOKbOSbONbNkbFObNlchhbNnbNmbNpbNobNqbGabNybNrbLybLAbNzbEobNDbNAbNGbNFbNLbNKbORbNMbOVbOTbLKbOWaZTbOXbFQbEIbOYbFTbFXbFVbGrbOZbLEbLPbUlbNBbNEbPnbPbbPobPpbIdbPqbPybPsbPtbIrbPubEDbPzbPwbIpbPHbPBbPJbEDbKubGGbPAbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbPIbPIbPIbPNbPMbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbNRbPObPPbPQbPQbPQbPObKzbJfbKAbKzbKzbKBbPZbPSbQcbQdbPVbQebPXbBnbBnbPYbDXbOwbOubQhbQfbQbbQibQkbOzbQlbQgbQnbMGbQobQjbHmbQpbQqbQmbQsbQrbHsbHtbQtbLdbQvbQubQwbOKbQxbOKbQybONbQzbFObPdbPcbPebLtbPfbEpbPhbPgbPmbEpbPvbPrbPxbEobPGbPFbQabPKbQAbNKbQCbQBbQEbQDbLKbFXaZTbQFbQHbQGbQIbNdbQJbNdbQLbQKbQKbQKbQNbQMbIabRkbPbbPobRlbRhbPqbRmbEAbRnbRnbRobEDbRpbRybRqbRzbIpbREbEDbKubGGbRFbGHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbRubRvbRwbRxbRGbRHbRAbRGbRBbRCbRDbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbRJbRIbRKbRIbNSbRRbRTbRRbRRbRRbRRbRUbJfbKAbRLbxbbxbbRMbBnbzFbQdbRNbDXbRObRPbRPbRQbNYbRYbRXbRZbRVbRWbSbbSdbScbSabQgbSebMGbMKbKYbFCbSfbShbSgbSlbSkbFCaaabOGbSibSjbSibSibSibSibSibSmbSibSpbFObQOchhbQQbQPbQQbEpbNobNobNobEpbQSbQRcmAbQTbQWbQUbQZbQYbRabLKbQCbRbbOVbRcbLKbWdbWdbWdbRebRdbEubEubEubEubGrbJobHXbHXbRfbSTbIabSWbRibRgbRrbRjbPqbSYbTabSZbTfbTcbTbbTgbTdbTebTjbTebEDbEDcacbGGbGHbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbRAbRAbRAbTlbRGbTnbTnbRGbTobRAbRAbTpbWLbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbTtbTrbTqbTrbNTbKzbPPbPQbPQbPQbKzbKzbJfbKAbTsbTxbxbbTAbBnbTBbQdbTvbDXbJObBnbBobBnbPWbOwbTybTzbRVbRWbTCbTEbTDbTKbTFbTLbTGbTHbTIbTJbTJbTNbTMbTPbFCbFCaaabOGbSibTQbTObTSbTRbTVbTTbTWbTUbTXbFObRsbQVbSobRtbSrbSqbStbSsbSvbSubUebQRcmAbOUbOUbSwbSybSxbOQbLKbNKbSzbSAbLKbLKbWdbSCbSBbSEbSDbWgbSFbSHbSGbGraZSbpDbSIbUCbUCbIabSJbUEbUFbIabSKbPqbUHbIabUKbUMbULbUObUNbZNbpvbsBbqbbRnbtscacbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbVebVfbVgbVhbVibRGbVkbRAbVlbRAbRAbRAbRAbRAbTlbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebVmbOcbOcbOcbVnbOebPTbKBbKBbOgbKzbPPbKzbKzbKzbKzbKzbJfbKAbTsbVpbxbbVrbBnbVqbVsbBnbVwbzEbBnbBnbVtbDXbOwbTybTzbRVbRWbMGbVubVvbVybVxbVzbMHbVBbVAbVDbVCbHsbVEbVFbHsbHtbHtbVGbSibVIbVHbVKbVJbVLbVLbVNbVMbVObFObSMbSLbSObSNbSPcrAcrAcrAcrAcrAbSRbSQbSUbSSbSVbXAbSXbRtbXAbThbXAbJRcuobJSbTZbTYbUabUabUcbUbbWgbUdbUfbUdbWibWibWjbWjbWjbWjbIabIabIabIabIabWlbWnbLIbIabNVbNZbNXbWqbWqbPibOabLRctvbPkbPjcacbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGbRAbRAbWHbWHbWHbRGbRAbRAbRGbWIbWJbWKbRAbWMbWNbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbWPbTrbTqbTrbNRbWQbWRbKzbKzbKzbWQbKzbJfbKAbTsbWSbxbbWWbBnbzFbQdbBnbzJbLJbBnbBnbWUbDXbOwbTybWVbRVbWXbMGbXbbWYbWZbXabXdbMHbXcbXebXgbXfbXibXhbXjbFCaaaaaaaaabSibXpbXkbXlbXlbXmbXnbXobSibXrbXqbUhbPUbUjbUibUrbUkbUnbUmbUmbUmbUpbUobUmbUmbUqbUmbUmbUsbUnbUmbUmbUGbNubNtbUwbUvbUBbUybZfbUDbXNbUIbUIbUIbUJbWgbLRbUPbWqbWqbXYbXXbWqbXZbYbbYabYdbYcbWqbPlbYgbYfbYibYhbYlbYjbYjbYjbYjbYjcacbGjbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGbRAbRAbRAbRAbRAbYtbRAbRAbRGbPIbPIbPIbPIbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbYxbYwbYybYwbTubRSbUgbUgbUgbUgbUgbYCbYEbYDbTsbYFbxbbYGbYIbYHbYNbYJbYKbYLbYLbYLbYMbYMbYObTybYRbYQbRWbMGbYTbYSbYVbVvbYWbMHbYUbYXbZdbTJbZebQmbYYbFCaaaaaaaaabSibYZbZabZbbZcbXmbXnbXobSibZgbZJbURbUQbUTbUScyTcyTbUVbUUbUXbUWcyTbUYbUZbUZbVabUZbUZbUSbUVbUZbVcbVbbVdcyTbVPbVjbVRbVQbVTbVSbVVbVUbVXbVWbVZbVYbWcbWbbWcbWcbWebUNbZMbUNbZNbUNbZPbZObZObPCbPDbZRbZUbZTbZXbZVbVobZWbYzbYjcacbGGbGHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcafcagcahcaibRAbRGbRAbRAbRGbRAcancakcaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbxbbxbbKBbKBbKBbKBbKBbxbbxbbKBbKBbKBbxbcamcamcamcascambYMcaocapcaqcatbYMbOwbTycawbMEbMEbMGbMGbMGbMGbMGbMNbMHbTJbTIcaubTJcavcaxbFCbFCbFCbFCbFCbSibSjbSibSibSibSibSibSibSibNvbFObWfbSLbWkbWhbWobWmbWscaAbWubWtbWxbWwbXGbWubWabWybWabWybWabWybWabWzbWAcrAbTZbWBbWDbWCbWFbWEbXNbXsbXubXtbXvcbdcbdcbecbdcbfcbicbfcbfcbfcbhcblcbjcbjcbkcbmcbocbnbZUcbpcbrcbqbYAcbsbYBbYjcacbGGbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbPIbPIbPIbPIbPIbRGbTobRAcbzbRAcbxcbycbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbDcbBbOccbCbOccbEcbFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbGaabaaaaaaaaaaaacamcbIcbHcbKcbJbYMcbNcbLcbMcbRbYMbOwbTycbOcbPcbQbXwcbVcbTcbUcbWcbYcbXbXxcbZcccccbccfccdcceccgccjcchccibXybXzcclccmbEnccnbFOccoccpccrbFObXBbQVbXCcaAcaAbXDbXDcaAbXFbXEbZhbXHbZibXIbWabXKbXMbXLbXMbXObWabXPbWAbXRbWdbXSbXUbXTbXSbXSbWibXVbXWbXQbYkcbdccTccSccVccUccXccWcdbcbfccYccZcdacbjcbjcdccbocddcdfbPEcdhcdgcdicbucdkbYjcdndfcbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIcdlcdmcdpcdlcdobRGbRAbRAbRGbRAcdrcdqcdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdvcdtcducducducdtcdwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacamcdycdxcdAcdzbYLcdBcdDcdCcdEbYMbOwbNwcdFbTybTybYmbYncdIcdJcclcdObYobYpcdMcdNcdNcdQcdPcdRcdNcdNcdTcdNcdNcdScclccmbEncdVcdUcdXbYqcdZcdYbFOchfbYrcaAbZjbYsbYsbXJbZhbZkbZnbZlcaBbZmbZpbZobZrbZqbZtbZsbZvbZubWAcuvchrbZwbZybZxbZAbZzbZBccQbXWbXQbZBcbdcezceyceBceAceDceCceGcbfceEccZceFceFcbjceHceJceIceLceKceNceMbGnceOceSbYjcaccLhbGpbGobGsaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGceRceRceRceRceRceTbRAbRAbRGbPIbPIbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceVceUceUceUceWaaaaaaaaaaaaaaaaaaaaaceXceZceYceZcfaaaaaaaaaacamcamcamcffcfbcdAcfcbYLcfdcbMcfecfgbYMbOwbNxbTicficflcfkbZDbZCbZFbZEbZHbZGbZIcfscftcftcfxcfvcfvcfvcfvcfvcfvcfvcJfcfycfzcfBbZLbZKbZYbZScabcaacadchfcajcaAcazcalcaCcaEcaEcaDcaGcaFcaIcaHcaKcaJcaMcaLcaOcaNbZvcaPcaQcuvbZzcaRcaTcaScaVcaUcaXcaWcaZcaYcaXcbdcgccgbcgecgdcghcgfcggcbfcgiccZceFceFcbjcgjcgmcgkcglcgncgpcgocgrcgqcgvbYjcaccgscgtcgscgucgycgucgucguaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFeaFfaFcaFfaFgaaaaFiaFhaykaFkaFiaabaaaaabaaaaaaaabaDbaDbaFjaFmaDbaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaFlaFoaDCaDDaFvaFwaFsaDFaDEaDDaDGaFvaFvaDIaDHaFBaFAaFyaFyaFyaFyaFyaFyaFyaDJaDLaGraDMaEjaDOavqavqavqavqavqaBsaDQaEkaEhaEnaEmaBsaEoaDNaFTaFUaFPaDPaFVaEqaFWaFYaDPaJEaJpaJFcXHcXHcXHcXHbWraaaaaaaabaabaaaaaaaaaaaaaaaaabaabaDSaDSaFZaDSaDSaabaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaAfaGbaGaaCPaAfaCPaCPaGdaGcaAfaAfaAfaAfaAfaAfaaaaabaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFgaaaaaaaGgaFiaGeaFiaGhaabaaaaabaaaaaaaabaGjaGiaGlaGkaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGmaEraGpaEtaEsaEuaEsaEvaEsaExaEwaGraGraEzaEyaGraGraGraGraGraGraGraGraGraECaEEaEDaEGaEFaEHaAQaASaEIaASaAQaBsaEJaFnaEPaFnaFnaBsaDsaDNaFpaGNaFqaDPaFraGRaGQaEQaDPaJGcXHaKycXHcXHbYecWGbWraaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGSaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaGVaHbaMzaGYaGYaGYaIEaGYajcaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaGnaGnaGnaGnaGnaGnaGnaGnaabaabaGjaHcaHaaGZaGjaHdaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaHearTaHfaFuaFtaFxaHnaFzaHnaFCaHqaHnaHnaFEaFDaHnaHnaHnaHnaHnaHnaHnaFHaFJaFIaFKaHvaHxaEjaFMaAQaFNaASaFOaAQaBsaBsaBsaBsaBsaBsaBsaFQaDNaHCaFUaFRaDPaFSaHGaFWaHHaDPbZQbYeaKBcXHcXHcXHcXIbWraabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaGTaHKaHIaHJaGTaabaaaaabaaaaaaaabaaaaaaaGXaHNaGXaHNaGXaHbaGYaGYaGYaGYaGYaGYaGYaGYaGYaHOaGXaGYaJOaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaHQaHLaHQaaaaaaaaaaGnaHSaHTaHSaHRaHMaHUaGnaaaaaaaGjaHVaHXaHWaIaaHSaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIbaIcaIcaIeaIeaFXaLAaIhaIhaGqaLAaGsaIlaIiaIiaIlaGtaIlaIoaIoaIoaIoaIoaIoaImaIoaIoaInaIraIpaEjaGuavqaAQaAQaAQavqavqavqaydaGvaGwavqavqaGxaDNaIwaFUaGyaDPaGzaGRaGQaEQaDPcXIcXHaLYaKPcXHbYebZQbWvaabaabaaaaaaaaaaaaaHQaIzaHQaaaaabaGTaIBaIAaICaGTaIFaIFaIFaIFaIFaHNaHNaHNaGXaIDaGYaHOaHPaMzaGYaMqaMqaMqaMqaMqaMqaMqaMqaMqaGXaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaIIaIGaIIaaaaaaaabaGnaIHaILaHSaHSaIJaHSaGnaIIaIIaGjaGjaIMaIKaIaaHSaGnaGnaIIaIIaIIaGnaGnaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaIbaIPaGAaGCaGBaGDaLAaGFaGEaGGaLAaGHaIlaIWaIZaGJaGIaHgaJaaJdaLZaJfaJeaJhaJgaJjaJiaJkaFFaFGaEjaGKavqavqavqavqavqavqavqavqavqavqavqavqaGLaGOaGMaHhaGPaDPaHiaHjaJyaJBaDPcWGbYeaMbaMaaODaODaODaODaODaODaODaaaaaaaaaaHNaJCaHNaaaaIFaGTaGTaJDaJHaGTaJIaGYaGYaGYaMzaJJaGYaJMaGXaGYaGYaGYaJKaMzaGYaMqaNkaNnaNmaMqaNpaNoaNqaMqaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJPaJSaJQaaaaJRaJVaJTaabaabaIIaHSaIIaaaaaaaabaGnaJXaJYaJZaJWaJUaKaaGnaKbaHSaKdaKcaKfaKeaKeaKeaKeaKeaKeaKeaKeaKgaGnaaaaKhaaaaaaaaaaaaaaaaaaaaaaaaaIbaKkaHkaKmaKnaHlaLAaHmaKraHoaLAaGHaIlaKtaHYaKvaGIaHgaKqaKsaKsaKsaKsaKsaJgaKwaJiaFyaFFaFGaEjaFMaLPaLPaLPaLPaLPaHpaKOaKOaKOaKOaKOaKOaKOaDNaDNaLVaDNaDPaDPaHsaDPaDPaDPaMhaMeaMjcYKaODaKQaKQaKQaKQaKQaODaaaaaaaaaaHNaKJaKMaaaaIFaKRaKTaKSaKWaGYaGYaGYaMzaGYaMzaKXaGYaGYaGXaGYaKVaKUaKXaIEaGYaMqaOKaOLaOLaMqaOMaOJaONaMqaMraMraMraMraabaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLaaLbaLaaLdaLeaLfaLeaLdaabaIIaLgaLhaaaaaaaGnaGnaGnaGnaGnaLkaLiaLlaLjaLnaLmaLmaLoaLraLraLqaLpaGnaHSaGnaGnaGnaLsaGnaaaaabaaaaaaaaaaaaaaaaaaaabaabaIbaLuaLtaLwaLvaLxaLAaKraLyaHtaLAaGHaIlaLCaLEaHwaHuaHzaHyaHAaLHaKsaLIaLIaJgaKsaJiaFyaFFaLJaEjaHBaLPaHFaHDaLNaLPaMwaLXaMIaMHaMLaMJaIdaHZaIkaIgaIyaIvaIUaITaNcaNbaIXaKObWrbWraNUaKOaODaKQaKQaKQaKQaKQaODaabaabaKOaHNaMfaMgaHNaIFaMiaGYaMkaGYaHbaGYaGXaGXaMmaGXaGXaMnaMzaMzaKXaMoaMlaGYaGXaGYaPOaMqaPPaPTaPSaPUaOKaPWaMqaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaLaaMpaLaaMsaLeaMtaLeaMsaGnaIIaMuaEAaIIaIIaGnaHSaHSaHSaHSaHSaHSaHSaLkaLsaGnaGnaGnaGnaGnaMxaGnaGnaHSaMyaGnaMvaLsaGnaGnaGnaaaaaaaaaaaaaaaaMAaMAaMAaMAaMAaMAaMAaMAaMAaLAaItaMCaIuaLAaGHaIlaIxaJbaINaJvaHgaMMaIQaIOaMPaMOaMRaMQaMSaJiaFyaFFaFGaEjaFMaLPaISaIRaLNaLPaKuaMVaMVaMVaMVaMVaMVaMVaLQaKxaLRaOiaOiaOiaLSaOiaPAaOuaOAaOzaOBaJqaODaKQaKQaKQaKQaKQaODaKOaKOaKOaGYaNfaNgaJIaMzaMoaKXaMkaGYaNhaGVaNlaIEaGYaGYaGYaGYaNiaGYaGYaMoaNjaGYaMnaPRaPQaQSaQQaQUaQTaQVaQYaQWaMqaMraMraMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaNraNtaNsaMsaNuaNyaNvaNwaNxaHSaNzaNCaNAaMyaNBaHSaGnaGnaGnaGnaGnaGnaGnaLsaGnaNDafOaNGaGnaNEaNFaNHaHSaNBaGnaNAaNIaKeaKgaIIaaaaaaaaaaaaaaaaNKaNJaNMaNLaNOaNNaNPaMAaiWaLAaJraNQaIVaLAaJsaIlaJuaJtaJwaLTaHgaNWaJzaJxaKiaJAaKlaKjaKoaJiaFyaFFaFGaEjaFMaLPaOjaKpaLNaLPaLUaMVaMNaMNaMNaMVaMVaMVaMVaMVaMTaOoaMUaMUaOsaMVaSQaMVaMVaRRaMVaPvaRVaKQaKQaKQaKQaKQaRVaTbaTdaTcaXiaTeaOCaGYaMzaOFaGYaOEaOGaOGaOGaOGaOHaOGaOIaGYaGYaGYaGYaGYaGYaGYaGYaMzaRuaPOaMqaRSaRYaOLaOLaOLaRZaMqaJNaJLaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMsaOPaOQaORaMsaOPaOQaORaNwaKaaHSaOSaHSaHSaHSaHSaHSaGnaOTaOOaOVaOUaOWaGnaLsaGnafOaOXaNDaOYaPaaOZaGnaPcaGnaGnaGnaGnaPcaLsaIIaaaaHQaHQaHQaHQaPdaNJaPeaPbaPfaPhaPiaPjaMAaLAaLAaLAaLAaLAaJsaIlaIlaIlaIlaIlaIlaKzaKAaIoaIoaIoaIoaIoaIoaIoaPraFFaPwaEjaFMaLPaOnaKpaLNaLPaKuaMNaMWaMWaMXaMNaMVaMVaMYaMVaNaaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaPLaPMaKOaGYaVJaMzaMzaMzaHPaHPaGXaGXaGXaMzaMzaMzaGXaPNaPKaGXaMzaMzaGXaMzaMzaGXaGXaRTaMqaTjaQRaTlaTkaTmaQRaTnaMqaKZaKYaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPVaSdaSdaLdaMsaPZaQaaLdaMsaPZaQaaLdaGnaLkaGnaGnaGnaGnaGnaHSaGnaHSaQbaPXaHSaHSaGnaLsaGnaPYaabaPYaGnaJYaOZaGnaQeaQcaGnaNAaKaaGnaLsaMAaMAaQgaQgaQgaQgaQgaQgaQgaQgaQgaPiaPiaPjaQhaQiaQjaQkaQlaQdaKEaKDaKFaKFaKFaKFaKFaKGaKIaKHaKFaKFaKFaKKaKKaKLaLzaKNaLBaEjaHBaLPaQzaKpaLNaLPaKuaMNaMWaNRaNSaMNaMVaMVaMVaMVaNTaMZaNdaNdaNeaMVaSQaMVaMVaMVaMVaKCaODaKQaKQaKQaKQaKQaODaQHaPMaKOaGYaVJaGYaQBaMzaQCaHOaQLaQJaHbaGXaOFaHbaGXaQKaGYaGXaQMaGYaGXaQOaQNaQPaOGaRWaMqaUgaQRaUiaUhaUiaQRaUjaMqaMzaMzaGXaGXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQXaRbaoOaSbaMcaMdaMdaRaaMdaMdaMdaRdaRcaReaReaReaReaRfaGnaHSaGnaRhaRgaRiaHSaRjaPcaLsaGnaGnaGnaGnaGnaGnaPcaGnaHSaRiaLkaHSaHSaHSaRkaRmaRlaRnaRnaRnaRnaRoaRnaRnaRpaRqaRlaRsaRraRraRraRraRraRraRraRtaRwaRwaRwaRwaRxaRwaRwaLDaRwaRwaRxaRwaRwaRwaRwaRzaLFaLKaLGaLLaLPaRDaLMaLWaLOaNVaMNaNYaNXaOeaMNaMVaMVaMVaMVaMTaRMaOpaOpaRGaMVaVLaVKaMVaMVaMVaPvaRVaKQaKQaKQaKQaKQaRVaVMaYwaVObfQaZzbafbafbafbafbbYaOGaOGaOGaOGaOGaOGaOGaKSaGYaGYaGYaGYaMnaGYaGYaMkaGYaRXaUYaUYaMqaMqaMqaMqaMqaMqaUfaQIaOFaJMaGXaabajcaMraMraabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZPaSdaSdaMBaSfaMDaMEaSiaSjaQZaSaaSjaSeaScaSjaSjaSnaGnaHSaGnaSoaHSaHSaSpaSqaGnaNIaKgaHSaHSaHSaHSaHSaHSaPcaSsaHSaGnaNxaNxaGnaSraMAaSuaSwaSvaSvaSvaSxaSvaSvaSvaSyaSuaSzaSAaSAaSAaSAaSAaSAaSAaPiaRwaSBaSCaSEaSgaSkaShaSmaSlaSJaSDaSLaSCaSMaRwaSNaFFaSOaEjaMFaLPaSRaMGaSTaSSaOqaWHaOyaOraOraPkaPBbhiaPCbgsbhhbhibhibhibhibhibhjaMVaMVaMVaMVaThaODaKQaKQaKQaKQaKQaKOaKOaKOaKOaHbaMzaMzaIEaGXaGXbBOaMzaGXaTgaMzaGXaIEaGXaMkaQIaMzaGXaIEaGXaKXaUUaMkaGYaTiaGXaHOaHbaGYaGYaVTaVhaVUaVUaWZaGYaGYaGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdaRUaSdaToaSfaSfaTpaSdaRUaSdaTqaTsaTraTtaGnaHSaPcaPcaGnaGnaGnaTuaTuaTuaIfaTuaTuaTuaTuaTuaHSaGnaGnaGnaGnaGnaGnaGnaSraKbaStaaaaabaaaaabaaaaabaaaaabaaaaSuaSzaSAaTwaTvaTyaTxaTAaSAaPiaRwaTzaTzaTCaTBaTEaTDaTFaTDaMKaTGaTIaTzaTzaRwatcaFFaTJaEjaMFaLPaOnaKpaLNaLPaPDbhkbhtbhpaPFaPEaQAbhzbitbisbiTbiubjkbjcbjXbjMbkKbkIaQEaOvaOwaKOaODaKQaKQaKQaKQaKQaKOaTXaUaaMzaGXaMzaLcaGYaGXaLcbBOaGXaTZaGYaGXaUbaGYaMzaUdaUcaGXaUeaGYaMzaIEaIEaMkaGYaXbaXaaXaaXaaXaaXaaXdaXcaXcaXcaXeaXcaXcaYRaYRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaLdaLdaSdaOQaSdaUlaUkaUnaUmaSdaOQaSdaSdaLdaUoaUpaGnaHSaHSaHSaHSaHSaHSaTuaUuaUvaUqaUxaUsaUzaUuaTuaUwaUAaUyaUyaUyaUyaUyaUyaUBaNxaStaabaUEaUEaUEaUEaUEaUEaUEaabaSuaSzaSAaUFaUCaUHaUDaUFaSAaPiaRwaUJaUJaUJaUGaULaSCaUIaSCaULaUKaUJaUJaUJaRwaSNaFFaUMaEjaMFaLPaOjaKpaLNaLPaQFbuMaUQaUQaUQaUQaUQaUQaUQaNZaUQaUSaUSaUSaUSaUSaOaaGXaPGaPIaPIbJUaODaKQaKQaKQaKQaKQaKOaURaUaaMzaUTaGXaGYaGYaGXbJVbLCaMzaGYaGYaGXaGYaGYaMzaMkaGVaGXaGYaGYaMzaUWaGYaMkaGYaXgaQLbazbazbazbazbazaYPaYPaYPaXhaYPaYPaYPaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdaRUaSdaSdaSdaSdaSdaSdaRUaSdaUZaLdaUVaUXaVcaVcaVcaVcaVcaVcaVaaTuaUuaVeaUqaVfaVeaVeaUuaTuaVgaVbaViaViaViaViaViaViaViaViaVjaaaaUEaVkaVdaVmaVlaVnaUEaaaaSuaSzaSAaVpaVoaVraVqaUFaSAaPiaRwaVsaVsaTCaVtaVuaTDaTFaTDaVuaVvaVwaTzaTzaRwaSNaFFaSOaEjaObaLPaOdaOcaLNaLPaQGbuMaUQaVzaVAaVCaVCaUQaVBaOfaVDaUSbxyaVFaVHaUSaOgaGXaPGaPIaPHaPJaKOaKOaKOaKOaKOaKOaKOaVNbLGaMzaMzaGXaGXaMzaMzbLHaVPaMzaGXaHPaGXaGXaMzaMzaVRaVQaGXaGXaGXaQLaUWaGYaMkaGYaRXaGYbazaXjaXoaXkaYxaYPaYAaYzaYCaYBaYGaYFaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaVSaVXaVSaVSaVYaVZaVSaVSaVXaWaaVWaLdaToaWbaVcaWdaWcaWfaWeaWhaWgaTuaUuaVeaUqaWjaVeaVeaUuaTuaWkaWlaWiaWnaWmaWoaWqaWraWpaWtaVjaabaUEaWuaWsaWwaWvaWxaUEaabaSuaSzaSAaWzaWAaWyaWCaWBaSAaPiaRwaSBaSCaWEaWDaULaSCaWFaSCaULaWGaSLaSCaSMaRwaSNaFFaWJaEjaMFaLPaISaOhaLNaLPaRvbuUaUQaWKaVEaVEaVEaWLaOlaOkaOmaUSaWQaWPaOxaOtaPgaGXaRPaRQaRQaRIaGXaJMaGXaGYaQIaHPaLcaWUaWXaWWaWYaGXaNhaGYaQIbBOaGYaGXaaaaGXaGYaGYaGYbbIaYIbbIaYKaYJaYJaYJaYJaYJbamaYObapbanbarbaqbatbasbawaYPbaAbayaYCbaBbaCbaCaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVVaWaaVSaXmaXraXsaXtaXuaXvaXwaXxaXyaXzaXpaXnaSdaToaXqaVcaXBaXAaXFaXGaXFaXCaTuaXIaVeaXDaXHaXEaXHaXJaXLaXKaXMaXQaXQaXQaXQaXQaXQaXNaXSaVjaaaaUEaXOaWsaXPaWvaXRaUEaaaaSuaSzaSAaXTaXXaXVaXUaYaaSAaPiaRwaXWaXWaTCaXYaVuaTDaXZaTDaVuaYbaTIaTzaTzaRwaYcaIraYhaEjaMFaLPaLPaLPaLPaLPaPlaRJaPnaPmaPoaUQaUQaUQaUQaUQaUQaUSaPpaZVaPqaUSaOgaGXaGXaGXaGXaGXaGXaGYaGXaGYaHPaHPaGXaGXaGXaYnaGXaGXaGXaGXaGYbBOaWVaHNaabaHNaGYaYsaYvaYuaYybaDbaEbaubauaYEbauaGXbaFaGXbazbazbazbazbazbaIbazbazbazbaybcgbaMbclbckaYRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpaYMaYLaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaToaYWaVcaYYaYXaZfaZaaZhaZbaTuaZjaUraZcaZlaZmaZnaZdaTuaZeaZgaXQaXQaXQaXQaXQaXQaXNaZraVjaabaUEaZkaZiaZpaZoaZqaUEaabaSuaSzaSAaZsaZyaZtaZAaZuaSAaPiaRwaUJaUJaUJaYpaULaSCaUIaSCaULaZvaUJaUJaUJaRwaZxaZFaZGaEjaPtaPsaPsaPsaPsaPuaPxaPvaUQaPyaPzaUQaQmaQfaQnaUQaQoaUSaZDaZVaZEaUSaQpaZKaQqaZNaZNaZKaZXaZWaZWaZWaZWaZWaQxaZYaZWbaabacbabbaebadbagbMgbaibahbajbahbalbakaGYaGXbaubaubcmbaubavbaobaxaGXbcnaHObazbcqbcwbcubcAbcxbcCbcBbazbcFbdZbdYbegbedaXlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaZaXsaXsaVXaXzaYZaXsaYZbbaaYZaXsaYZaXzaYVaYTaSdaTobaJaVcaVcbaKaUtbaLaUtaVcaTuaTuaTuaTubaSbaPbbhbbbaTubbjbbcbblaXQaXQbbmaXQbbebbdbbpaVjaaaaUEaUEbbqbbfbbqaUEaUEaaaaSuaSzaSAbbibbgbbkaZAbbnaSAaPiaRwaSBaSCbboaWDaULaSCaUIaSCaULaWGbbxaRwaRwaRwbbrbbzbbtbbsbbCatGatGatGbbEbbFbbvbbuaUQbbwaVEaUQbbJaUQbbKaUQbbLaQrbbBbbAbbHbbGbbUbbIaQtbbNbbQbbPbbRbbQbbQbbSbbQbbIbbTbbIaXfbbUbbIbbVbbXaSGbbZaZZbcbbcabcdbccbcfbceaXibaubaubcobekbchbcibcsbcjaGXbaFbelbazbeqbetberbevbeubczbczbewbcDbfUbfSbfSbfSaYRaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXpbcrbcNaYNaXzaYZaXsaYZaXsaYZaXsaYZaXzaYVaYTaSdaTobcvbctbcEbcybcSbcSaSfbcGbcMbcVbcWbcXbcPbcOaVebcQaTubdbbcRbddbdebcTbdgbdhbdibcUbdkaVjaaaaabaaabcYbcZbcYaaaaabaaaaSuaSzaSAbdcbdabdjbdfbdraSAaPiaRwbdmbdlaTCaZwbdoaTDbdpaTDbdsaZQbdzaRwbdubdtbdvbdDbdxbdwbbDbdHaaaaaabbEbdIbdBbdAaUQbdCbdEaVEaVEbdNaVEaVEaVEbdOaUSbdFaUSbdQaUSaUSaQuaUSbdTbdUbdKbdJbdMbdLbdTbdPbeabebbecbebbebbebbebbdSbeebebbefbdVbdWbeibebbdXaGYbaubtlbcpbfVbembenbeobepaGXbaFbfWbazbfXbcxbgabcxbgfbczbczbggbcDbybbgibgibgRaYQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehbejaVSaXmaXzaXsbeGbesaXsaXsbexbeGaXzaXpbeyaSdaTobeEbezbeMaRKbeMbeMbeMbeMbeMbeHaSfaTubePbeQbePaTuaTubeRbeIbeRaViaViaViaVibeRbeJbeUaVjbeLbeKbeKbeNbeObeNbeKbeKbeSaSubfaaSAbeTaSAbeWbeVbfeaSAbffaRwaRwaRwaRwbfgbfhbeXbeYbeXbfhbfgaRwaRwbeZbdDbdDbdDbdDbfbbdybfnbfobfpbbEbfqbdBbfiaUQaUQaUQaUQaUQaUQaUQaUSaUSbdObfsbftbfkbfjaQvaRLaSUaRNbdTbfAbfvbfCbfwbfEbdTbfxbfybfHbfzbfHbfJbfKbfMbfBbfFbfDbfIbfGbfNbfLbebbfObfQbfPbhKbfRbfVbfYbfZbeobfTaGXbhObhNbhUbhSbhXbhWbhWbhYbczbczbggbcDbcDbgibhZbgiaYQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYDaYUaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehaVSaVXaVSaVSaVYaVZaVSaVSaVXbejbgeaLdbdnbeEaSdaSWaSWaSXaSWaSYaMsbgvbglaSfbgnbfcbgzbgzbgqbgrbgzbgubgzbgzbgzbgDbgzbgzbgwbgFbdqbgAbghbgBbgAbgCbgAbgAbgAbgAbgEbgMbgJbgzbgzbgKbfcbgQbgxbgSbgLbgObgNbgTbgPbgPbgPbgPbgPbgPbgPbgVbgUbhabhbbhcbhdbhebgWbgXbfdbdDbdDbhfbgZbhgbgZbhgaSZaTfaTaaWNaUNbhqaUSbhrbhlaYeaYdaZRaZRaWMbeFbfrbflbdTbhobhubhsbhsbhwbdTbhAbhCbhBbhEbhDbhDbhFbhHbhGbfMbhIbhJbhPbhQbhRbebbdXaTgbaubiabcpbihbibbhVbhTbhLaGXbjnbiibazbjrbazbewbggbggbazbazbazbjsbjsaYPaYPaYPaYRaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYDbaWbaXbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbgyaSdaSdaSdaSdaSdaSdbgyaSdaUZaLdbgHbieaSdbgtbgjbhmbhmbhvaMsbivbglbifbgGbfcbijbipbiobiqbiqbixbiwbiwbiwbizbiybiybiAbiCbiBbiqbiqbiDbiybiFbiEbiGbiGbiIbiHbiKbiJbiJbiJbiLbfcbgQbgxbgSbgSbgSbgSbiMbgSbgSbgSbgSbgSbgSbiNbiUbiVbiWbiXbiObiZbiQbiPbiRbiVbiVbiVbjdbjebjebjebiSbhqbhqbhqbirbhxbhqaUSbjabjjaZRaZRbiYaZRaWTbjmbfrbjKbdTbjobjfbjqbjhbjgbdTbjtbjibjvbjwbjxbjybebbebbjzbebbebbebbjBbjlbjBbebbdXaGYbaubjubcpbcpbekbjEbcpbjFaGXaGXaGXaYPaYPaYPbcDbcDbcDbjDbjAbjIbcDbcDbcDbjpbjLaYRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYDbaWbcJbcKbcLbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabbjQaLdaSdaOQaSdbidbgIbjTbjSaSdaOQaSdaSdaLdbjUbeEaSdbkcbjObhmbhmbhvaMsbkdbglaSfbgGbfcbgzbjZbjYbkgbkgbkabkibkbbkgbkebkgbkfbkgbkhbjPbkgbkgbkgbkgbkgbkjbkkbkgbklbkrbknbkmbgzbgzbkpbkobksbkqbkubktbkubkvbkwbkvbkvbkvbkvbkvbkvbkybkAbkzbkzbkzbkzbkBbkzbkCbkDbkzbkzbkEbkGbkFbkFbkFbkFbkFbkFbkFbkHbhqbhqaUSbkMbkNbkPbkObkOblrblsbjmbfrbltbdTbdTbdTbdTbdTbkLbdTbkQbkRbkWbkSbfHbkYbebbhMbkTbkUblcbkVbleblfblgbebbdXaQLbaubliblibcpbjNblkbcpbllbllbaubkXblabkZaYPbldblnbloboJblhboJblnbloblmaYPblqaYRaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYUbeAbeBbeCbeBbeDaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaMsaSdbgyaSdaToaSfaSfaTpaSdbgyaSdbjVblybjWblFaSdbmobmoaSXbmoaSYaMsblJbglaSfaMsblKblKblGblMblMblMblMblMblMbkxblHblMblMblMblMblMblMblPblQblRblRblLblRblTblNblVblTblTblWblXblOblKblZblZblSblSblSbmbbmbbmbbmbbmbbmbbmbbmbbmcblUblUblYblUbmabmabmabmabmebmdbmabmcbmibmibmibmibmibmibmibmibmfbmfbmfaUSbmkbmlbmrbmrbmrbmrbmNbmMbmWbmqbnmbnlbmjbmhbmtbmsbdTbbWbmubmybmzbmybmybebbmAbmvbmwbmwbmwbmwbmBbmxbebbmCbmHbaublpbcpbljbjNblkbljbcpbmDbaubmEbmGbmFaYPblwbmJbmOblzblxblzbmJbmObcDbmgblIaYRaaaaaaaaaaaaaaaaaaaaaaabbEGbmnbmnbmnbEGaaaaaaaaaaaaaYDbaWbgobeCbeCbeCbgpbaYaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdblBaSfblEbmSbnabnibmVbndbnibnfbnebnibnibnkbnjboNboMbnnbnnbnnbnobnnbnpbnuaMsbnvbnwbnqblMbnybnrbnAbnBbnCbnDbnsbnFbnGbnHbnIbnJblMbnKbnLblRbnxbntbnzblTbnEbnQbnMblTbnSbnTbnNbnSbnSbnSbnObgSbnPbmbaaaaaaaaaaaaaaaaaaaaabmcbnUbnRbnWbnVbnYbnXboaaYfbocaCubohbmcaaaaaaaaaaaaaaaaaaaaabmibodbhqboeaUSbokbmlbmqbmqbmqbmqbmqboSboUbmqbmqbmqbogbofbofboibonbojbopbooborboqbosbebboubotboBboAboAboBbowbovbebbdXaGYbauboFboFbcpbjNblkbcpboGboGbaubauboybauaYPbmIblnbloboJboJboJblnblobmKaYPaYRaYRaaaaabaabaabaabaabbEGbEGbEGbmPbmLbmRbEGbEGaaaaaaaaabicbikbilbeCbeCbimbinbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdboLboPboLboLboLboLboLboLboPboLboLboQaSfboRbgGbwxaSfbpFaSfboTboXboYboVboWaMsbnwbnwboZblMbpabnDbnDbnDbnDbnDbnsbpdbnDbnDbnDbpeblMbnKbpfblRbpbbphbpiblTbpjbpcbpgblTbplbpkbpmbppbpnbnTbnObgSbnPbmbaaaaaaaaaaaabmcbmcbmcbmcbprbpobptbpqbpubpsbpwaYgbpzbpxbpBbmcbmcbmcbmcaaaaaaaaaaaabmibodbhqbpAbpybpHbpGbpJbpIbpHbpKbqhbpMbqjbqibqkbmqbpNbpLbofbpObpPbofbpRbpQbpTbpSbofbpWbpVbpUboBboAboAboBbpXbqabebbdXaTgbaublpbcpbljbjNblkbljbcpbcpbpYbqcbcpbqdaYPbmTbmpbqgboJboJboJbmpbqgbcDbmUaYQaabaabaabaaaaaaaaaaabbEGbnZbmZbozbolboEboCbEGaaaaYDbjCbjGbjCbjCbjCbjHbjCbjJbjCbjGbjCaYHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaLdaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaLdaMsbgGbqqbqrbqrbqrbqrbqrbqrbqsbqrbqrbqraMsbnwbnKbqtblMbqubnDbnDbqvbqwbqxbqybqvbnDbnDbnDbqzblMbnKbnLblRbqAbqBbqCblTbqDbqEbqFblTbqGbqHbqIbqJbqKbnTbqLbqMbnPbmbbmbbqNbmcbmcbmcbqObqQbqPbqRbqSbqSbqTbqUbqSbqVaYibqWbqXbqYbqZbrbbrabmcbmcbmcbqNbmibmibodbhqbhqaUSbrfbrebqibrgbmqbrhbribmqbshbrHbqkbmqbogbofbofbrjbrlbrkbrnbrmbrpbrobofbrqbpVbrrboBboAboAbrsbrubrtbebbdXaGYbaubrwbrwbrxbjNblkbrybcpbcpbrzbcpbrAbrBaYPboHbpCboObpEboJbqebpZbqlbqfbqmaYRbEGbEGbEGbjRbjRbjRbEGbEGbrdbrcbrCbrvbrEbrDbEGaaabicbmXblubmYbmYblDbeCblCblDblAblvblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrNbrObrObrQbrObrObrObrRbrObrObrPaabaSdaUlaMEbrSbqrbrUbrVbrWbrXbrYbrTbsabrZbqrbscbsdbsbbseblMbsfbnDbnDbqvbqxbsgbsQbqvbnDbnDbsjbskblMbnKbnLblRblRbslblRblTbsibsnbsoblTbsmbqJbsqbqJbsrbnTbnObssbnPbgPbgPbspbsubstbmcbsvbptbswbqSbqSbsybsxbsAbszbsAaYjbsDbsCbsFbsEbsHbsGbmcbsIbsubsJbsLbsKbodbhqbhqbsNbmqbsZbmqbmqbmqbtnbtobmqbshbtrbqkbmqbpNbofbofbsRbsTbsSbsVbsUbsWbrobsXbebbqabrrboBboAboAboBbrubsYbebbtwbtebaubaubaubaubrFblkbthbtibcpbtjbtbbtlbrGaYPbrIbmpbqgbrJboJbsMbmpbqgbcDaYPbEFbsPbsObtabzObtcbzObtdbEGbEGbtgbtmbtkbtpbtpbEGbEGbicbBTbDzbDzbDzbmQbeCblCbnbblAbeCbncbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrNbtvbtybtCbtDbtDbtzbtDbtDbtDbtzbrQaSdaSdaSdaToboRbqrbrUbtFbtGbrUbtBbtAbtHbtEbqrbtLbtMbtIblQblMbtObtPbtKbtJbtQbtNbtSbtRbtRbtRbtUbtTblMbnKbsdbtYbtZbtVbubblTblTblTblTblTbucbudbtWbufbugbnTbnObssbgSbgSbgSbtXbuebuabuibuhbujbqSbunbukbumbulbupbuoburbuqbutbusbuubuhbuwbuvbuybuxbuAbuzbuEbuEbuBbhqbuCaUSbmqbuIbuNbqkbmqbuQbuRbmqbvbbuSbqkbmqbogbofbofbofboibofbuJbofbsWbrobuKbebbuPbrrboBboAboAboBbrubuLbebbvcbvgbvebtxbtqbuFbuDbuWbuVbuVbuVbuVbuVbuVbuVbuZbuYboJboJbrJboJbsMboJboJboJbuGbmmbuHbmmbmmbmmbmmbmmbmmbuTbEGbuXbvdbEGbwmbwkbwkboIboKbDzbDzbGJbGJbnbbeCblCbnbblAbeCblCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvibvjbvjbvjbvjbvjbvjbvjbvjbvjbvjbvfbvlaOQbvlaSfboRbqrbvmbrUbvnbvnbvnbvkbrUbvobqrbvqbvrbtIbvsbvsbvsbvsbvpbvsbvtbnDbvvbngbnhbnhbvubvxblMbvzbvBbvAbvDbvCbvFbvGbvHbvIbvHbvJbvJbvJbvJbvJbvKbvEbnObvLbvNbvMbvPbvObvRbvQbvTbvSbuobvUbvVbvXbvXbvXbvXbvWbvXbvZbwabwbbvYbvUbwdbwcbmcbwebwgbwfbwibwhbwjbhqbhqbsNbmqbEabmqbmqbmqaZVbmqbmqbxAbxAbmqbmqbwlbofbofbwnbwobofbofbofbwqbwpbwrbebbqabrrboBboBboBboBbrubwsbebbxBbwvbwtbwubwtbwzbwybwybwybwybwAbwybwybwBbljbvaboJboJboJbrJboJbsMboJboJboJbuGbmmbuHbmmbmmbxKbmmbxObmmbmmbmmbxXbxYbqnbjRbjRbjRbjRbqpbjCbjCbjCbjCbqobeCblCbqoblAbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwFbwEbwGbwHbwIbwIbwJbwIbwIbwIbwJbrQaSdaSdaSdbvwblFbwLbrUbwMbvnbvnbvnbvkbwMbrUbqrbvybwKbtIbvsbwPbwQbwRbwSbvsbwUbwTbwVblMbwWbwXbwNbwYblMbnKbxabxbbxbbxcbxbbxbbxbbxbbxebxdbxdbxdbxfbxdbxgbxhbxibxjbxkbxlbxlbxlbxlbxlbxmbxmbxnbxmbvXbvXbxobxpbxqbxrbxtbxsbxobxubvXbxvbxwbxvbxvbxvbxvbxvbxvbxvbwjbhqbhqaUSbxxbmqaVGbJQbmqbznbmqbzobxDbxCbmqbxEbdTbxFbxGbdTbdTbxHbxJbxIbxJbdTbdTbebblbbxLbxMbxMbxMbxMbxLbxNbebbKVbwvbwvbwwbxPbaubxQbxRbxSbxTbxUbxVbxWbycbxZaYPbjDbyZbyabrJboJbsMbyabzlbjDbEFbzpbAwbAjbAzbAybABbAAbACbAjbAjbADbAFbAEboIbrLbrMboIbrKbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCblCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwFbrObrObrQbrObrObrObrRbrObrObydaabaSdbwObmSbyfbqrbtFbtFbtFbrUbyhbygbyjbyibqrbwZbyebtIbvsbymbvsbynbyobvsbyqbypbyrblMbwWbwXbwNbskblMbnKbxabxbbytbysbyubyvbywbxbbyybykbyxbylbyBbyBbyBbyCbyEbyDbyFbxlbyGbyHbyIbyJbyLbyKbyMbyNbvXbyObxqbxqbyPbyQbyPbxqbxqbyRbvXbySbyUbyTbyWbyVbyYbyXaZObxvbzabzbbzbbzcaUSaUSaUSaUSbAvbsNbAvbzeaUSbdRaUSaUSbdTbdTbdTbdTbzgbzfbzfbzfbzfbzhaQsbebbjBbzjbjBbzkbzkbjBbzjbjBbebbKVbwvbwvbAxbxPbaubaubaubaubaubtfbaubaubaubauaYPaYPaYPaYQbAGaYQbAHaYQaYPaYPbEFbAIbuHbAJbAKbjRbjRbjRbEFbALbmmbmmbAMbjRbjRbjRbqnbjRbicbttbeCblCblDblAbeCblCblDblAbeCbtubicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaMsaMsaMsaMsaMsaMsbzrbzsbqrbqrbqrbqrbqrbqrbztbqrbqrbqrbnKbnKbzwbvsbzubzvbynbzxbvsbzzbzybzAblMbwWbwXbwNbnDblMbnKbxabxbbzDbzBbzCbyvbzCbxbbyybyzbzEbzFbzIbzHbzKbzJbzMbzLbyFbzRbzNbBsbzPbzQbzQbzPbzUbzSbvXbzTbxqbxqbyPbzWbyPbxqbxqbzVbwbbzXbAbbzYbzZbAabAdbzYbAcbxvbAlbAebAfbAgbAhbAicMKbAkbAkbAkbAkbAkbAkbAmbAobAnbAkbAkbAqbAkbAkbAkbAkbAkbAkbAkbAkbApbAsbArbArbArbArbArbArbAtbAibAucVsbvhbBtbBrbBNbBrbBPbBrbBUbBQbDkbBrbDubDtbElbDxcVUcVUbEmcVUbEBcVUbENbEHbFzbFwbGjbGhbjRbwDbwCbxzbjRbGobmmbmmbGIbGsbjRbGMbGNbjRblDblAbeCblCbnbblAbeCblCbnbblAbeCblCblDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAQbARbARbARbARbASbASbARbARbATaaaaabaSdaUlaMEbAVbAUbAXbAWbAWbAWbAWbAYbAZbBablQbnwbBcbBbbvsbvsbvsbBdbyobvsblMblMblMblMbwWbBebyAbBfblMbBhbBibxbbBjbBkbyvbzCbBlbxbbyybzGbzEbzFbBnbBobBpbzJbBqbzLbyFbzRbDobCAbDsbBubBvbBwbzUbBxbvXbBybyPbxqbBAbBzbBAbxqbyPbBBbxubBCbzYbzYbzZbBDbAdbzYbBEbxvbBFbAfbAfbAgbAhbAibAkbAkbAkbAkbAkbAkbAkbBGbAkbAkbAkbAkbAkbAkbBHbBIbBIbBIbBIaQwbBIbBIbBIbBIbBIbBIaQwbBIbBIbBIaQybDVaQDbIsbIzbwtbwtbwtbwtbwtbwubwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbwtbMhbKubRFbNWbomcbubmmcVtbjRcVVbzdbzmbjRcWhbmmbmmcWAcWvbjRcWEcWQbjRbnbblAbeCblCbnbblAbeCblCbnbblAbeCblCbnbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbCcbBZbCebCbbCbbClbCibARbATaSdaSdaSdaTobCnbCfbCgbCfbCfbCfbCfbChbCtbCjblQblQbCkbCwbvsbwPbCmbCxbzxbvsbCobCpbCoblMblMblMblMbCqblMbCrbCsbxbbCybCubzCbCvbCzbxbbyybzJbCBbzFbBnbBnbCEbzJbCFbzLbyFbzRbDybCAbDsbCGbCCbBwbzUbCDbvXbCHbCIbxqbCKbCJbCLbxqbCRbCNbCSbCMbCTbCObCPbCQbCUbzYbCVbxvbCYbCXbAfbAgbAhbAibAkbCZbAkbDAbDbbDbbDbbDbbDbbDbbDbaRybAkbAkbAkbAkbAkbDabAkaRAaRCaRBaRCaRCaRCaREaRHaRFaSFaROaSHbFsaSKaSIaTHaSVbwvbwvbwvcXfbDpbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbwvbDrbDqcXhcXgcXjcXibmmbGhbjRbwDbwCbxzbjRbGobmmbmmcXlcXkbjRbGNbGMbjRbqoblAbeCblCbqoblAbeCblCbqoblAbeCblCbqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbDGbCbbCbbCbbCbbCbbCbbCbbDHbDCaOQbDCaSfbDIbCfbDEbDJbDLbDKbDMbChbDObDNbDQbDQbDWbKHbvsbvsbvsbynbDYbymblQblQblQblQbDPbnKbnKbCsbnKbCrbCsbxbbDZbDRbDSbDTbyvbxbbDUbzJbEbbzFbBnbBnbEfbDXbEjbzLcXqbxlbHpbHobzPbzPbzPbzPbzUbEcbvXbEdbEebvXbvXbvXbvXbvXbvXbvXbxubxvbErbEgbEhbEibEsbEkbEvbxvbEwbEnbEnbEpbEpbEpbEpbEpbEpbEqbEybEpaTLaTKaTMbEpbNebEobEobEobEobEobEubEubEuaTNbEubEubEubEubEubEuaTObEubEubEubteaTPaTQbwvaTRaTRbEAbEAbEAbEAbEAbEJbDqbDqbDrbDqbwvbDqbDqbDqbDqbEMbEDbEDbEDbEDcXncXibmmbAJbEFbjRbjRbjRbAKbALbmmbmmbAMbjRbjRbjRbqnbjRbicbzqbeCbeCbeCbeCbeCbeCbeCbeCbeCbeCbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCabCdbEKbELbELbCbbELbELbELbARbERaSdaSdaSdaTobEVbCfbEYbEXbEXbEXbFcbChbnKbFfbESbETbEUbFgbvsbwPbEWbynbFhbymbFibEZbFabFbbFlbFdbFdbFebFdbFnbFobxbbFqbFpbFjbFkbFrbFmbNsbyBbFubFtbBnboxbFybFxbEjbzLcYPbxlbFAbFvbJabFFbFIbFGbFMbxmbxmbFBbFCbFDbFEbFNbFEbFPbFCaaabFHbxvbFRbFJbFKbFLbEsbzYbFSbxvbFUbFObFWbEpaTTaTSaTVaTUaTYaTWaUPaUObGabGabGaaVxaVIaVyaWOaWIaWSaWRbEuaYkaYoaYlaYraYqaZUaZTbobbbybuOaZTaZTbzibGrbGrbBJbGrbBKbBKbEAbGubGAbGwbEAbGBbGEbGBbEAbGFbDqbEMbEDbGKbGLbGKbEDbGCbGDbEDcXocXibmmbmmcXscXpcYdcXpcYebmmbmmbmmcYgbAEboIbANbrMboIbAObeCbeCbeCbeCbAPbeCbAPbeCbeCbeCbeCaYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGPbARbARbARbARbARbARbARbARbERaaaaaaaSdbBgbmSbHabCfbHdbCfbHebEXbHfbGQbChbHgbGSbGTbGUbFgbvsbvsbvsbvsbvsbvsbGVbGWbGXbGYbGZbxbbxbbxbbxbbxbbxbbxbbHhbxbbxbbxbbHbbxbbHcbHibHjbBnbBnbBnbHnbDXcZfbzLcZjbxlbHqbFvbxlbxlbxlbxmbHrbxmbHkbHlbHmbHubHBbHzbHDbHCbHsbHtbHFbxvbHvbzYbHwbHxbEsbHybzYbxvbHHbHAbHIbEpbBMbBLbJFbGabGabCWbDdbDcbDfbDebDhbDgbDjbDibSnbDlbDnbDmbEubEtbEzbExbECaZTbEEaZTbFQbEIbuObFTbFXbFVbGrbIfbFYbIgbFZbBmbIabGcbIdbIdbImbIcbIlbInbEAbIibIrbIkbEDbItbIwbIvbIobIpbIybEDcYhcXibmmbmmbmmbmmcYmcYkcYkcYkcYkcYkcYnbqnbjRbjRbjRbjRbqpbjCbBWbBVbjCbBXaYUbBXaYUbBYbBRbBSbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjQaLdaSdaSdaSdaSdaSdaSdaSdaSdaSdaToaSfbIGbCfbIHbIBbIIbIDbIDbIJbILbIKbIMbIMbIObINbDQbDQbDQbDQbDQbDQbIQbIPbIPbIRbITbxbbIVbIUbIYbIXbISbIZbJfbJbbxbbIWbJibyBbyCbDXbHjbBnbBnbJjbzJbzJbJmdaQdbnbJcbJdbJebJpbJgbJhbJsbJtbJkbJlbJubHsbJnbJvbJnbJvbJwbHsbHtbJqbJrbJybJxbJDbJzbJGbJEbJHbJrbJIbFObFObEpbGebGdbGgbGfbGabGibGqbHObDebDebDebGtbGxbGvbSnbDlbGzbGybEubHEbHJbHGbHLbHKbHMaZTbFQbEIbuObFTbFXaZTbGrbHNbHQbHPbHSbHRbHUbHTbHVbJYbJYbKhbJYbIbbKbbGbbKdbGkbKfbKqbKrbKibKibKibKjbEDcYpcYocYqcYqcYqcYrcYvcYscYwcYwcYwcYxcYybAEboIbrMbrMboIbDBdsldsldsldsnbicaaabicbDDbDwbDwbDFbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbGmbGlbKpaMdaMdaMdbmSaSfaSfbCfbKCbCfbKDbKsbKtbKEbCfblQbKvbKvbKwbKFbKwbKwbKwbKFbKwblQblQbxbbxbbxbbKGbxbbKzbKzbKzbKzbKzbKzbJfbKAbKBbPabzFbKIbKKbKJbKMbKLbKObKNbKQbKPbKSbKRdbYbKUbKXbKXbLabKZbKTbLbbLfbKWbLgbKYbFCbLhbHDbLibHBbLkbFCaaabLcbLdbLebLnbLdbLdbLdbLdbLpbxvbLqbLrbIechhbIjbIhbJAbIqbJCbJBbJJbHObJLbJKbJTbJPbJXbJWbKabJZbKcbOUbEubEubEubEubEubKebKgaZTbFQbEIbLjbFTbFXaZTbGrbLNbLEbLPbLmbLlbLIbLTbLobLLbLMbLUbLObKkbEAbGRbLRbKnbEDbKobKybKxbIpbLWbNCbEDcYhbmmcYObjRcZkcYYcZlboDcZmbjRcZnbuHcZobqnbjRbjRbjRbjRaYUdsqdsldslbEObicaaabicbEPbDwbDwbEQbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbLYbLXbKpbLZbLZbMabMbbLZbMcbCfbMebIBbMlbMkbMnbMmbCfaaaaabaabbMpbMobMobMobMobMobMraaaaaabKBbMdbMsbMubMqbKzbKzbKzbKzbKzbKzbMwbMvbMzbMybMDbMBbMxbDXbzJbzJbMFbMAbzJbzJbMJbMCbMLbMEbMMbMGbMGbMHbMGbMIbMNbMGbMKbKYbFCbMObFEbFEbFEbMPbFCaaabLcbLdbMRbMQbMVbMTbMWbMSbNbbMUbNcbFObLschhbLubLtbLwbLvbLybLxbLxbLzbGabLAbLBbEobEobLDbLFbDlbLQbLKbLVbLSbMYbMXbLKbMZbNdbNabFTbEIbNfbFTbEIaZTbGrbNgbHXbHXbLmbNhbNEbNibNjbNHbNIbNJbNObNNbEAbMfbLRbMibEDbMjbNPbMtbIpbIpbNUbEDcZpbmmcZDbAKcZkbDvcZGcZEcZmbAKcZIcZHcZJbEGaaaaaaaaaaaabicdsudswdsvdsvbicaaabicbGObDwbGObDwbicaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSdbKpbKpbObaSdaSdbjQaLdaSdaSdbCfbOdbIBbIBbIBbCfbCfbCfaaaaaaaaabOebOcbOcbOfbOcbOcbOeaaaaaabKBbNQbKzbOibOhbOhbOhbOhbOhbOkbOjbOhbOlbOnbOmbOpbOobOrbOqbzJbOtbBnbOvbOsbDXbOwbOubOxbMEbMEbMGbOAbOybOCbOBbODbMGbFBbKYbFCbOEbOHbOFbOObOMbFCaaabOGbLdbOPbOIbOJbOKbOLbOKbOSbONbNkbFObNlchhbNnbNmbNpbNobNqbGabNybNrbLybLAbNzbEobNDbNAbNGbNFbNLbNKbORbNMbOVbOTbLKbOWaZTbOXbFQbEIbOYbFTbFXbFVbGrbOZbLEbLPbUlbNBbNEbPnbPbbPobPpbIdbPqbPybPsbPtbIrbPubEDbPzbPwbIpbPHbPBbPJbEDcZpbmmcYObjRcZkbmmcZGbmmcZmbjRcZnbmmcZKbEGaaaaaaaaaaaabIAbjJbIubIubIubICaaabIEbIxbIxbIxbjJbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbPIbPIbPIbPNbPMbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbNRbPObPPbPQbPQbPQbPObKzbJfbKAbKzbKzbKBbPZbPSbQcbQdbPVbQebPXbBnbBnbPYbDXbOwbOubQhbQfbQbbQibQkbOzbQlbQgbQnbMGbQobQjbHmbQpbQqbQmbQsbQrbHsbHtbQtbLdbQvbQubQwbOKbQxbOKbQybONbQzbFObPdbPcbPebLtbPfbEpbPhbPgbPmbEpbPvbPrbPxbEobPGbPFbQabPKbQAbNKbQCbQBbQEbQDbLKbFXaZTbQFbQHbQGbQIbNdbQJbNdbQLbQKbQKbQKbQNbQMbIabRkbPbbPobRlbRhbPqbRmbEAbRnbRnbRobEDbRpbRybRqbRzbIpbREbEDcZTcYmcYkcZVdaacYkdaldakbmmdambmmdandaqbEGaaaaaaaaaaaaaabbIAbKmbKmbKmbIFaaabIAbKmbKmbKmbIFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbRubRvbRwbRxbRGbRHbRAbRGbRBbRCbRDbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbRJbRIbRKbRIbNSbRRbRTbRRbRRbRRbRRbRUbJfbKAbRLbxbbxbbRMbBnbzFbQdbRNbDXbRObRPbRPbRQbNYbRYbRXbRZbRVbRWbSbbSdbScbSabQgbSebMGbMKbKYbFCbSfbShbSgbSlbSkbFCaaabOGbSibSjbSibSibSibSibSibSmbSibSpbFObQOchhbQQbQPbQQbEpbNobNobNobEpbQSbQRcmAbQTbQWbQUbQZbQYbRabLKbQCbRbbOVbRcbLKbWdbWdbWdbRebRdbEubEubEubEubGrbJobHXbHXbRfbSTbIabSWbRibRgbRrbRjbPqbSYbTabSZbTfbTcbTbbTgbTdbTebTjbTebEDbEDbEGdasbEFbEFbigdatdazdatbigaYSaYSaYSaYSaYSaYSdaCdaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbRAbRAbRAbTlbRGbTnbTnbRGbTobRAbRAbTpbWLbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbTtbTrbTqbTrbNTbKzbPPbPQbPQbPQbKzbKzbJfbKAbTsbTxbxbbTAbBnbTBbQdbTvbDXbJObBnbBobBnbPWbOwbTybTzbRVbRWbTCbTEbTDbTKbTFbTLbTGbTHbTIbTJbTJbTNbTMbTPbFCbFCaaabOGbSibTQbTObTSbTRbTVbTTbTWbTUbTXbFObRsbQVbSobRtbSrbSqbStbSsbSvbSubUebQRcmAbOUbOUbSwbSybSxbOQbLKbNKbSzbSAbLKbLKbWdbSCbSBbSEbSDbWgbSFbSHbSGbGraZSbpDbSIbUCbUCbIabSJbUEbUFbIabSKbPqbUHbIabUKbUMbULbUObUNbZNbpvbsBbqbbRnbtscjTcjYcOCbKlbigbaNdaEbaObaGbaTbaQbaRbaHbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIbVebVfbVgbVhbVibRGbVkbRAbVlbRAbRAbRAbRAbRAbTlbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebVmbOcbOcbOcbVnbOebPTbKBbKBbOgbKzbPPbKzbKzbKzbKzbKzbJfbKAbTsbVpbxbbVrbBnbVqbVsbBnbVwbzEbBnbBnbVtbDXbOwbTybTzbRVbRWbMGbVubVvbVybVxbVzbMHbVBbVAbVDbVCbHsbVEbVFbHsbHtbHtbVGbSibVIbVHbVKbVJbVLbVLbVNbVMbVObFObSMbSLbSObSNbSPcrAcrAcrAcrAcrAbSRbSQbSUbSSbSVbXAbSXbRtbXAbThbXAbJRcuobJSbTZbTYbUabUabUcbUbbWgbUdbUfbUdbWibWibWjbWjbWjbWjbIabIabIabIabIabWlbWnbLIbIabNVbNZbNXbWqbWqbPibOabLRctvbPkbPjcacdlDbGGdaSbigdaZdbedbddbkbaTbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGbRAbRAbWHbWHbWHbRGbRAbRAbRGbWIbWJbWKbRAbWMbWNbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbWPbTrbTqbTrbNRbWQbWRbKzbKzbKzbWQbKzbJfbKAbTsbWSbxbbWWbBnbzFbQdbBnbzJbLJbBnbBnbWUbDXbOwbTybWVbRVbWXbMGbXbbWYbWZbXabXdbMHbXcbXebXgbXfbXibXhbXjbFCaaaaaaaaabSibXpbXkbXlbXlbXmbXnbXobSibXrbXqbUhbPUbUjbUibUrbUkbUnbUmbUmbUmbUpbUobUmbUmbUqbUmbUmbUsbUnbUmbUmbUGbNubNtbUwbUvbUBbUybZfbUDbXNbUIbUIbUIbUJbWgbLRbUPbWqbWqbXYbXXbWqbXZbYbbYabYdbYcbWqbPlbYgbYfbYibYhbYlbYjbYjbYjbYjbYjcacdlDdbmcAUbigdbodbpbcHbcIbaTbaTbaTbaTbaTbaUbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGbRAbRAbRAbRAbRAbYtbRAbRAbRGbPIbPIbPIbPIbPIbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbYxbYwbYybYwbTubRSbUgbUgbUgbUgbUgbYCbYEbYDbTsbYFbxbbYGbYIbYHbYNbYJbYKbYLbYLbYLbYMbYMbYObTybYRbYQbRWbMGbYTbYSbYVbVvbYWbMHbYUbYXbZdbTJbZebQmbYYbFCaaaaaaaaabSibYZbZabZbbZcbXmbXnbXobSibZgbZJbURbUQbUTbUScyTcyTbUVbUUbUXbUWcyTbUYbUZbUZbVabUZbUZbUSbUVbUZbVcbVbbVdcyTbVPbVjbVRbVQbVTbVSbVVbVUbVXbVWbVZbVYbWcbWbbWcbWcbWebUNbZMbUNbZNbUNbZPbZObZObPCbPDbZRbZUbZTbZXbZVbVobZWbYzbYjdbwdbvdbxbGGdbhbcHdbHbgbbgkbaTbgcbgmbaTbaTbgdbaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcafcagcahcaibRAbRGbRAbRAbRGbRAcancakcaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOebOcbOcbOcbOcbOcbOebPTbKBbKBbxbbxbbKBbKBbKBbKBbKBbxbbxbbKBbKBbKBbxbcamcamcamcascambYMcaocapcaqcatbYMbOwbTycawbMEbMEbMGbMGbMGbMGbMGbMNbMHbTJbTIcaubTJcavcaxbFCbFCbFCbFCbFCbSibSjbSibSibSibSibSibSibSibNvbFObWfbSLbWkbWhbWobWmbWscaAbWubWtbWxbWwbXGbWubWabWybWabWybWabWybWabWzbWAcrAbTZbWBbWDbWCbWFbWEbXNbXsbXubXtbXvcbdcbdcbecbdcbfcbicbfcbfcbfcbhcblcbjcbjcbkcbmcbocbnbZUcbpcbrcbqbYAcbsbYBbYjdbObGGbGHbGHaYSaYSaYSaYSaYSaYSaYSaYSaYSaYSaYSdaCdaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbPIbPIbPIbPIbPIbRGbTobRAcbzbRAcbxcbycbAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbDcbBbOccbCbOccbEcbFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbGaabaaaaaaaaaaaacamcbIcbHcbKcbJbYMcbNcbLcbMcbRbYMbOwbTycbOcbPcbQbXwcbVcbTcbUcbWcbYcbXbXxcbZcccccbccfccdcceccgccjcchccibXybXzcclccmbEnccnbFOccoccpccrbFObXBbQVbXCcaAcaAbXDbXDcaAbXFbXEbZhbXHbZibXIbWabXKbXMbXLbXMbXObWabXPbWAbXRbWdbXSbXUbXTbXSbXSbWibXVbXWbXQbYkcbdccTccSccVccUccXccWcdbcbfccYccZcdacbjcbjcdccbocddcdfbPEcdhcdgcdicbscdkbYjcdndfcbZZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPLbPIcdlcdmcdpcdlcdobRGbRAbRAbRGbRAcdrcdqcdsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdvcdtcducducducdtcdwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacamcdycdxcdAcdzbYLcdBcdDcdCcdEbYMbOwbNwcdFbTybTybYmbYncdIcdJcclcdObYobYpcdMcdNcdNcdQcdPcdRcdNcdNcdTcdNcdNcdScclccmbEncdVcdUcdXbYqcdZcdYbFOchfbYrcaAbZjbYsbYsbXJbZhbZkbZnbZlcaBbZmbZpbZobZrbZqbZtbZsbZvbZubWAcuvchrbZwbZybZxbZAbZzbZBccQbXWbXQbZBcbdcezceyceBceAceDceCceGcbfceEccZceFceFcbjceHceJceIceLceKceNceMbGnceOceSbYjcaccLhbGpdbPdbPdbPdbZdbXdbXdcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWObWGceRceRceRceRceRceTbRAbRAbRGbPIbPIbPIbPIbPIbPIbPRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceVceUceUceUceWaaaaaaaaaaaaaaaaaaaaaceXceZceYceZcfaaaaaaaaaacamcamcamcffcfbcdAcfcbYLcfdcbMcfecfgbYMbOwbNxbTicficflcfkbZDbZCbZFbZEbZHbZGbZIcfscftcftcfxcfvcfvcfvcfvcfvcfvcfvcJfcfycfzcfBbZLbZKbZYbZScabcaacadchfcajcaAcazcalcaCcaEcaEcaDcaGcaFcaIcaHcaKcaJcaMcaLcaOcaNbZvcaPcaQcuvbZzcaRcaTcaScaVcaUcaXcaWcaZcaYcaXcbdcgccgbcgecgdcghcgfcggcbfcgiccZceFceFcbjcgjcgmcgkcglcgncgpcgocgrcgqcgvbYjdcbcgscgtcgscgucgycgucgucgudccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYubWGceRceRceRcgwcgxbRGbRAbRAbRGbRAbRAbRAcgzbRAcgAbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFcgBcgCcgDcgFbYPbYPbYPcamcgHcgGcgJcgIcgLcgKcgNcgMcgOcgOcgPbYMbTkcgQcgTcgScgScgUcbacgVcgScgWcgWcgYcbbcgZcgWcgWchacclcclchechcchcchcchccbcchcchcchfcbgchfchfchfchfchfchfchfcbvcbtcbScbwcckccaccsccqccucctccwccvbWaccxcczccyccBccAccDccCccEcuvccGccFccIccHccJchrbWibWgbWgbWgbWicbdcbdchMchQchOchPchOchRcbfchUchSchTchTcbjchVchXbTwbYjbYjbYjbYjbYjbYjbYjbYjcaccgscifchYchZciaciacibcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcicciccicciccidcidcieciecieciecijaabaabaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIcigceRceRcihciibRGbRAbRAcikbRAbRAbRAciobRAcilbRGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceYcimcincimceYbYPcipciqcamcitcfbcircisciyciubYMcivciwcixcizbYMcgQcgQciCcgSciAciBccKciDciHcgWccLciGccMciIciKcgWciMciLciNchcccOccNccRccPcdjcdecdKcdHcdLchfceacdWceccebchfcedcbvcaAcaAcaAcaAcaAcaAcaAcefceecegcaAcDfcDfcDfcDfcDfcDfcDfcDfceicehccGcejcelcekcencemcepceocerceqclpcjFcjHcjGcjIcjGcjGcjLcjJcjKcjPcjMcjNcjOcbjcjQbUtcbnbPtbGGcjTcjScjUcjUcjScjUcjYcgscjVcjWchZciackecjXcguaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciccjZckacjZcidciecieckbckcckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaebPIckdceRceRckfbRGbRAbRAbRGckgbRAbRAckjckhbPIbYvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgFckicimcimckkcklcfbcfbckmckncfbcfbcisckqckobYMbYMbYMbYMbYMbYMckpcgQciCcgSclRcesceucetckucgWckvcevcexcewcePcgWcfmceQcfnchccfpcfockHckGcfqckIchcchfdgCchfcebcebcfrcebchfcsLcbvchfcfwbUucfCcfAcfEcfDcfGcfFcfIcfHcfKcfJcfMcfLcDfcfNcfPcfOcfRcfQcfTcfScfVcfUcfXcfWcepcfYcgacfZclpclncjGcjGclmclocjGcltclpcbjclqccZclrclrcbjcbmclscbnbPtcgsclvcgscgscgscgscgscgscgscluclwcguclxclzclycguafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOafOclBcjZcjZclAciecieckbckbclHckbckbciecieaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 02a0670826f0c6018cb357cec418a69ae363851f Mon Sep 17 00:00:00 2001 From: Anasari <13087574+Anasari@users.noreply.github.com> Date: Wed, 27 Jun 2018 21:06:22 +0800 Subject: [PATCH 073/308] Oops --- code/game/machinery/cryo.dm | 2 +- tgstation.dme | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 120000 tgstation.dme diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 4fcaf7d1251..93bf77f9956 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -457,7 +457,7 @@ else if(usr.incapacitated()) //are you cuffed, dying, lying, stunned or other return - log_game("[key_name(occupant)] ejected by [key_name(usr)] at cryo cell at [COORD(src)]") + add_attack_logs(user, occupant, "Ejected from cryo cell at [COORD(src)]") go_out() add_fingerprint(usr) return diff --git a/tgstation.dme b/tgstation.dme deleted file mode 120000 index abc8cf17220..00000000000 --- a/tgstation.dme +++ /dev/null @@ -1 +0,0 @@ -paradise.dme \ No newline at end of file From 9cf8bd06c355edd457e113ef5c5252a9f3035c44 Mon Sep 17 00:00:00 2001 From: Anasari <13087574+Anasari@users.noreply.github.com> Date: Wed, 27 Jun 2018 21:39:19 +0800 Subject: [PATCH 074/308] Fix, again --- code/game/machinery/cryo.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 93bf77f9956..86b0f6d7d75 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -457,7 +457,7 @@ else if(usr.incapacitated()) //are you cuffed, dying, lying, stunned or other return - add_attack_logs(user, occupant, "Ejected from cryo cell at [COORD(src)]") + add_attack_logs(usr, occupant, "Ejected from cryo cell at [COORD(src)]") go_out() add_fingerprint(usr) return From 477d7c4e6747811b6c65070d0938eae6cfbc51b2 Mon Sep 17 00:00:00 2001 From: Kyep Date: Wed, 27 Jun 2018 12:08:36 -0700 Subject: [PATCH 075/308] fixes specops tables --- _maps/map_files/cyberiad/z2.dmm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index a92790d6579..4c9573b8e7e 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -910,12 +910,14 @@ "rz" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "rA" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "rB" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"rC" = (/obj/structure/table/wood{dir = 9},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "GRAVPULTS"; name = "Gravity Catapults"; pixel_x = -6; pixel_y = 6; 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 = "Mech Storage"; pixel_x = 6; pixel_y = 6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCTELE"; name = "Teleporter Access"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"rD" = (/obj/structure/table/wood{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_x = -6; pixel_y = 6; 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_x = 6; pixel_y = -6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCGAMMA"; name = "Gamma Lockdown"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) +"rC" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "GRAVPULTS"; name = "Gravity Catapults"; pixel_x = -6; pixel_y = 6; 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 = "Mech Storage"; pixel_x = 6; pixel_y = 6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCTELE"; name = "Teleporter Access"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) +"rD" = (/obj/item/radio/intercom/specops,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "rE" = (/turf/unsimulated/wall,/area/start) "rF" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/door/poddoor/shutters{dir = 2; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass{dir = 8; icon_state = "fakewindows3"; tag = "icon-fakewindows (WEST)"},/area/centcom/specops) "rG" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "114"},/obj/machinery/door/poddoor{id_tag = "specopsoffice"; name = "Super Privacy Shutters"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) "rH" = (/obj/effect/landmark/start,/turf/unsimulated/floor,/area/start) +"rI" = (/obj/machinery/computer/security/telescreen{name = "Special Ops. Monitor"; desc = "Used for watching the Special Ops."; network = list("ERT")},/obj/structure/table/wood,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) +"rJ" = (/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "SPECOPS"; name = "Ready Room"; pixel_x = -6; pixel_y = 6; 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_x = 6; pixel_y = -6; req_access_txt = "114"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CCGAMMA"; name = "Gamma Lockdown"; pixel_x = -6; pixel_y = -6; req_access_txt = "114"},/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) "rK" = (/turf/unsimulated/wall/splashscreen,/area/start) "sq" = (/turf/unsimulated/wall,/area/centcom/control) "sr" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) @@ -1061,8 +1063,6 @@ "vx" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/specops) "vy" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "vz" = (/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "specopsoffice"; name = "Privacy Shutters"},/turf/unsimulated/wall/fakeglass,/area/centcom/specops) -"vB" = (/obj/machinery/computer/security/telescreen{name = "Special Ops. Monitor"; desc = "Used for watching the Special Ops."; network = list("ERT")},/obj/structure/table/wood{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"vC" = (/obj/structure/table/wood{dir = 5},/obj/item/radio/intercom/specops,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) "vF" = (/obj/machinery/door/airlock/centcom{name = "Telecommunications"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "vI" = (/obj/machinery/camera{c_tag = "CentComm Special Ops. Ready Room South"; dir = 1; network = list("ERT","CentComm")},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) "vJ" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -1637,8 +1637,8 @@ aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmoGpjpfpfrloGfmfmfmfmfmfmfmfmfmfmujujuOuPuQuRujuSsXsXrFrGrFsXsXoXsXoZoYpbsquetRucsutRtRtRtRtRtRtRsuuetRtZsqsqsqohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpnrnrmrprooGfmaNsXrxujujujujujryujuXrzooonvavbujvcvdvdvdvdvesXuKsXsXsXsXsqtQtRtZsuvfuuvgvgvgvhvisutQtRtZsqaNaNohogogogogogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmpDoEoEoEoErkfmaNsXrAujsXuWuWsXsXujujvauRvmuRujujvnvdvovpvqvdsXuKsXvrtTtUsqtQtRtZsqsqvsvtvuvvvwsqsqtQtRtZsqaNaNohogogogopogogogohaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmaNsXrBujsXvkvkpqprujujujvyvyujujujvzvdrCvBvCbesXuKsqpstRtRvFtRtRtZsqsqsusususususqsqtQtRtZsqaNaNoqodododododododoraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXvkvkvksXvIvJujujujujvLujsXvdrDmjeTvPsXuKsqvQtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfmfmfmfmfmfmfmfmaNsXrBujsXvkvkpqprujujujvyvyujujujvzvdrCrIrDbesXuKsqpstRtRvFtRtRtZsqsqsusususususqsqtQtRtZsqaNaNoqodododododododoraNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXsXsXsXvkvkvksXvIvJujujujujvLujsXvdrJmjeTvPsXuKsqvQtRtZsutQtRtStTtTtTtTtTtTtTtTtTuEtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXsXsXsXsXsXbfbfsXsXsXvSvTvUvVvdsXuKsqvWtRvXsutQtRtRtRtRtRtRtRtRtRtRtRtRtRtZsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvkpBsXaNaNaNaNwbwcwdwbwesXiDwgwhwiwjsXuKsqwkudwlsuwmudududududuetRucudududududwnsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNaNaNaNaNaNbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWbWaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNsXvxsXsXaNaNaNaNwrwswtwrwesXsXsXsXsXsXsXoXsqsqsqsqsqsqsqsqsqsqsqsqwusqsqsqsqsqsqsqsqaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN From 38d0c3652c213a0d8cbec692911e38bd5dc615ac Mon Sep 17 00:00:00 2001 From: datlo Date: Wed, 27 Jun 2018 23:39:17 +0200 Subject: [PATCH 076/308] Clown Magboots V1 Item created, added to uplink --- code/datums/uplink_item.dm | 5 +++++ code/modules/clothing/shoes/magboots.dm | 23 ++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index bc49aa3550a..6df4ac64a41 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -129,6 +129,11 @@ var/list/uplink_items = list() cost = 5 job = list("Clown") +/datum/uplink_item/jobspecific/clownmagboots + name = "Clown Magboots" + desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." + reference = "CM" + item = /obj/item/clothing/shoes/magboots/clown //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 88796165114..a415607ac13 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -53,4 +53,25 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team desc = "Reverse-engineered magboots that appear to be based on an advanced model, as they have a lighter magnetic pull. Property of Gorlex Marauders." name = "advanced blood-red magboots" - slowdown_active = SHOES_SLOWDOWN \ No newline at end of file + slowdown_active = SHOES_SLOWDOWN + +/obj/item/clothing/shoes/magboots/clown + desc = "The prankster's standard-issue clowning shoes. Damn they're huge! There's a red light on the side." + name = "clown shoes" + icon_state = "clown" + item_state = "clown_shoes" + slowdown = SHOES_SLOWDOWN+1 + item_color = "clown" + var/footstep = 1 //used for squeeks whilst walking + silence_steps = 1 + shoe_sound = "clownstep" + origin_tech = "magnets=4;syndicate=2" + +/obj/item/clothing/shoes/magboots/clown/attack_self(mob/user) //redefine toggle to remove slowdown and icon updating + if(magpulse) + flags &= ~NOSLIP + else + flags |= NOSLIP + magpulse = !magpulse + to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") + user.update_gravity(user.mob_has_gravity()) \ No newline at end of file From 06eeae5b0698276585d50e77f52166d5c09d31ff Mon Sep 17 00:00:00 2001 From: datlo Date: Wed, 27 Jun 2018 23:42:24 +0200 Subject: [PATCH 077/308] woops missed a couple of lines --- code/datums/uplink_item.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 6df4ac64a41..e5df9c5874b 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -134,6 +134,9 @@ var/list/uplink_items = list() desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." reference = "CM" item = /obj/item/clothing/shoes/magboots/clown + cost = 3 + job = list("Clown") + //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" From 0bba370d0063e7ad792b15574e1602021c1ef23e Mon Sep 17 00:00:00 2001 From: monster860 Date: Wed, 27 Jun 2018 18:47:47 -0400 Subject: [PATCH 078/308] Readds the mining podbay --- _maps/map_files/generic/z5.dmm | 49 +++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index ca119cd3930..55f6755dd8a 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -567,7 +567,7 @@ "kU" = (/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/mining,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/mine/eva) "kV" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/clothing/suit/space/hardsuit/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/mining,/turf/simulated/floor/plasteel,/area/mine/eva) "kW" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/rack,/obj/item/pickaxe,/turf/simulated/floor/plasteel,/area/mine/living_quarters) -"kX" = (/turf/simulated/wall/r_wall,/area/mine/lobby) +"kX" = (/turf/simulated/wall/r_wall,/area/mine/podbay) "kY" = (/obj/machinery/camera{c_tag = "Mining Outpost EVA"; dir = 4; network = list("Mining Outpost")},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/mining,/turf/simulated/floor/plasteel,/area/mine/eva) "kZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/mining/glass{name = "Mining Station Bridge"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "la" = (/obj/effect/decal/warning_stripes/northwest,/turf/simulated/floor/plasteel,/area/mine/lobby) @@ -584,7 +584,7 @@ "ll" = (/turf/simulated/floor/plating/airless/asteroid,/area/space) "lm" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/mine/lobby) "ln" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel,/area/mine/living_quarters) -"lo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/mine/lobby) +"lo" = (/obj/structure/disposalpipe/segment,/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored) "lp" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/northleft{dir = 2; name = "Pneumatic Tube Access"},/turf/simulated/floor/plasteel,/area/mine/lobby) "lq" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/west_outpost) "lr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/mine/production) @@ -609,7 +609,7 @@ "lK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "lL" = (/obj/machinery/camera{c_tag = "Mining Outpost Starboard External Airlock"; dir = 1; network = list("Mining Outpost")},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_east_sensor"; pixel_x = 0; pixel_y = -25},/obj/structure/ore_box,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "mining_east_pump"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/plasteel,/area/mine/eva) "lM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plasteel,/area/mine/lobby) -"lN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/lobby) +"lN" = (/obj/structure/disposalpipe/segment,/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored) "lO" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/eva) "lP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/mining/glass{name = "Mining Station EVA"; req_access_txt = "54"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/eva) "lQ" = (/obj/machinery/door/airlock/medical/glass{id_tag = null; name = "Infirmary"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "whitebluefull"},/area/mine/living_quarters) @@ -625,7 +625,7 @@ "ma" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/lobby) "mb" = (/obj/machinery/camera{c_tag = "Mining Outpost Port Connector"; dir = 1; network = list("Mining Outpost")},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/obj/effect/decal/warning_stripes/southeast,/turf/simulated/floor/plasteel,/area/mine/living_quarters) "mc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/mine/lobby) -"md" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/mine/lobby) +"md" = (/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/engine,/area/mine/podbay) "me" = (/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_west_sensor"; pixel_x = 25; pixel_y = -5},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_west_pump"; tag_exterior_door = "mining_west_outer"; frequency = 1379; id_tag = "mining_west_airlock"; tag_interior_door = "mining_west_inner"; pixel_x = 25; pixel_y = 5; req_access_txt = null; tag_chamber_sensor = "mining_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "mining_west_pump"},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "mf" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/living_quarters) "mg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/mine/living_quarters) @@ -763,6 +763,7 @@ "oI" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/mine/dangerous/explored) "oJ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/mine/production) "oK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_y = 25},/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/mine/production) +"oL" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/engine,/area/mine/podbay) "oM" = (/obj/machinery/disposal/deliveryChute,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/door/window/northleft{dir = 2; name = "Pneumatic Tube Access"},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/mine/production) "oN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Mining Station Loading Bay APC"; pixel_x = 1; pixel_y = 25},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/mine/production) "oO" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel,/area/mine/production) @@ -776,8 +777,26 @@ "oW" = (/obj/structure/window/reinforced,/obj/structure/closet/crate,/turf/simulated/floor/plasteel,/area/mine/production) "oX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/window/reinforced,/obj/structure/closet/crate,/turf/simulated/floor/plasteel,/area/mine/production) "oY" = (/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/floor/plasteel{icon_state = "loadingarea"},/area/mine/production) +"oZ" = (/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "miningpodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "48"},/turf/simulated/floor/engine,/area/mine/podbay) +"pa" = (/obj/machinery/camera{c_tag = "Mining Outpost Podbay"; dir = 2; network = list("Mining Outpost")},/turf/simulated/floor/engine,/area/mine/podbay) +"pb" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/engine/vacuum,/area/mine/dangerous/explored) +"pc" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/mine/podbay) +"pd" = (/turf/simulated/floor/engine,/area/mine/podbay) +"pe" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/engine,/area/mine/podbay) +"pf" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/engine/vacuum,/area/mine/dangerous/explored) +"pg" = (/obj/structure/spacepoddoor{luminosity = 3},/obj/machinery/door/poddoor/multi_tile/four_tile_ver{id_tag = "miningpodbay"; req_access_txt = "48"},/turf/simulated/floor/engine,/area/mine/podbay) +"ph" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 10},/obj/item/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/clothing/glasses/welding,/obj/item/radio/intercom/department/security{pixel_x = -28},/obj/effect/decal/warning_stripes/north,/turf/simulated/floor/plasteel,/area/mine/podbay) "pi" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/space) +"pj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/warning_stripes/blue/hollow,/obj/effect/decal/warning_stripes/north,/obj/machinery/power/apc{dir = 4; name = "Mining Podbay APC"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plasteel,/area/mine/podbay) +"pk" = (/obj/effect/decal/warning_stripes/north,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/mine/podbay) +"pl" = (/obj/machinery/space_heater,/obj/machinery/light_switch{pixel_x = -25},/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/mine/podbay) +"pm" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/warning_stripes/yellow/hollow,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/mine/podbay) +"pn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/podbay) +"po" = (/obj/machinery/door/airlock/mining/glass{name = "Mining Podbay"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/podbay) +"pp" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/lobby) +"pq" = (/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,/turf/simulated/floor/plasteel,/area/mine/lobby) "pr" = (/turf/simulated/wall,/area/mine/production) +"ps" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel,/area/mine/lobby) "pE" = (/turf/simulated/floor/plasteel,/area/mine/production) "pO" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_z5"; name = "south of asteroid"; width = 19},/turf/space,/area/space) @@ -952,17 +971,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeaeae aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababbwbVbVbVbwhBhBhBhBhBhBhFgvhIhBhBhBbVbVbVbwababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLgLgMaeidhKhKhKiPhKhKhKaeaeabababaaaaaaaaaaaaaaaaaaaaaaaabwbwbwbwbwgXgXbwbwbwbwbVbVenenbVbwbwbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabbwbVbVbwhBhBhBhBhBhBhBhFgvhIhBbVbVbVbVbVbwbwabababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegSgMgTaeidihiiidjVidbwbwabaeabababaaaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwgXgXbwbwbwbwbwbVenenbVbVbwbwbwbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababaeaeaeaeaeaeaeaeakaeaeaeaeaeaeaeaeababbwbVbwhBhBhBhBhBhBhBgVgvhIbVbVbVbVbVbVbVbwabababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaegLcKaeidiogWhejVidbVbwbwababababaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwbwgXgXbwbwbwbwbwbVenenbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababbwbwbwbwbwhBhBhBhBcYgtcYbVbVbVbVbVbVbVbwbwababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaehgaeaeididididjXidbVbVbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwgXgXbwbwbwbwbwbVenenbVbVbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababababbwhBbVbVcYbVcYbVbVbVbVbVbVbVbVbwababaeaeaeaeaeaeaeaeaeaeaeaeaeakaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeizaeaeidihiAidjVhqbVbVbVbVbVbVbwbwaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwbwbwbwbwbwbwbVbVkukubVbVbVbVbVbwbVbwbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababbwbVbVbVbVbVbVbVbVhrhrhrbVbVbVbwababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeizaeaeidiogWhsjVhqbVbVbVbVbVbVbVbVbVaaaaaaaaaaaaaaaaaabwbwbwbwbwbwbwbwbwbwbwbVbVbVkukubVbVbVbVbVbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeababbwbwbwbwbwbwbVbVbVbVbVbVbVbVhthxhwbVbVbVbwababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababbwbwbwbwbwbwbwabababababababaeaeaeaeaeaeaeaeaeaeididiTididididididjVhqbVbVbVbVbVbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbwbwbwbwbwbwbVbVbVbVbVkukwkvbVbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaeaeaeaeaeaeaeaeaeaeaeaeabbwbwbVbViYiYiYiYiYiYhyhyhyhyiYiYiYiYhzbVbVbwababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababbwbwbVbVbVbVbVbwbwbwbwbwabababababababaeaeaeaeidididhAjbhEjdidihjeidjXidididhqhqhqidbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbwbwbVbVbVbVbVbVbVbVkwkvkubVbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXgXbwbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababaeaeaeaeaeaeaeababbwbVbVbViYjkhHhGhyhLhNhMhShQhyjNiehVdPbVbVbwbwbwbwababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababbwbwbVbVbVbVbVbVbVbVbVbVbwbwbwbwbwabababababaeaeidjwhXjxjzjxhYidiogWhZjVidjBjCjDjDjDhqbVbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbVbVbVbVbVbVbVbVkykykSkSjLjLbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeababbwbVbVbViYjMjNjOhyififififiuigjNieijikbVbVbVbVbVbwbwbwabababababababaeaeaeaeaeaeaeaeaeaeaeabababbwbwbwbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbwbwabababababaeidiljxjWimjYjZididididjVidjBkakakakbhqbVbVbVbVbVbVbVaaaaaaaaaaaaaabVbVbVbVbVbVbVbVbVbVbVkykfkUkUkVjLbVkibVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaababababababababaeaeaeababbwbVbVbViYiqjNjNirjNjNjNjNishyitiVhydKbVbVbVbVbVbVbVbwbwbwbwabababababaeaeaeaeaeaeaeaeababababbwbwbVbVbVbVbVbVbVbVbVbVgldPbVbVbVbVbVbVbwbwbwbwababaeidkojxivjxkrjxktkbiwiykFidkWkaiBkakGhqbVbVbVbVbVbVaaaaaaaaaaaaaaaaaaaabVbVbVbVbVkXkXkXkXkykYlbkelcjLjLjLjLllllbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababbwbwbVbViYkIjNkJiKiJiLkMjNiMiYiYiYiYiYgldPbVbVbVbVbVbVbVbVbwbwbwabababaeaeaeaeaeaeaeaeabababbwbwbVbVgngcgcgcgcgcgcgcgcgrgsgcgcgcgcfgbVbVbVbVbwbwababidididididididhqkHiNhqkHidididididkKididhqhqbVbVaaaaaaaaaaaaaaaaaaaaaaaaaabVbVlmlmkLlplolulslvkglwiclyiXickhllbVbVbVbVcLbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababbwbVbViYlfjNjchyjfjhjgjNjijljjjmlqjngrgsgcgcgcgcgcfgbVbVbVbVbwbwbwababaeaeaeaeaeaeabababbwbwbVbVgngpgngcgcgcgcgcgcgcgrgsgcgcgcfgffgcfgbVbVbVbwabababababidjoltjpkakGjqkbkGktjrjskakbkGkakakzhqhqhqjtlClClClClClClBlBlBlBlBlBlmlmlmlalDlNlMlPlOlSkjkxkkkPldkRkQllbVbVbVbVcLbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababbwbVbViYiYiYiYiYjPlRjQiYiYjSjRjRjRjRgrgsgcgcgcgcfgffgcgcfgbVbVbVbwbwabababaeaeababababbwbwbVbVgngpgngpbVbVbVbVbVbVbVdJdKbVbVbVffgcfgenbVbVbVbVbwbwbwbwabididididjTkGjUkOkOiykckdkdkTkTkdkdlxkZlAkZlhlhlhlhlhlhlhlUlUlUlUlUlUlZmalZlEmamdmcicmpmrmqmuicmwlLicmxllbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababbwbwbwbwbwhBhBhBhBcYgtcYbVbVbVbVbVbVbVbwbwababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaehgaeaeididididjXidbVbVbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwgXgXkXkXkXkXkXkXlolNbVbVbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababababbwhBbVbVcYbVcYbVbVbVbVbVbVbVbVbwababaeaeaeaeaeaeaeaeaeaeaeaeaeakaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeizaeaeidihiAidjVhqbVbVbVbVbVbVbwbwaaaaaaaaaaaaaaaaaaaabwbwbwbwbwbwbwbwkXoLmdpaoZpcpbkubVbVbVbVbVbwbVbwbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababbwbVbVbVbVbVbVbVbVhrhrhrbVbVbVbwababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeizaeaeidiogWhsjVhqbVbVbVbVbVbVbVbVbVaaaaaaaaaaaaaaaaaabwbwbwbwbwbwbwbwkXpdpdpdpdpcpbkubVbVbVbVbVbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeaeaeaeaeaeaeaeababbwbwbwbwbwbwbVbVbVbVbVbVbVbVhthxhwbVbVbVbwababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababbwbwbwbwbwbwbwabababababababaeaeaeaeaeaeaeaeaeaeididiTididididididjVhqbVbVbVbVbVbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbwbwbwbwbwkXpepdpdpdpcpbkwkvbVbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaeaeaeaeaeaeaeaeaeaeaeaeabbwbwbVbViYiYiYiYiYiYhyhyhyhyiYiYiYiYhzbVbVbwababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeababababbwbwbVbVbVbVbVbwbwbwbwbwabababababababaeaeaeaeidididhAjbhEjdidihjeidjXidididhqhqhqidbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbwbwbVbVkXpdpdpdpdpgpfkvkubVbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXgXbwbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababaeaeaeaeaeaeaeababbwbVbVbViYjkhHhGhyhLhNhMhShQhyjNiehVdPbVbVbwbwbwbwababababababaeaeaeaeaeaeaeaeaeaeaeaeaeaeabababababbwbwbVbVbVbVbVbVbVbVbVbVbwbwbwbwbwabababababaeaeidjwhXjxjzjxhYidiogWhZjVidjBjCjDjDjDhqbVbVbVbVbVbVbVaaaaaaaaaaaaaabwbwbwbVbVbVkXkXphpkpjkykykSkSjLjLbVbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaeaeaeaeaeaeababbwbVbVbViYjMjNjOhyififififiuigjNieijikbVbVbVbVbVbwbwbwabababababababaeaeaeaeaeaeaeaeaeaeaeabababbwbwbwbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbwbwabababababaeidiljxjWimjYjZididididjVidjBkakakakbhqbVbVbVbVbVbVbVaaaaaaaaaaaaaabVbVbVbVbVbVbVkXplpnpmkykfkUkUkVjLbVkibVbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaababababababababaeaeaeababbwbVbVbViYiqjNjNirjNjNjNjNishyitiVhydKbVbVbVbVbVbVbVbwbwbwbwabababababaeaeaeaeaeaeaeaeababababbwbwbVbVbVbVbVbVbVbVbVbVgldPbVbVbVbVbVbVbwbwbwbwababaeidkojxivjxkrjxktkbiwiykFidkWkaiBkakGhqbVbVbVbVbVbVaaaaaaaaaaaaaaaaaaaabVbVbVbVbVkXkXpokXkykYlbkelcjLjLjLjLllllbVbVbVbVbwbwbwbwgXgXgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababbwbwbVbViYkIjNkJiKiJiLkMjNiMiYiYiYiYiYgldPbVbVbVbVbVbVbVbVbwbwbwabababaeaeaeaeaeaeaeaeabababbwbwbVbVgngcgcgcgcgcgcgcgcgrgsgcgcgcgcfgbVbVbVbVbwbwababidididididididhqkHiNhqkHidididididkKididhqhqbVbVaaaaaaaaaaaaaaaaaaaaaaaaaabVbVlmlmkLpplplulslvkglwiclyiXickhllbVbVbVbVcLbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababbwbVbViYlfjNjchyjfjhjgjNjijljjjmlqjngrgsgcgcgcgcgcfgbVbVbVbVbwbwbwababaeaeaeaeaeaeabababbwbwbVbVgngpgngcgcgcgcgcgcgcgrgsgcgcgcfgffgcfgbVbVbVbwabababababidjoltjpkakGjqkbkGktjrjskakbkGkakakzhqhqhqjtlClClClClClClBlBlBlBlBlBlmlmlmlalDpqlMlPlOlSkjkxkkkPldkRkQllbVbVbVbVcLbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababbwbVbViYiYiYiYiYjPlRjQiYiYjSjRjRjRjRgrgsgcgcgcgcfgffgcgcfgbVbVbVbwbwabababaeaeababababbwbwbVbVgngpgngpbVbVbVbVbVbVbVdJdKbVbVbVffgcfgenbVbVbVbVbwbwbwbwabididididjTkGjUkOkOiykckdkdkTkTkdkdlxkZlAkZlhlhlhlhlhlhlhlUlUlUlUlUlUlZmalZlEmapsmcicmpmrmqmuicmwlLicmxllbVbVbVbVbVbwbwbwbwbwgXgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababbwbwbVbVbVbVbViYkAmskBkCiYkEkDhrbVbVdJdKbVbVbVbVffgcgcfgenbVbVbVbVbwbwbwababababababbwbwbVbVgngpgngpbVbVbVbVbwbVbVbVbVbVbVbVbVbVbVenenbVbVbVbVbVbVbVbwbwbwbwbwidkalkljlnlnljlzlJlIlnlnlKljmbhqhqhqmgmgmgmgmgmgmgmnmnmnmnmnmnlmlmlmmmlDmzmymGmGmHmGmGmGmGmGmGllllbVbVbVbVbVcLbwbwbwbwbwgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababbwbwbVbVbVbViYmSlemUlgiYbVbVbVbVbVbVbVbVbVbVbVbVbVbVenfffgbVbVbVbVbVbwbwbwbwbwbwbwbwbVbVgngpgngpbVbVbwbwbwbwbwbwbwbVbVbVbVbVbVbVenenbVgldPbVbVbVbVbVbVbwbwididhqlQhqididmXlilTidididlWhqidhqbVbVbVaaaaaaaaajaaajaaaaaaaaaaajaalmlmlDmzmhmGmKmMmLmOmNmPmGmRmQbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababbwbwbVbVbViYiYiYiYiYiYbVbVbwbwbwbwbwbwbwbwbwbVbVbVfffgffgcgcgcfgbVbVbVbVbVbVbVbVbVbVbVengngpbVbVbwbwabababababbwbVbVbVbVbVbVbVenffgcgrgsgcgcgcgcfgbVbVbwidmVmTmYmWidnplGlFlXlHidlYmfmeidbVbVbVbVbVbVaaaaajaaajajajajajajajajajnamZmAnbnendndnfngngninhnknjbVbVbVbVbVbVbVbwbwbwbwbwgXgXgXgXbwbwbwbwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From cab9162d18fe097aaede82dc68a7381664a63804 Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 28 Jun 2018 11:40:21 +0200 Subject: [PATCH 079/308] Revert "woops" This reverts commit 06eeae5b0698276585d50e77f52166d5c09d31ff. --- code/datums/uplink_item.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index e5df9c5874b..6df4ac64a41 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -134,9 +134,6 @@ var/list/uplink_items = list() desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." reference = "CM" item = /obj/item/clothing/shoes/magboots/clown - cost = 3 - job = list("Clown") - //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" From 31ff0cd6e459bee3c16c13714b0c77c10e5f2892 Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 28 Jun 2018 11:42:06 +0200 Subject: [PATCH 080/308] Revert "Revert "woops"" This reverts commit cab9162d18fe097aaede82dc68a7381664a63804. --- code/datums/uplink_item.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 6df4ac64a41..e5df9c5874b 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -134,6 +134,9 @@ var/list/uplink_items = list() desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." reference = "CM" item = /obj/item/clothing/shoes/magboots/clown + cost = 3 + job = list("Clown") + //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" From c7392d2d54116e3812be57c93ca32300b1224ce1 Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 28 Jun 2018 12:03:06 +0200 Subject: [PATCH 081/308] Revert "woops" This reverts commit 06eeae5b0698276585d50e77f52166d5c09d31ff. --- code/datums/uplink_item.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index e5df9c5874b..6df4ac64a41 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -134,9 +134,6 @@ var/list/uplink_items = list() desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." reference = "CM" item = /obj/item/clothing/shoes/magboots/clown - cost = 3 - job = list("Clown") - //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" From 0100f679b0f2c825764caeaf520693143433dfde Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 28 Jun 2018 12:03:11 +0200 Subject: [PATCH 082/308] Revert "Clown Magboots V1" This reverts commit 38d0c3652c213a0d8cbec692911e38bd5dc615ac. --- code/datums/uplink_item.dm | 5 ----- code/modules/clothing/shoes/magboots.dm | 23 +---------------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 6df4ac64a41..bc49aa3550a 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -129,11 +129,6 @@ var/list/uplink_items = list() cost = 5 job = list("Clown") -/datum/uplink_item/jobspecific/clownmagboots - name = "Clown Magboots" - desc = "A pair of modified clown shoes fitted with an advanced magnetic pull system. Look and sound exactly like regular clown shoes unless closely inspected." - reference = "CM" - item = /obj/item/clothing/shoes/magboots/clown //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index a415607ac13..88796165114 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -53,25 +53,4 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team desc = "Reverse-engineered magboots that appear to be based on an advanced model, as they have a lighter magnetic pull. Property of Gorlex Marauders." name = "advanced blood-red magboots" - slowdown_active = SHOES_SLOWDOWN - -/obj/item/clothing/shoes/magboots/clown - desc = "The prankster's standard-issue clowning shoes. Damn they're huge! There's a red light on the side." - name = "clown shoes" - icon_state = "clown" - item_state = "clown_shoes" - slowdown = SHOES_SLOWDOWN+1 - item_color = "clown" - var/footstep = 1 //used for squeeks whilst walking - silence_steps = 1 - shoe_sound = "clownstep" - origin_tech = "magnets=4;syndicate=2" - -/obj/item/clothing/shoes/magboots/clown/attack_self(mob/user) //redefine toggle to remove slowdown and icon updating - if(magpulse) - flags &= ~NOSLIP - else - flags |= NOSLIP - magpulse = !magpulse - to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") - user.update_gravity(user.mob_has_gravity()) \ No newline at end of file + slowdown_active = SHOES_SLOWDOWN \ No newline at end of file From 8a909e4da5a5a443dd45af4ec9f64592e4537108 Mon Sep 17 00:00:00 2001 From: datlo Date: Thu, 28 Jun 2018 12:10:22 +0200 Subject: [PATCH 083/308] Clown Magboots V2 changed syndi description and fixed my accidental reverts sorry for the commit spam I still stuck at github --- code/datums/uplink_item.dm | 8 ++++++++ code/modules/clothing/shoes/magboots.dm | 23 ++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index bc49aa3550a..50f24eac58f 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -129,6 +129,14 @@ var/list/uplink_items = list() cost = 5 job = list("Clown") +/datum/uplink_item/jobspecific/clownmagboots + name = "Clown Magboots" + desc = "A pair of modified clown shoes fitted with an advanced magnetic traction system. Look and sound exactly like regular clown shoes unless closely inspected." + reference = "CM" + item = /obj/item/clothing/shoes/magboots/clown + cost = 3 + job = list("Clown") + //mime /datum/uplink_item/jobspecific/caneshotgun name = "Cane Shotgun + Assassination Darts" diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 88796165114..a415607ac13 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -53,4 +53,25 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team desc = "Reverse-engineered magboots that appear to be based on an advanced model, as they have a lighter magnetic pull. Property of Gorlex Marauders." name = "advanced blood-red magboots" - slowdown_active = SHOES_SLOWDOWN \ No newline at end of file + slowdown_active = SHOES_SLOWDOWN + +/obj/item/clothing/shoes/magboots/clown + desc = "The prankster's standard-issue clowning shoes. Damn they're huge! There's a red light on the side." + name = "clown shoes" + icon_state = "clown" + item_state = "clown_shoes" + slowdown = SHOES_SLOWDOWN+1 + item_color = "clown" + var/footstep = 1 //used for squeeks whilst walking + silence_steps = 1 + shoe_sound = "clownstep" + origin_tech = "magnets=4;syndicate=2" + +/obj/item/clothing/shoes/magboots/clown/attack_self(mob/user) //redefine toggle to remove slowdown and icon updating + if(magpulse) + flags &= ~NOSLIP + else + flags |= NOSLIP + magpulse = !magpulse + to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") + user.update_gravity(user.mob_has_gravity()) \ No newline at end of file From 69779717fad4517aa87822da21fe6c9788007e5a Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 29 Jun 2018 20:04:34 +0200 Subject: [PATCH 084/308] Cut code duplication, added sprites Added a new variable to magboots called slowdown_passive, letting you set how much the magboots slow you down when not activated, by default SHOES_SLOWDOWN (same behaviour as before). Clown magboots use SHOES_SLOWDOWN+1, same speed as clown shoes. Removed redefinition of toggle as the magboots can now use the original toggle properly. Removed var/footstep which was copy pasted from the original clown shoes, as far as I can tell it is not used or checked anywhere and removing it does not silence squeeks or change any other behaviour. Added sprites for the item icon and the mob's shoes when activated and deactivated (adds a little red light that can be seen by a keen eye when the shoes are activated) --- code/modules/clothing/shoes/magboots.dm | 20 +++++++------------- icons/mob/feet.dmi | Bin 31947 -> 32199 bytes icons/obj/clothing/shoes.dmi | Bin 19489 -> 19644 bytes 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index a415607ac13..3156b617c03 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -6,6 +6,7 @@ var/magboot_state = "magboots" var/magpulse = 0 var/slowdown_active = 2 + var/slowdown_passive = SHOES_SLOWDOWN actions_types = list(/datum/action/item_action/toggle) strip_delay = 70 put_on_delay = 70 @@ -14,7 +15,7 @@ /obj/item/clothing/shoes/magboots/attack_self(mob/user) if(magpulse) flags &= ~NOSLIP - slowdown = SHOES_SLOWDOWN + slowdown = slowdown_passive else flags |= NOSLIP slowdown = slowdown_active @@ -58,20 +59,13 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team /obj/item/clothing/shoes/magboots/clown desc = "The prankster's standard-issue clowning shoes. Damn they're huge! There's a red light on the side." name = "clown shoes" - icon_state = "clown" + icon_state = "clownmag0" + magboot_state = "clownmag" item_state = "clown_shoes" slowdown = SHOES_SLOWDOWN+1 + slowdown_active = SHOES_SLOWDOWN+1 + slowdown_passive = SHOES_SLOWDOWN+1 item_color = "clown" - var/footstep = 1 //used for squeeks whilst walking silence_steps = 1 shoe_sound = "clownstep" - origin_tech = "magnets=4;syndicate=2" - -/obj/item/clothing/shoes/magboots/clown/attack_self(mob/user) //redefine toggle to remove slowdown and icon updating - if(magpulse) - flags &= ~NOSLIP - else - flags |= NOSLIP - magpulse = !magpulse - to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.") - user.update_gravity(user.mob_has_gravity()) \ No newline at end of file + origin_tech = "magnets=4;syndicate=2" \ No newline at end of file diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index 7fc4aa0a9baac78b81a4780fb1bc845095092f9c..b1a26763fbd6e75cd6219db24769ccc5924fa37c 100644 GIT binary patch delta 12431 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 KtGROb>Hh&N+MXx? delta 12524 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

YBAuX^|A3d@bLk+#__NOnFUfWgek!dwJcl+?7e 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 literal 19489 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 From 05a2208e2bb35ccb75bb2dfb34bf92b6a36f6f12 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 30 Jun 2018 00:11:51 -0400 Subject: [PATCH 085/308] Automatic changelog generation for PR #9047 [ci skip] --- html/changelogs/AutoChangeLog-pr-9047.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9047.yml diff --git a/html/changelogs/AutoChangeLog-pr-9047.yml b/html/changelogs/AutoChangeLog-pr-9047.yml new file mode 100644 index 00000000000..feca8f2ea5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9047.yml @@ -0,0 +1,5 @@ +author: "Citinited" +delete-after: True +changes: + - rscadd: "Adds the conveyor belt placer and bluespace conveyor belt placer, allowing you to much more easily create conveyor belts. The former can be gotten at any autolathe, the latter must be researched first." + - rscadd: "Use a conveyor belt lever on aforementioned item to link all belts inside the placer with that lever." From cafd2ac767121360c8fe086e03820149e1b3764e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 30 Jun 2018 05:29:26 +0000 Subject: [PATCH 086/308] Automatic changelog compile, [ci skip] --- html/changelog.html | 7 +++++++ html/changelogs/.all_changelog.yml | 7 +++++++ html/changelogs/AutoChangeLog-pr-9047.yml | 5 ----- 3 files changed, 14 insertions(+), 5 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-9047.yml diff --git a/html/changelog.html b/html/changelog.html index 77ae3f5c92f..c5f843f8899 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,13 @@ -->

+

30 June 2018

+

Citinited updated:

+
    +
  • Adds the conveyor belt placer and bluespace conveyor belt placer, allowing you to much more easily create conveyor belts. The former can be gotten at any autolathe, the latter must be researched first.
  • +
  • Use a conveyor belt lever on aforementioned item to link all belts inside the placer with that lever.
  • +
+

27 June 2018

MINIMAN10000 updated: