diff --git a/.travis.yml b/.travis.yml
index 09cefa27b3..7474eba31d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
-#pretending we're C because otherwise ruby will initialize, even with "language: dm".
-language: c
+language: generic
+os: linux
+dist: bionic
env:
global:
@@ -12,10 +13,14 @@ cache:
addons:
apt:
packages:
- - libc6-i386
+ - libc6:i386
- libgcc1:i386
- libstdc++6:i386
- - libssl-dev:i386
+ - libssl1.1:i386
+ - g++-7
+ - g++-7-multilib
+ - gcc-multilib
+ - zlib1g:i386
before_install:
- chmod -R +x ./tools/travis
@@ -27,6 +32,7 @@ before_script:
- shopt -s globstar
script:
+ - ldd librust_g.so
- ./tools/travis/compile_and_run.sh
# Build-specific settings
diff --git a/_build_dependencies.sh b/_build_dependencies.sh
index 197fb27bd3..ed9ff6f2eb 100644
--- a/_build_dependencies.sh
+++ b/_build_dependencies.sh
@@ -4,7 +4,7 @@ export SPACEMANDMM_TAG=suite-1.4
# For NanoUI + TGUI
export NODE_VERSION=12
# For the scripts in tools
-export PHP_VERSION=5.6
+export PHP_VERSION=7.2
# Byond Major
export BYOND_MAJOR=513
# Byond Minor
diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm
index b68300eeb2..5ac591042b 100644
--- a/code/__defines/_compile_options.dm
+++ b/code/__defines/_compile_options.dm
@@ -7,10 +7,6 @@
2 for preloading absolutely everything;
*/
-#define RUST_G "rust_g" // If uncommented, we will use the rust-g (https://github.com/tgstation/rust-g) native library for fast
- // logging. This requires you to have the rust_g.dll or rust_g (renamed from librust_g.so) installed in the root folder or BYOND/bin
- // The define's value should be the name of library file.
-
// ZAS Compile Options
//#define ZASDBG // Uncomment to turn on super detailed ZAS debugging that probably won't even compile.
#define MULTIZAS // Uncomment to turn on Multi-Z ZAS Support!
diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm
index 46d8a347e8..8890430375 100644
--- a/code/__defines/misc_vr.dm
+++ b/code/__defines/misc_vr.dm
@@ -20,7 +20,7 @@
//For custom species
#define STARTING_SPECIES_POINTS 1
-#define MAX_SPECIES_TRAITS 5
+#define MAX_SPECIES_TRAITS 8 //CHOMPEdit
// Xenochimera thing mostly
#define REVIVING_NOW -1
diff --git a/code/__defines/rust_g.dm b/code/__defines/rust_g.dm
new file mode 100644
index 0000000000..9c9e2637ce
--- /dev/null
+++ b/code/__defines/rust_g.dm
@@ -0,0 +1,103 @@
+// rust_g.dm - DM API for rust_g extension library
+//
+// To configure, create a `rust_g.config.dm` and set what you care about from
+// the following options:
+//
+// #define RUST_G "path/to/rust_g"
+// Override the .dll/.so detection logic with a fixed path or with detection
+// logic of your own.
+//
+// #define RUSTG_OVERRIDE_BUILTINS
+// Enable replacement rust-g functions for certain builtins. Off by default.
+
+#ifndef RUST_G
+// Default automatic RUST_G detection.
+// On Windows, looks in the standard places for `rust_g.dll`.
+// On Linux, looks in `.`, `$LD_LIBRARY_PATH`, and `~/.byond/bin` for either of
+// `librust_g.so` (preferred) or `rust_g` (old).
+
+/* This comment bypasses grep checks */ /var/__rust_g
+
+/proc/__detect_rust_g()
+ if (world.system_type == UNIX)
+ if (fexists("./librust_g.so"))
+ // No need for LD_LIBRARY_PATH badness.
+ return __rust_g = "./librust_g.so"
+ else if (fexists("./rust_g"))
+ // Old dumb filename.
+ return __rust_g = "./rust_g"
+ else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/rust_g"))
+ // Old dumb filename in `~/.byond/bin`.
+ return __rust_g = "rust_g"
+ else
+ // It's not in the current directory, so try others
+ return __rust_g = "librust_g.so"
+ else
+ return __rust_g = "rust_g"
+
+#define RUST_G (__rust_g || __detect_rust_g())
+#endif
+
+#define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET"
+#define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB"
+#define RUSTG_JOB_ERROR "JOB PANICKED"
+
+#define rustg_dmi_strip_metadata(fname) call(RUST_G, "dmi_strip_metadata")(fname)
+#define rustg_dmi_create_png(path, width, height, data) call(RUST_G, "dmi_create_png")(path, width, height, data)
+
+#define rustg_noise_get_at_coordinates(seed, x, y) call(RUST_G, "noise_get_at_coordinates")(seed, x, y)
+
+#define rustg_file_read(fname) call(RUST_G, "file_read")(fname)
+#define rustg_file_exists(fname) call(RUST_G, "file_exists")(fname)
+#define rustg_file_write(text, fname) call(RUST_G, "file_write")(text, fname)
+#define rustg_file_append(text, fname) call(RUST_G, "file_append")(text, fname)
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define file2text(fname) rustg_file_read("[fname]")
+#define text2file(text, fname) rustg_file_append(text, "[fname]")
+#endif
+
+#define rustg_git_revparse(rev) call(RUST_G, "rg_git_revparse")(rev)
+#define rustg_git_commit_date(rev) call(RUST_G, "rg_git_commit_date")(rev)
+
+#define rustg_hash_string(algorithm, text) call(RUST_G, "hash_string")(algorithm, text)
+#define rustg_hash_file(algorithm, fname) call(RUST_G, "hash_file")(algorithm, fname)
+
+#define RUSTG_HASH_MD5 "md5"
+#define RUSTG_HASH_SHA1 "sha1"
+#define RUSTG_HASH_SHA256 "sha256"
+#define RUSTG_HASH_SHA512 "sha512"
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing))
+#endif
+
+#define rustg_json_is_valid(text) (call(RUST_G, "json_is_valid")(text) == "true")
+
+#define rustg_log_write(fname, text, format) call(RUST_G, "log_write")(fname, text, format)
+/proc/rustg_log_close_all() return call(RUST_G, "log_close_all")()
+
+#define rustg_url_encode(text) call(RUST_G, "url_encode")(text)
+#define rustg_url_decode(text) call(RUST_G, "url_decode")(text)
+
+#ifdef RUSTG_OVERRIDE_BUILTINS
+#define url_encode(text) rustg_url_encode(text)
+#define url_decode(text) rustg_url_decode(text)
+#endif
+
+#define RUSTG_HTTP_METHOD_GET "get"
+#define RUSTG_HTTP_METHOD_PUT "put"
+#define RUSTG_HTTP_METHOD_DELETE "delete"
+#define RUSTG_HTTP_METHOD_PATCH "patch"
+#define RUSTG_HTTP_METHOD_HEAD "head"
+#define RUSTG_HTTP_METHOD_POST "post"
+#define rustg_http_request_blocking(method, url, body, headers) call(RUST_G, "http_request_blocking")(method, url, body, headers)
+#define rustg_http_request_async(method, url, body, headers) call(RUST_G, "http_request_async")(method, url, body, headers)
+#define rustg_http_check_request(req_id) call(RUST_G, "http_check_request")(req_id)
+
+#define rustg_sql_connect_pool(options) call(RUST_G, "sql_connect_pool")(options)
+#define rustg_sql_query_async(handle, query, params) call(RUST_G, "sql_query_async")(handle, query, params)
+#define rustg_sql_query_blocking(handle, query, params) call(RUST_G, "sql_query_blocking")(handle, query, params)
+#define rustg_sql_connected(handle) call(RUST_G, "sql_connected")(handle)
+#define rustg_sql_disconnect_pool(handle) call(RUST_G, "sql_disconnect_pool")(handle)
+#define rustg_sql_check_query(job_id) call(RUST_G, "sql_check_query")("[job_id]")
diff --git a/code/__defines/species_languages_vr.dm b/code/__defines/species_languages_vr.dm
index 54362278d4..8909238db2 100644
--- a/code/__defines/species_languages_vr.dm
+++ b/code/__defines/species_languages_vr.dm
@@ -9,6 +9,7 @@
#define LANGUAGE_DAEMON "Daemon"
#define LANGUAGE_ENOCHIAN "Enochian"
#define LANGUAGE_VESPINAE "Vespinae"
+#define LANGUAGE_SPACER "Spacer"
#define LANGUAGE_CHIMPANZEE "Chimpanzee"
#define LANGUAGE_NEAERA "Neaera"
diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm
index 757555f037..3bef9b4f15 100644
--- a/code/_helpers/logging.dm
+++ b/code/_helpers/logging.dm
@@ -1,25 +1,17 @@
//print an error message to world.log
-// Fall back to using old format if we are not using rust-g
-#ifdef RUST_G
- #define WRITE_LOG(log, text) call(RUST_G, "log_write")(log, text)
-#else
- #define WRITE_LOG(log, text) log << "\[[time_stamp()]][text]"
-#endif
+//This is an external call, "true" and "false" are how rust parses out booleans
+#define WRITE_LOG(log, text) rustg_log_write(log, text, "true")
+#define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false")
/* For logging round startup. */
/proc/start_log(log)
- #ifndef RUST_G
- log = file(log)
- #endif
WRITE_LOG(log, "START: Starting up [log_path].")
return log
/* Close open log handles. This should be called as late as possible, and no logging should hapen after. */
/proc/shutdown_logging()
- #ifdef RUST_G
- call(RUST_G, "log_close_all")()
- #endif
+ rustg_log_close_all()
/proc/error(msg)
to_world_log("## ERROR: [msg]")
diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm
index 5d2bc99089..165c5fbfef 100644
--- a/code/datums/supplypacks/engineering.dm
+++ b/code/datums/supplypacks/engineering.dm
@@ -151,6 +151,13 @@
containername = "Singularity Generator crate"
access = access_ce
+/datum/supply_pack/eng/engine/tesla_gen
+ name = "Tesla Generator crate"
+ contains = list(/obj/machinery/the_singularitygen/tesla)
+ containertype = /obj/structure/closet/crate/secure/einstein
+ containername = "Tesla Generator crate"
+ access = access_ce
+
/datum/supply_pack/eng/engine/collector
name = "Collector crate"
contains = list(/obj/machinery/power/rad_collector = 3)
diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm
index d87eae4118..5a19d9ef79 100644
--- a/code/game/machinery/air_alarm.dm
+++ b/code/game/machinery/air_alarm.dm
@@ -29,8 +29,7 @@
desc = "Used to control various station atmospheric systems. The light indicates the current air status of the area."
icon = 'icons/obj/monitors_vr.dmi' //CHOMPEdit: Continues using new air alarm sprite, contrary to YW
icon_state = "alarm0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
use_power = USE_POWER_IDLE
idle_power_usage = 80
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 0f209a1a99..d15ea493ec 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -2,8 +2,7 @@
name = "button"
icon = 'icons/obj/objects.dmi'
icon_state = "launcherbtt"
-// plane = TURF_PLANE //Can't have them under tables, oh well.
-// layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
desc = "A remote control switch for something."
var/id = null
var/active = 0
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 29783c4c9c..f04aba5a25 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -59,8 +59,7 @@
name = "Telescreen"
desc = "Used for watching an empty arena."
icon_state = "wallframe"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = null
light_range_on = 0
diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm
index b0531e8438..c2876572d7 100644
--- a/code/game/machinery/computer/guestpass.dm
+++ b/code/game/machinery/computer/guestpass.dm
@@ -79,8 +79,7 @@
name = "guest pass terminal"
desc = "Used to print temporary passes for people. Handy!"
icon_state = "guest"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = "pass"
density = 0
diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm
index 521f07cf67..4fa8a41901 100644
--- a/code/game/machinery/doors/airlock_control.dm
+++ b/code/game/machinery/doors/airlock_control.dm
@@ -148,6 +148,7 @@ obj/machinery/door/airlock/Destroy()
obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
+ layer = ABOVE_WINDOW_LAYER
name = "airlock sensor"
desc = "Sends atmospheric readings to a nearby controller."
@@ -233,6 +234,7 @@ obj/machinery/airlock_sensor/airlock_exterior/shuttle/return_air()
obj/machinery/access_button
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "access_button_standby"
+ layer = ABOVE_WINDOW_LAYER
name = "access button"
anchored = 1
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 9fa4945f5b..c9262675cf 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -22,6 +22,7 @@
name = "Door Timer"
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
+ layer = ABOVE_WINDOW_LAYER
desc = "A remote control for a door."
req_access = list(access_brig)
anchored = 1.0 // can't pick it up
diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm
index 262ffacf41..96a7e15aa0 100644
--- a/code/game/machinery/embedded_controller/airlock_controllers.dm
+++ b/code/game/machinery/embedded_controller/airlock_controllers.dm
@@ -15,6 +15,7 @@
var/list/dummy_terminals = list()
var/cycle_to_external_air = 0
valid_actions = list("cycle_ext", "cycle_int", "force_ext", "force_int", "abort", "purge", "secure")
+ layer = ABOVE_WINDOW_LAYER
/obj/machinery/embedded_controller/radio/airlock/Destroy()
// TODO - Leshana - Implement dummy terminals
diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm
index e80869e4d9..315d470432 100644
--- a/code/game/machinery/fire_alarm.dm
+++ b/code/game/machinery/fire_alarm.dm
@@ -6,8 +6,7 @@ FIRE ALARM
desc = "\"Pull this in case of emergency\" . Thus, keep pulling it forever."
icon = 'icons/obj/monitors.dmi'
icon_state = "fire0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
var/detecting = 1.0
var/working = 1.0
var/time = 10.0
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 5aa42ff26a..cbd688b643 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -4,6 +4,7 @@
desc = "A wall-mounted flashbulb device."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "mflash1"
+ layer = ABOVE_WINDOW_LAYER
var/id = null
var/range = 2 //this is roughly the size of brig cell
var/disable = 0
diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm
index ee887db2f5..70a2e3ce4c 100755
--- a/code/game/machinery/igniter.dm
+++ b/code/game/machinery/igniter.dm
@@ -48,6 +48,7 @@
desc = "A wall-mounted ignition device."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "migniter"
+ layer = ABOVE_WINDOW_LAYER
var/id = null
var/disable = 0
var/last_spark = 0
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index 0179dff591..c078b854d0 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -6,6 +6,7 @@
desc = "It turns lights on and off. What are you, simple?"
icon = 'icons/obj/power_vr.dmi' // VOREStation Edit
icon_state = "light1"
+ layer = ABOVE_WINDOW_LAYER
anchored = 1.0
use_power = USE_POWER_IDLE
idle_power_usage = 10
diff --git a/code/game/machinery/neonsign.dm b/code/game/machinery/neonsign.dm
index bdaa3b62fd..742a810d4a 100644
--- a/code/game/machinery/neonsign.dm
+++ b/code/game/machinery/neonsign.dm
@@ -4,6 +4,7 @@
desc = "Small wall-mounted electronic sign"
icon = 'icons/obj/neonsigns.dmi'
icon_state = "sign_off"
+ layer = ABOVE_WINDOW_LAYER
plane = MOB_PLANE
use_power = USE_POWER_IDLE
idle_power_usage = 2
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index ffa444612a..25c3c631f2 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -126,8 +126,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster)
desc = "A standard newsfeed handler for use on commercial space stations. All the news you absolutely have no use for, in one place!"
icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit
icon_state = "newscaster_normal"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
var/isbroken = 0 //1 if someone banged it with something heavy
var/ispowered = 1 //starts powered, changes with power_change()
//var/list/datum/feed_channel/channel_list = list() //This list will contain the names of the feed channels. Each name will refer to a data region where the messages of the feed channels are stored.
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 86b339e6d5..a24bc582b9 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -28,8 +28,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
anchored = 1
icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit
icon_state = "req_comp0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
circuit = /obj/item/weapon/circuitboard/request
var/department = "Unknown" //The list of all departments on the station (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department
var/list/message_log = list() //List of all messages
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 14b85a7861..949b8a4df6 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -13,7 +13,7 @@
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
name = "status display"
anchored = 1
density = 0
@@ -267,4 +267,4 @@
#undef FOND_SIZE
#undef FONT_COLOR
#undef FONT_STYLE
-#undef SCROLL_SPEED
\ No newline at end of file
+#undef SCROLL_SPEED
diff --git a/code/game/machinery/status_display_ai.dm b/code/game/machinery/status_display_ai.dm
index d0764221ba..4a88b7248b 100644
--- a/code/game/machinery/status_display_ai.dm
+++ b/code/game/machinery/status_display_ai.dm
@@ -59,6 +59,7 @@ var/list/ai_status_emotions = list(
/obj/machinery/ai_status_display
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
+ layer = ABOVE_WINDOW_LAYER
name = "AI display"
anchored = 1
density = 0
diff --git a/code/game/machinery/vending_machines.dm b/code/game/machinery/vending_machines.dm
index 82c9eb0581..2e8856d51b 100644
--- a/code/game/machinery/vending_machines.dm
+++ b/code/game/machinery/vending_machines.dm
@@ -396,6 +396,7 @@
description_fluff = "NanoMed is NanoTrasen's medical science division, and provides almost all of the modern medbay essentials in-house at no extra charge. By using this vending machine, employees accept liability for products that may or may not be temporarily replaced by placebos or experimental treatments."
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
icon_state = "wallmed"
+ layer = ABOVE_WINDOW_LAYER
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
products = list(/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 2,
@@ -413,6 +414,7 @@
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
description_fluff = "NanoMed is NanoTrasen's medical science division, and provides almost all of the modern medbay essentials in-house at no extra charge. By using this vending machine, employees accept liability for products that may or may not be temporarily replaced by placebos or experimental treatments."
icon_state = "wallmed"
+ layer = ABOVE_WINDOW_LAYER
density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude
products = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 5,
/obj/item/weapon/reagent_containers/syringe/antitoxin = 3,
diff --git a/code/game/mecha/micro/mechfab_designs_vr.dm b/code/game/mecha/micro/mechfab_designs_vr.dm
index 80d7945ea4..c48c10184a 100644
--- a/code/game/mecha/micro/mechfab_designs_vr.dm
+++ b/code/game/mecha/micro/mechfab_designs_vr.dm
@@ -41,14 +41,14 @@
materials = list(DEFAULT_WALL_MATERIAL = 12500)
/datum/design/item/mecha/drill/micro
- name = "Miniature Drill"
+ name = "Micro Drill" //CHOMPedit
id = "micro_drill"
build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill/micro
time = 5
materials = list(DEFAULT_WALL_MATERIAL = 2500)
/datum/design/item/mecha/hydraulic_clamp/micro
- name = "Mounted ore box"
+ name = "Mounted micro ore box" //CHOMPedit
id = "ore_scoop"
build_path = /obj/item/mecha_parts/mecha_equipment/tool/micro/orescoop
time = 5
@@ -103,31 +103,31 @@
materials = list(DEFAULT_WALL_MATERIAL = 12500, "plastic" = 7500)
/datum/design/item/mecha/taser/micro
- name = "\improper TS-12 \"Suppressor\" integrated taser"
+ name = "\improper TS-12 \"Suppressor\" integrated micro taser" //CHOMPedit
id = "micro_taser"
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/microtaser
/datum/design/item/mecha/weapon/laser/micro
- name = "\improper WS-19 \"Torch\" laser carbine"
+ name = "\improper WS-19 \"Torch\" micro laser carbine" //CHOMPedit
id = "micro_laser"
// req_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/microlaser
/datum/design/item/mecha/weapon/laser_heavy/micro
- name = "\improper PC-20 \"Lance\" light laser cannon"
+ name = "\improper PC-20 \"Lance\" micro laser cannon" //CHOMPedit
id = "micro_laser_heavy"
req_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 1000, "diamond" = 2000)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/microheavy
/datum/design/item/mecha/weapon/grenade_launcher/micro
- name = "\improper FP-20 mounted grenade launcher"
+ name = "\improper FP-20 mounted micro flashbang launcher" //CHOMPedit
id = "micro_flashbang_launcher"
// req_tech = list(TECH_COMBAT = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/microflashbang
/datum/design/item/mecha/weapon/scattershot/micro
- name = "\improper Remington C-12 \"Boomstick\""
+ name = "\improper Remington C-12 \"Micro-Boomstick\"" //CHOMPedit
desc = "A mounted combat shotgun with integrated ammo-lathe."
id = "micro_scattershot"
// req_tech = list(TECH_COMBAT = 4)
diff --git a/code/game/mecha/micro/micro_equipment.dm b/code/game/mecha/micro/micro_equipment.dm
index d36f9fa0a3..2ea7e44763 100644
--- a/code/game/mecha/micro/micro_equipment.dm
+++ b/code/game/mecha/micro/micro_equipment.dm
@@ -6,9 +6,9 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/microlaser
w_class = ITEMSIZE_LARGE
- desc = "A mounted laser-carbine for light exosuits."
+ desc = "A mounted micro laser-carbine for micro mechs." //CHOMPedit
equip_cooldown = 10 // same as the laser carbine
- name = "\improper WS-19 \"Torch\" laser carbine"
+ name = "\improper WS-19 \"Torch\" micro laser carbine" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "micromech_laser"
energy_drain = 50
@@ -19,9 +19,9 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/microheavy
w_class = ITEMSIZE_LARGE
- desc = "A mounted laser cannon for light exosuits."
+ desc = "A mounted micro laser cannon for micro mechs." //CHOMPedit
equip_cooldown = 30 // same as portable
- name = "\improper PC-20 \"Lance\" light laser cannon"
+ name = "\improper PC-20 \"Lance\" micro light laser cannon" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "micromech_lasercannon"
energy_drain = 120
@@ -32,8 +32,8 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/microtaser
w_class = ITEMSIZE_LARGE
- desc = "A mounted taser for light exosuits."
- name = "\improper TS-12 \"Suppressor\" integrated taser"
+ desc = "A mounted micro taser for micro mechs." //CHOMPedit
+ name = "\improper TS-12 \"Suppressor\" integrated micro taser" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "micromech_taser"
energy_drain = 40
@@ -45,8 +45,8 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/microshotgun
w_class = ITEMSIZE_LARGE
- desc = "A mounted combat shotgun with integrated ammo-lathe."
- name = "\improper Remington C-12 \"Boomstick\""
+ desc = "A mounted micro combat shotgun with integrated ammo-lathe." //CHOMPedit
+ name = "\improper Remington C-12 \"Micro-Boomstick\"" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "micromech_shotgun"
equip_cooldown = 15
@@ -84,8 +84,8 @@
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/microflashbang
w_class = ITEMSIZE_LARGE
- desc = "A mounted grenade launcher for smaller mechs."
- name = "\improper FP-20 mounted grenade launcher"
+ desc = "A mounted micro flashbang launcher for micro mechs." //CHOMPedit
+ name = "\improper FP-20 mounted micro flashbang launcher" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "micromech_launcher"
projectiles = 1
@@ -103,8 +103,8 @@
/obj/item/mecha_parts/mecha_equipment/tool/drill/micro
w_class = ITEMSIZE_LARGE
- name = "drill"
- desc = "This is the drill that'll sorta poke holes in the heavens!"
+ name = "Micro Drill" //CHOMPedit
+ desc = "This is the micro drill that'll sorta poke holes in the heavens!" //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "microdrill"
equip_cooldown = 30
@@ -155,8 +155,8 @@
/obj/item/mecha_parts/mecha_equipment/tool/micro/orescoop
w_class = ITEMSIZE_LARGE
- name = "Mounted ore box"
- desc = "A mounted ore scoop and hopper, for gathering ores."
+ name = "Mounted micro ore box" //CHOMPedit
+ desc = "A small mounted ore scoop and hopper, for gathering ores in a micro mech." //CHOMPedit
icon = 'icons/mecha/mecha_equipment_vr.dmi'
icon_state = "microscoop"
equip_cooldown = 5
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 05be57c265..b122b590ad 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -3,8 +3,7 @@
desc = "Talk through this."
icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit - New Icon
icon_state = "intercom"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
w_class = ITEMSIZE_LARGE
canhear_range = 7 //VOREStation Edit
diff --git a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
index 99eba1931c..098926f535 100644
--- a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
+++ b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles.dm
@@ -4,6 +4,10 @@
name = "stack of grass"
type_to_spawn = /obj/item/stack/tile/grass
+/obj/fiftyspawner/grass/sif
+ name = "stack of sifgrass"
+ type_to_spawn = /obj/item/stack/tile/grass/sif
+
/obj/fiftyspawner/wood
name = "stack of wood"
type_to_spawn = /obj/item/stack/tile/wood
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 9a7886cd78..1612725741 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -46,6 +46,12 @@
no_variants = FALSE
drop_sound = 'sound/items/drop/herb.ogg'
pickup_sound = 'sound/items/pickup/herb.ogg'
+
+/obj/item/stack/tile/grass/sif
+ name = "sivian grass tile"
+ singular_name = "sivian grass floor tile"
+ desc = "A patch of grass like those that decorate the plains of Sif."
+
/*
* Wood
*/
diff --git a/code/game/objects/items/toys/toys.dm b/code/game/objects/items/toys/toys.dm
index 0433d9041d..4391901918 100644
--- a/code/game/objects/items/toys/toys.dm
+++ b/code/game/objects/items/toys/toys.dm
@@ -114,6 +114,18 @@
w_class = ITEMSIZE_LARGE
drop_sound = 'sound/items/drop/rubber.ogg'
+/obj/item/toy/colorballoon /// To color it, VV the 'color' var with a hex color code with the # included.
+ name = "balloon"
+ desc = "It's a plain little balloon. Comes in many colors!"
+ throwforce = 0
+ throw_speed = 4
+ throw_range = 20
+ force = 0
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "colorballoon"
+ w_class = ITEMSIZE_LARGE
+ drop_sound = 'sound/items/drop/rubber.ogg'
+
/*
* Fake telebeacon
*/
@@ -1438,4 +1450,36 @@
name = "purple king"
desc = "A large king piece for playing chess. It's made of a purple-colored glass."
description_info = "The King can move exactly one square horizontally, vertically, or diagonally. If your opponent captures this piece, you lose."
- icon_state = "b-king"
\ No newline at end of file
+ icon_state = "b-king"
+
+/// Balloon structures
+
+/obj/structure/balloon
+ name = "generic balloon"
+ desc = "A generic balloon. How boring."
+ icon = 'icons/obj/toy.dmi'
+ icon_state = "ghostballoon"
+ anchored = 0
+ density = 0
+
+/obj/structure/balloon/attack_hand(mob/user)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+
+ if(user.a_intent == I_HELP)
+ user.visible_message("\The [user] pokes [src]! ","You poke [src]! ")
+ else if (user.a_intent == I_HURT)
+ user.visible_message("\The [user] punches [src]! ","You punch [src]! ")
+ else if (user.a_intent == I_GRAB)
+ user.visible_message("\The [user] attempts to pop [src]! ","You attempt to pop [src]! ")
+ else
+ user.visible_message("\The [user] lightly bats the [src]. ","You lightly bat the [src]. ")
+
+/obj/structure/balloon/bat
+ name = "giant bat balloon"
+ desc = "A large balloon in the shape of a spooky bat with orange eyes."
+ icon_state = "batballoon"
+
+/obj/structure/balloon/ghost
+ name = "giant ghost balloon"
+ desc = "Oh no, it's a ghost! Oh wait, it's just a balloon. Phew!"
+ icon_state = "ghostballoon"
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 034e37ff8e..7519525dd2 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -178,6 +178,7 @@
desc = "It doesn't seem all that secure. Oh well, it'll do."
icon = 'icons/obj/storage.dmi'
icon_state = "safe"
+ layer = ABOVE_WINDOW_LAYER
icon_opened = "safe0"
icon_locking = "safeb"
icon_sparking = "safespark"
diff --git a/code/game/objects/items/weapons/surgery_tools_ch.dm b/code/game/objects/items/weapons/surgery_tools_ch.dm
new file mode 100644
index 0000000000..4d7fae7fa7
--- /dev/null
+++ b/code/game/objects/items/weapons/surgery_tools_ch.dm
@@ -0,0 +1,6 @@
+/obj/item/weapon/surgical/bioregen
+ name="bioregenerator"
+ desc="A special tool used in surgeries which can pull toxins from and restore oxygen to organic tissue as well as recreate missing biological structures to allow otherwise irreperable flesh to be mended."
+ icon='icons/obj/surgery_ch.dmi'
+ icon_state="bioregen"
+ drop_sound = 'sound/items/drop/scrap.ogg'
\ No newline at end of file
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index ed3669247a..a5717bdf6e 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -3,8 +3,7 @@
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
icon = 'icons/obj/closet.dmi'
icon_state = "extinguisher_closed"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
density = 0
var/obj/item/weapon/extinguisher/has_extinguisher
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index 2e2251fabe..bccdcf56c3 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -5,6 +5,7 @@
var/obj/item/weapon/material/twohanded/fireaxe/fireaxe
icon = 'icons/obj/closet.dmi' //Not bothering to move icons out for now. But its dumb still.
icon_state = "fireaxe1000"
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
density = 0
var/open = 0
diff --git a/code/game/objects/structures/flora/flora_vr.dm b/code/game/objects/structures/flora/flora_vr.dm
index 1050110cea..b7f722324c 100644
--- a/code/game/objects/structures/flora/flora_vr.dm
+++ b/code/game/objects/structures/flora/flora_vr.dm
@@ -41,59 +41,61 @@
/obj/structure/flora/log1
name = "waterlogged trunk"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A part of a felled tree. Moss is growing across it."
icon_state = "log1"
/obj/structure/flora/log2
- name = "waterlogged trunk"
+ name = "driftwood"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "Driftwood carelessly lost in the water."
icon_state = "log2"
/obj/structure/flora/lily1
- name = "waterlogged trunk"
+ name = "red flowered lilypads"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A bunch of lilypads. A beautiful red flower grows in the middle of them."
icon_state = "lilypad1"
/obj/structure/flora/lily2
- name = "waterlogged trunk"
+ name = "yellow flowered lilypads"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A few lilypads. A sunny yellow flower stems from the water and from between the lilypads."
icon_state = "lilypad2"
/obj/structure/flora/lily3
- name = "waterlogged trunk"
+ name = "lilypads"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A group of flowerless lilypads."
icon_state = "lilypad3"
/obj/structure/flora/smallbould
- name = "waterlogged trunk"
+ name = "small boulder"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A small boulder, with its top smothered with moss."
icon_state = "smallerboulder"
/obj/structure/flora/bboulder1
- name = "waterlogged trunk"
+ name = "large boulder"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "Small stones sit beside this large boulder. Moss grows on the top of each of them."
icon_state = "bigboulder1"
+ density = 1
/obj/structure/flora/bboulder2
- name = "waterlogged trunk"
+ name = "jagged large boulder"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "This boulder has had plates broken off it. Moss grows in the cracks and across the top."
icon_state = "bigboulder2"
+ density = 1
/obj/structure/flora/rocks1
- name = "waterlogged trunk"
+ name = "rocks"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A bunch of mossy rocks."
icon_state = "rocks1"
/obj/structure/flora/rocks2
- name = "waterlogged trunk"
+ name = "rocks"
icon = 'icons/obj/flora/amayastuff.dmi'
- desc = "A part of a felled tree. It is soaking up the water it is bouyant on."
+ desc = "A bunch of mossy rocks."
icon_state = "rocks2"
\ No newline at end of file
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 1473c8fe90..2af3c3ccce 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -4,6 +4,7 @@
desc = "A SalonPro Nano-Mirror(TM) brand mirror! The leading technology in hair salon products, utilizing nano-machinery to style your hair just right."
icon = 'icons/obj/watercloset.dmi'
icon_state = "mirror"
+ layer = ABOVE_WINDOW_LAYER
density = 0
anchored = 1
var/shattered = 0
diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm
index 9306d062b0..21bb1c9e8a 100644
--- a/code/game/turfs/flooring/flooring.dm
+++ b/code/game/turfs/flooring/flooring.dm
@@ -146,6 +146,7 @@ var/list/flooring_types
flags = TURF_REMOVE_SHOVEL
icon = 'icons/turf/outdoors.dmi'
icon_base = "grass_sif"
+ build_type = /obj/item/stack/tile/grass/sif
has_base_range = 1
/decl/flooring/water
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index 8feb63148c..9167d342ea 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -82,6 +82,7 @@
return
if (istype(A,/mob/living))
+ var/dirtslip = FALSE //CHOMPEdit
var/mob/living/M = A
if(M.lying || M.flying) //VOREStation Edit
return ..()
@@ -92,6 +93,7 @@
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
+ dirtslip = H.species.dirtslip //CHOMPEdit
// Tracking blood
var/list/bloodDNA = null
var/bloodcolor=""
@@ -117,7 +119,7 @@
bloodDNA = null
- if(src.wet)
+ if(src.wet || (dirtslip && (dirt > 50 || outdoors))) //CHOMPEdit
if(M.buckled || (src.wet == 1 && M.m_intent == "walk"))
return
@@ -125,7 +127,14 @@
var/slip_dist = 1
var/slip_stun = 6
var/floor_type = "wet"
-
+ //CHOMPEdit Begin
+ if(dirtslip)
+ slip_stun = 10
+ if(dirt > 50)
+ floor_type = "dirty"
+ else if(outdoors)
+ floor_type = "uneven"
+ //CHOMPEdit End
switch(src.wet)
if(2) // Lube
floor_type = "slippery"
diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm
index 5cc16d06bc..4ce9dcf6fc 100644
--- a/code/modules/asset_cache/asset_list.dm
+++ b/code/modules/asset_cache/asset_list.dm
@@ -119,18 +119,14 @@ GLOBAL_LIST_EMPTY(asset_datums)
if (size[SPRSZ_STRIPPED])
continue
- #ifdef RUST_G
// save flattened version
var/fname = "data/spritesheets/[name]_[size_id].png"
fcopy(size[SPRSZ_ICON], fname)
- var/error = call(RUST_G, "dmi_strip_metadata")(fname)
+ var/error = rustg_dmi_strip_metadata(fname)
if(length(error))
stack_trace("Failed to strip [name]_[size_id].png: [error]")
size[SPRSZ_STRIPPED] = icon(fname)
fdel(fname)
- #else
- #warn It looks like you don't have RUST_G enabled. Without RUST_G, the RPD icons will not function, so it strongly recommended you reenable it.
- #endif
/datum/asset/spritesheet/proc/generate_css()
var/list/out = list()
diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm
index 673e273af0..4d3d499662 100644
--- a/code/modules/client/preference_setup/general/02_language.dm
+++ b/code/modules/client/preference_setup/general/02_language.dm
@@ -6,6 +6,14 @@
/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S)
S["language"] >> pref.alternate_languages
S["language_prefixes"] >> pref.language_prefixes
+ //CHOMPEdit Begin
+ S["pos_traits"] >> pref.pos_traits
+ var/morelang = 0
+ for(var/trait in pref.pos_traits)
+ if(trait==/datum/trait/linguist)
+ morelang = 1
+ pref.num_languages = morelang * 12
+ //CHOMPEdit End
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
S["language"] << pref.alternate_languages
@@ -15,8 +23,8 @@
if(!islist(pref.alternate_languages)) pref.alternate_languages = list()
if(pref.species)
var/datum/species/S = GLOB.all_species[pref.species]
- if(S && pref.alternate_languages.len > S.num_alternate_languages)
- pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length
+ if(S && pref.alternate_languages.len > pref.numlanguage()) //CHOMPEdit
+ pref.alternate_languages.len = pref.numlanguage() // Truncate to allowed length CHOMPEdit
if(isnull(pref.language_prefixes) || !pref.language_prefixes.len)
pref.language_prefixes = config.language_prefixes.Copy()
for(var/prefix in pref.language_prefixes)
@@ -30,14 +38,14 @@
. += "- [S.language] "
if(S.default_language && S.default_language != S.language)
. += "- [S.default_language] "
- if(S.num_alternate_languages)
+ if(pref.numlanguage()) //CHOMPEdit
if(pref.alternate_languages.len)
for(var/i = 1 to pref.alternate_languages.len)
var/lang = pref.alternate_languages[i]
. += "- [lang] - remove "
- if(pref.alternate_languages.len < S.num_alternate_languages)
- . += "- add ([S.num_alternate_languages - pref.alternate_languages.len] remaining) "
+ if(pref.alternate_languages.len < pref.numlanguage()) //CHOMPEdit
+ . += "- add ([pref.numlanguage() - pref.alternate_languages.len] remaining) " //CHOMPEdit
else
. += "- [pref.species] cannot choose secondary languages. "
@@ -51,7 +59,7 @@
return TOPIC_REFRESH
else if(href_list["add_language"])
var/datum/species/S = GLOB.all_species[pref.species]
- if(pref.alternate_languages.len >= S.num_alternate_languages)
+ if(pref.alternate_languages.len >= pref.numlanguage()) //CHOMPEdit
alert(user, "You have already selected the maximum number of alternate languages for this species!")
else
var/list/available_languages = S.secondary_langs.Copy()
@@ -69,7 +77,7 @@
alert(user, "There are no additional languages available to select.")
else
var/new_lang = input(user, "Select an additional language", "Character Generation", null) as null|anything in available_languages
- if(new_lang && pref.alternate_languages.len < S.num_alternate_languages)
+ if(new_lang && pref.alternate_languages.len < pref.numlanguage()) //CHOMPEdit
pref.alternate_languages |= new_lang
return TOPIC_REFRESH
diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm
index e653166b7a..5d2baa08a8 100644
--- a/code/modules/client/preference_setup/vore/07_traits.dm
+++ b/code/modules/client/preference_setup/vore/07_traits.dm
@@ -264,7 +264,7 @@
if(pref.dirty_synth && instance.not_for_synths)//if you are a synth you can't take this trait.
alert("You cannot take this trait as a SYNTH.\
Please remove that trait, or pick another trait to add.","Error")
- pref.dirty_synth = 0 //Just to be sure
+ //pref.dirty_synth = 0 //Just to be sure // Commented out because it allow for someone to take a synth-blacklisted trait CHOMP Edit
return TOPIC_REFRESH
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 57cefffbcd..9b64a25f75 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -30,6 +30,7 @@ datum/preferences
var/tgui_lock = FALSE
//character preferences
+ var/num_languages = 0 //CHOMPEdit
var/real_name //our character's name
var/be_random_name = 0 //whether we are a random name every round
var/nickname //our character's nickname
@@ -154,8 +155,11 @@ datum/preferences
var/multilingual_mode = 0 // Default behaviour, delimiter-key-space, delimiter-key-delimiter, off
var/list/volume_channels = list()
-
-
+//CHOMPEdit Begin
+/datum/preferences/proc/numlanguage()
+ var/datum/species/S = GLOB.all_species[species]
+ return num_languages ? num_languages : S.num_alternate_languages
+//CHOMPEdit End
/datum/preferences/New(client/C)
player_setup = new(src)
set_biological_gender(pick(MALE, FEMALE))
diff --git a/code/modules/food/drinkingglass/metaglass_vr.dm b/code/modules/food/drinkingglass/metaglass_vr.dm
index 887c752ba6..a718acf86d 100644
--- a/code/modules/food/drinkingglass/metaglass_vr.dm
+++ b/code/modules/food/drinkingglass/metaglass_vr.dm
@@ -123,6 +123,31 @@
glass_center_of_mass = list("x"=16, "y"=9)
glass_icon_file = 'icons/obj/drinks_vr.dmi'
+/datum/reagent/ethanol/originalsin
+ glass_icon_state = "originalsinglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/whiskeysour
+ glass_icon_state = "whiskeysourglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/newyorksour
+ glass_icon_state = "newyorksourglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/mudslide
+ glass_icon_state = "mudslideglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
+/datum/reagent/ethanol/windgarita
+ glass_icon_state = "windgaritaglass"
+ glass_center_of_mass = list("x"=16, "y"=9)
+ glass_icon_file = 'icons/obj/drinks_vr.dmi'
+
/datum/reagent/drink/soda/kiraspecial
glass_icon_file = 'icons/obj/drinks_vr.dmi'
diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm
index 9d36e7230c..0f5276ed67 100644
--- a/code/modules/food/recipe.dm
+++ b/code/modules/food/recipe.dm
@@ -208,7 +208,7 @@
var/obj/item/I = locate(i) in container
if (I && I.reagents)
I.reagents.trans_to_holder(buffer,I.reagents.total_volume)
- qdel(I)
+ qdel(I)
//Find fruits
if (fruit && fruit.len)
diff --git a/code/modules/food/recipe_dump.dm b/code/modules/food/recipe_dump.dm
index 45f4c3e4ae..df0e6874aa 100644
--- a/code/modules/food/recipe_dump.dm
+++ b/code/modules/food/recipe_dump.dm
@@ -12,7 +12,8 @@
var/datum/chemical_reaction/drinks/CR = new path()
drink_recipes[path] = list("Result" = CR.name,
"ResAmt" = CR.result_amount,
- "Reagents" = CR.required_reagents)
+ "Reagents" = CR.required_reagents,
+ "Catalysts" = CR.catalysts)
qdel(CR)
//////////////////////// FOOD
@@ -30,8 +31,10 @@
"Result" = "[res.name]",
"ResAmt" = "1",
"Reagents" = R.reagents,
+ "Catalysts" = list(),
"Fruit" = R.fruit,
"Ingredients" = R.items,
+ "Coating" = R.coating,
"Appliance" = R.appliance,
"Image" = result_icon
)
@@ -45,6 +48,7 @@
food_recipes[path] = list("Result" = CR.name,
"ResAmt" = CR.result_amount,
"Reagents" = CR.required_reagents,
+ "Catalysts" = CR.catalysts,
"Fruit" = list(),
"Ingredients" = list(),
"Image" = null)
@@ -54,8 +58,11 @@
//Items needs further processing into human-readability.
for(var/Rp in food_recipes)
var/working_ing_list = list()
+ food_recipes[Rp]["has_coatable_items"] = FALSE
for(var/I in food_recipes[Rp]["Ingredients"])
var/atom/ing = new I()
+ if(istype(ing, /obj/item/weapon/reagent_containers/food/snacks)) // only subtypes of this have a coating variable and are checked for it (fruit are a subtype of this, so there's a check for them too later)
+ food_recipes[Rp]["has_coatable_items"] = TRUE
//So now we add something like "Bread" = 3
if(ing.name in working_ing_list)
@@ -64,6 +71,8 @@
else
working_ing_list[ing.name] = 1
+ if(LAZYLEN(food_recipes[Rp]["Fruit"]))
+ food_recipes[Rp]["has_coatable_items"] = TRUE
food_recipes[Rp]["Ingredients"] = working_ing_list
//Reagents can be resolved to nicer names as well
@@ -77,6 +86,15 @@
var/amt = food_recipes[Rp]["Reagents"][rid]
food_recipes[Rp]["Reagents"] -= rid
food_recipes[Rp]["Reagents"][R_name] = amt
+ for(var/rid in food_recipes[Rp]["Catalysts"])
+ var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
+ if(!Rd) // Leaving this here in the event that if rd is ever invalid or there's a recipe issue, it'll be skipped and recipe dumps can still be ran.
+ log_runtime(EXCEPTION("Food \"[Rp]\" had an invalid RID: \"[rid]\"! Check your reagents list for a missing or mistyped reagent!"))
+ continue // This allows the dump to still continue, and it will skip the invalid recipes.
+ var/R_name = Rd.name
+ var/amt = food_recipes[Rp]["Catalysts"][rid]
+ food_recipes[Rp]["Catalysts"] -= rid
+ food_recipes[Rp]["Catalysts"][R_name] = amt
for(var/Rp in drink_recipes)
for(var/rid in drink_recipes[Rp]["Reagents"])
var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
@@ -87,6 +105,15 @@
var/amt = drink_recipes[Rp]["Reagents"][rid]
drink_recipes[Rp]["Reagents"] -= rid
drink_recipes[Rp]["Reagents"][R_name] = amt
+ for(var/rid in drink_recipes[Rp]["Catalysts"])
+ var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid]
+ if(!Rd) // Leaving this here in the event that if rd is ever invalid or there's a recipe issue, it'll be skipped and recipe dumps can still be ran.
+ log_runtime(EXCEPTION("Food \"[Rp]\" had an invalid RID: \"[rid]\"! Check your reagents list for a missing or mistyped reagent!"))
+ continue // This allows the dump to still continue, and it will skip the invalid recipes.
+ var/R_name = Rd.name
+ var/amt = drink_recipes[Rp]["Catalysts"][rid]
+ drink_recipes[Rp]["Catalysts"] -= rid
+ drink_recipes[Rp]["Catalysts"][R_name] = amt
//We can also change the appliance to its proper name.
for(var/Rp in food_recipes)
@@ -174,6 +201,20 @@
if(pretty_ing != "")
html += "
Ingredients: [pretty_ing] "
+ //Coating
+ if(!food_recipes[Rp]["has_coatable_items"])
+ html += "Coating: N/A, no coatable items "
+ // css can be used to style or hide these depending on the class. This has two classes
+ // coating and coating_not_applicable, which can each have styles applied.
+ else if(food_recipes[Rp]["Coating"] == -1)
+ html += "Coating: Optionally, any coating "
+ else if(isnull(food_recipes[Rp]["Coating"]))
+ html += "Coating: Must be uncoated "
+ else
+ var/coatingtype = food_recipes[Rp]["Coating"]
+ var/datum/reagent/coating = new coatingtype()
+ html += "Coating: [coating.name] "
+
//For each fruit
var/pretty_fru = ""
count = 0
@@ -192,6 +233,15 @@
if(pretty_rea != "")
html += "Mix in: [pretty_rea] "
+ //For each catalyst
+ var/pretty_cat = ""
+ count = 0
+ for(var/cat in food_recipes[Rp]["Catalysts"])
+ pretty_cat += "[count == 0 ? "" : ", "][food_recipes[Rp]["Catalysts"][cat]]u [cat]"
+ count++
+ if(pretty_cat != "")
+ html += "Catalysts: [pretty_cat] "
+
//Close ingredients
html += ""
//Close this row
@@ -230,6 +280,15 @@
if(pretty_rea != "")
html += "Mix together: [pretty_rea] "
+ //For each catalyst
+ var/pretty_cat = ""
+ count = 0
+ for(var/cat in drink_recipes[Rp]["Catalysts"])
+ pretty_cat += "[count == 0 ? "" : ", "][drink_recipes[Rp]["Catalysts"][cat]]u [cat]"
+ count++
+ if(pretty_cat != "")
+ html += "Catalysts: [pretty_cat] "
+
html += "Makes [drink_recipes[Rp]["ResAmt"]]u "
//Close reagents
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 849b1a5a6e..4766f5c1ef 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -406,6 +406,7 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u
desc = "This device is used to declare ready. If all devices in an area are ready, the event will begin!"
icon = 'icons/obj/monitors.dmi'
icon_state = "auth_off"
+ layer = ABOVE_WINDOW_LAYER
var/ready = 0
var/area/currentarea = null
var/eventstarted = 0
diff --git a/code/modules/holomap/station_holomap.dm b/code/modules/holomap/station_holomap.dm
index 39a1c30452..9556477f50 100644
--- a/code/modules/holomap/station_holomap.dm
+++ b/code/modules/holomap/station_holomap.dm
@@ -6,6 +6,7 @@
desc = "A virtual map of the surrounding station."
icon = 'icons/obj/machines/stationmap.dmi'
icon_state = "station_map"
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
density = 0
use_power = USE_POWER_IDLE
@@ -19,9 +20,6 @@
var/light_range_on = 2
light_color = "#64C864"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
-
var/mob/watching_mob = null
var/image/small_station_map = null
var/image/floor_markings = null
diff --git a/code/modules/hydroponics/seed_datums_ch.dm b/code/modules/hydroponics/seed_datums_ch.dm
index eb2fc5a8e9..87f211c679 100644
--- a/code/modules/hydroponics/seed_datums_ch.dm
+++ b/code/modules/hydroponics/seed_datums_ch.dm
@@ -1,3 +1,7 @@
+//Variables to make certain things work. Consider sending upstream.
+/datum/seed
+ var/ai_mob_product = 0 //This variable determines whether or not a mob product is meant to be ai-controlled. If set to 0, mob products die without a player to control them.
+
//////CHOMP PLANTS//////
/datum/seed/soybean/sapbean
@@ -150,13 +154,38 @@
set_trait(TRAIT_WATER_CONSUMPTION, 6)
set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
+/datum/seed/pitcher_plant //Pitcher plant
+ name = "pitcher plant"
+ seed_name = "pitcher plant"
+ seed_noun = "pits"
+ display_name = "pitcher shoots"
+ can_self_harvest = 1
+ apply_color_to_mob = FALSE
+ has_mob_product = /mob/living/simple_mob/vore/pitcher_plant
+ ai_mob_product = 1
+
+/datum/seed/pitcher_plant/New() //No custom icons yet. No spread trait yet even though pitcher fruit can be planted outside of a tray as I've not tied that to hydroponics code.
+ ..()
+ set_trait(TRAIT_IMMUTABLE,1)
+ set_trait(TRAIT_CARNIVOROUS,1)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_WATER_CONSUMPTION,6)
+ set_trait(TRAIT_YIELD,1)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"corn")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#a839a2")
+ set_trait(TRAIT_PLANT_COLOUR,"#5b6f43")
+ set_trait(TRAIT_PLANT_ICON,"ambrosia")
+
/datum/seed/hardlightseed //WIP: havent ported the mob and such yet, best someone more keen on these mobs does it - Jack
name = "Type NULL Hardlight Generator"
seed_name = "Biomechanical Hardlight generator seed"
display_name = "Biomechanical Hardlight stem"
mutants = null
can_self_harvest = 1
- has_mob_product = null
+ has_mob_product = /mob/living/simple_mob/animal/synx/ai/pet/holo
+ ai_mob_product = 1
/datum/seed/hardlightseed/New()
..()
diff --git a/code/modules/hydroponics/seed_mobs.dm b/code/modules/hydroponics/seed_mobs.dm
index 8b5c4a56a1..68a6334d49 100644
--- a/code/modules/hydroponics/seed_mobs.dm
+++ b/code/modules/hydroponics/seed_mobs.dm
@@ -1,7 +1,7 @@
// The following procs are used to grab players for mobs produced by a seed (mostly for dionaea).
/datum/seed/proc/handle_living_product(var/mob/living/host)
- if(!host || !istype(host)) return
+ if(!host || !istype(host) || ai_mob_product) return //CHOMPedit: ai_mob_product var to allow ai mobs to spawn from plants.
if(apply_color_to_mob)
host.color = traits[TRAIT_PRODUCT_COLOUR]
diff --git a/code/modules/hydroponics/seed_packets_ch.dm b/code/modules/hydroponics/seed_packets_ch.dm
index 9c48fd6737..f18dea8ae8 100644
--- a/code/modules/hydroponics/seed_packets_ch.dm
+++ b/code/modules/hydroponics/seed_packets_ch.dm
@@ -1,3 +1,6 @@
/obj/item/seeds/teaseed
- seed_type = "tea"
\ No newline at end of file
+ seed_type = "tea"
+
+/obj/item/seeds/pitcherseed
+ seed_type = "pitcher plant"
\ No newline at end of file
diff --git a/code/modules/hydroponics/seed_storage_vr.dm b/code/modules/hydroponics/seed_storage_vr.dm
index fd8fdc73ae..3ba578e8c8 100644
--- a/code/modules/hydroponics/seed_storage_vr.dm
+++ b/code/modules/hydroponics/seed_storage_vr.dm
@@ -49,6 +49,7 @@
/obj/item/seeds/shrinkshroom = 3,
/obj/item/seeds/megashroom = 3)
+//CHOMPedit: adds pitcherseed
/obj/machinery/seed_storage/xenobotany
name = "Xenobotany seed storage"
scanner = list("stats", "produce", "soil", "temperature", "light")
@@ -106,4 +107,5 @@
/obj/item/seeds/whitebeetseed = 3,
/obj/item/seeds/shrinkshroom = 3,
/obj/item/seeds/megashroom = 3,
- /obj/item/seeds/lustflower = 2)
+ /obj/item/seeds/lustflower = 2,
+ /obj/item/seeds/pitcherseed = 3)
diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm
index db94bebd0d..34483acadd 100644
--- a/code/modules/hydroponics/spreading/spreading_growth.dm
+++ b/code/modules/hydroponics/spreading/spreading_growth.dm
@@ -127,6 +127,15 @@
child.anchored = 1
child.update_icon()
+ //CHOMPedit start: Pitcher plant spawning
+ if((seed.get_trait(TRAIT_POTENCY)) >= 70) //Random event spacevines have 70 potency minimum. Should guarantee this always triggers on spacevines.
+ var/mob/living/pitcher
+ if(!seed.get_trait(TRAIT_CARNIVOROUS) && prob(2)) //Check for canivorous or this could call if prob(10) above fails.
+ pitcher = new /mob/living/simple_mob/vore/pitcher_plant(src.loc)
+ pitcher.nutrition = 0 //With 0 nutrition, vine-spawned pitchers should die after ~10 minutes
+ pitcher.adjustToxLoss(170) //Reduce health, 200 is excessive when a lot of these are spawning.
+ //CHOMPedit end
+
//see if anything is there
for(var/thing in child.loc)
if(thing != child && istype(thing, /obj/effect/plant))
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 1ac41ce60f..eb5d6aba26 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -1,3 +1,5 @@
+#define AGE_MOD_MAX 10 //CHOMPedit: Define for age_mod sanity check as a define to allow for easy tweaking.
+
/obj/machinery/portable_atmospherics/hydroponics
name = "hydroponics tray"
desc = "A tray usually full of fluid for growing plants."
@@ -29,6 +31,7 @@
var/toxins = 0 // Toxicity in the tray?
var/mutation_level = 0 // When it hits 100, the plant mutates.
var/tray_light = 1 // Supplied lighting.
+ var/age_mod = 0 //CHOMPedit: Variable for chems which speed up plant growth. On average, every 3 age mod reduces growing time by 2.5 minutes.
// Mechanical concerns.
var/health = 0 // Plant health.
@@ -132,6 +135,12 @@
"mutagen" = 15
)
+ //CHOMPedit: Reagents which double plant growth speed.
+ var/static/list/age_reagents = list(
+ "pitcher_nectar" = 1
+ )
+ //CHOMPedit end
+
/obj/machinery/portable_atmospherics/hydroponics/AltClick(var/mob/living/user)
if(!istype(user))
return
@@ -286,6 +295,11 @@
else if(toxic_reagents[R.id])
toxins += toxic_reagents[R.id] * reagent_total
+ //CHOMPedit: Agents which speed up plant growth
+ if(age_reagents[R.id])
+ age_mod += age_reagents[R.id] * reagent_total
+ //CHOMPedit end
+
//Handle some general level adjustments. These values are independent of plants existing.
if(weedkiller_reagents[R.id])
weedlevel -= weedkiller_reagents[R.id] * reagent_total
@@ -337,6 +351,7 @@
age = 0
sampled = 0
mutation_mod = 0
+ age_mod = 0 //CHOMPedit
check_health()
return
@@ -355,6 +370,7 @@
age = 0
yield_mod = 0
mutation_mod = 0
+ age_mod = 0 //CHOMPedit
to_chat(user, "You remove the dead plant.")
lastproduce = 0
@@ -371,6 +387,7 @@
dead = 0
age = 0
+ age_mod = 0 //CHOMPedit
health = seed.get_trait(TRAIT_ENDURANCE)
lastcycle = world.time
harvest = 0
@@ -447,6 +464,7 @@
pestlevel = max(0,min(pestlevel,10))
weedlevel = max(0,min(weedlevel,10))
toxins = max(0,min(toxins,10))
+ age_mod = max(0,min(age_mod,AGE_MOD_MAX)) //CHOMPedit: age_mod sanity check
/obj/machinery/portable_atmospherics/hydroponics/proc/mutate_species()
@@ -682,3 +700,5 @@
closed_system = !closed_system
to_chat(user, "You [closed_system ? "close" : "open"] the tray's lid.")
update_icon()
+
+#undef AGE_MOD_MAX //CHOMPedit
\ No newline at end of file
diff --git a/code/modules/hydroponics/trays/tray_process.dm b/code/modules/hydroponics/trays/tray_process.dm
index 44f40b74fd..b61bb28bd9 100644
--- a/code/modules/hydroponics/trays/tray_process.dm
+++ b/code/modules/hydroponics/trays/tray_process.dm
@@ -38,7 +38,11 @@
return
// Advance plant age.
- if(prob(30)) age += 1 * HYDRO_SPEED_MULTIPLIER
+ if(prob(30)) //CHOMPedit start: I have to push the age increase down for a line for this to work with the compiler.
+ age += 1 * HYDRO_SPEED_MULTIPLIER
+ if(age_mod >= 1) //Age reagents double the speed of plant growth in sufficient quantities
+ age += 1 * HYDRO_SPEED_MULTIPLIER
+ age_mod -= 1 //CHOMPedit end
//Highly mutable plants have a chance of mutating every tick.
if(seed.get_trait(TRAIT_IMMUTABLE) == -1)
diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm
index 32d47681c3..da315f2493 100644
--- a/code/modules/mining/machine_processing.dm
+++ b/code/modules/mining/machine_processing.dm
@@ -8,6 +8,7 @@
name = "production machine console"
icon = 'icons/obj/machines/mining_machines_vr.dmi' // VOREStation Edit
icon_state = "console"
+ layer = ABOVE_WINDOW_LAYER
density = TRUE
anchored = TRUE
diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm
index c1d6c4ee4c..fdabc49e7d 100644
--- a/code/modules/mining/machine_stacking.dm
+++ b/code/modules/mining/machine_stacking.dm
@@ -4,6 +4,7 @@
name = "stacking machine console"
icon = 'icons/obj/machines/mining_machines_vr.dmi' // VOREStation Edit
icon_state = "console"
+ layer = ABOVE_WINDOW_LAYER
density = 1
anchored = 1
var/obj/machinery/mineral/stacking_machine/machine = null
diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm
index 025543807d..f9bfecb6e6 100644
--- a/code/modules/mob/language/station_vr.dm
+++ b/code/modules/mob/language/station_vr.dm
@@ -134,6 +134,16 @@
"roar", "hyaa", "ma", "ha", "ya", "shi", "yo", "go"
)
+/datum/language/spacer
+ name = LANGUAGE_SPACER
+ desc = "A rough pidgin-language comprised of Tradeband, Gutter, and Sol Common used by various space-born communities unique to Humanity."
+ key = "J"
+ syllables = list(
+ "ada", "zir", "bian", "ach", "usk", "ado", "ich", "cuan", "iga", "qing", "le", "que", "ki", "qaf", "dei", "eta"
+ )
+ colour = "spacer"
+ machine_understands = TRUE
+
/datum/language/unathi
flags = 0
/datum/language/tajaran
diff --git a/code/modules/mob/living/bot/SLed209bot.dm b/code/modules/mob/living/bot/SLed209bot.dm
index fa17b05696..c4fd4b2767 100644
--- a/code/modules/mob/living/bot/SLed209bot.dm
+++ b/code/modules/mob/living/bot/SLed209bot.dm
@@ -21,6 +21,7 @@
xeno_harm_strength = 9
req_one_access = list(access_research, access_robotics)
botcard_access = list(access_research, access_robotics, access_xenobiology, access_xenoarch, access_tox, access_tox_storage, access_maint_tunnels)
+ retaliates = FALSE
var/xeno_stun_strength = 6
/mob/living/bot/secbot/ed209/slime/update_icons()
diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm
index 06ab067ab0..f5fd98615f 100644
--- a/code/modules/mob/living/bot/secbot.dm
+++ b/code/modules/mob/living/bot/secbot.dm
@@ -24,6 +24,7 @@
var/declare_arrests = FALSE // If true, announces arrests over sechuds.
var/threat = 0 // How much of a threat something is. Set upon acquiring a target.
var/attacked = FALSE // If true, gives the bot enough threat assessment to attack immediately.
+ var/retaliates = TRUE //If this type of secbot should retaliate at all - so that slime securitrons don't go ballistic the second they get glomped.
var/is_ranged = FALSE
var/awaiting_surrender = 0
@@ -64,6 +65,7 @@
desc = "A little security robot, with a slime baton subsituted for the regular one."
default_icon_state = "slimesecbot"
stun_strength = 10 // Slimebatons aren't meant for humans.
+ retaliates = FALSE // No, you're not allowed to beat the slimes to death just because they scratched you.
xeno_harm_strength = 9 // Weaker than regular slimesky but they can stun.
baton_glow = "#33CCFF"
@@ -194,7 +196,7 @@
..()
/mob/living/bot/secbot/proc/react_to_attack(mob/attacker)
- if(!on) // We don't want it to react if it's off
+ if(!on || !retaliates) // We don't want it to react if it's off or doesn't care
return
if(!target)
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index ade8c9cb26..4953ec72c3 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -694,13 +694,11 @@
if(!muzzled)
message = "[species.scream_verb]!"
m_type = 2
- //CHOMPStation Edit Start. Uncommented block. Why was it commented in the first place?
- //The offending content was commented out as well anyway.
- if(get_gender() == FEMALE)
- playsound(src, "[species.female_scream_sound]", 80, 1)
+ if(get_gender() == FEMALE) //CHOMPedit start : fixed scream sounds by giving them the ability to grab from a list, and a way to turn them off in preferences
+ playsound(src, pick(species.female_scream_sound), 80, preference = /datum/client_preference/emote_noises)
else
- playsound(src, "[species.male_scream_sound]", 80, 1) //default to male screams if no gender is present.
- //CHOMPStation Edit End.
+ playsound(src, pick(species.male_scream_sound), 80, preference = /datum/client_preference/emote_noises) //default to male screams if no gender is present.
+ //CHOMPedit end
else
message = "makes a very loud noise."
m_type = 2
diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm
index 805a71af23..5e8341ac0a 100644
--- a/code/modules/mob/living/carbon/human/emote_vr.dm
+++ b/code/modules/mob/living/carbon/human/emote_vr.dm
@@ -269,3 +269,17 @@
set desc = "Switch tail layer on top."
tail_alt = !tail_alt
update_tail_showing()
+
+/mob/living/carbon/human/verb/hide_wings_vr()
+ set name = "Show/Hide wings"
+ set category = "IC"
+ set desc = "Hide your wings, or show them if you already hid them."
+ wings_hidden = !wings_hidden
+ update_wing_showing()
+ var/message = ""
+ if(!wings_hidden)
+ message = "reveals their wings!"
+ else
+ message = "hides their wings."
+ visible_message("[src] [message]")
+
diff --git a/code/modules/mob/living/carbon/human/human_defines_ch.dm b/code/modules/mob/living/carbon/human/human_defines_ch.dm
index 69dfc3a7ea..10855c4bd7 100644
--- a/code/modules/mob/living/carbon/human/human_defines_ch.dm
+++ b/code/modules/mob/living/carbon/human/human_defines_ch.dm
@@ -1,2 +1,4 @@
/mob/living/carbon/human
- var/gender_change_cooldown = 0 // A cooldown for gender and gender indentify changing procs to make it easy to avoid spam of gender change
\ No newline at end of file
+ var/gender_change_cooldown = 0 // A cooldown for gender and gender indentify changing procs to make it easy to avoid spam of gender change
+ var/loneliness_stage = 0
+ var/next_loneliness_time = 0
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human_defines_vr.dm b/code/modules/mob/living/carbon/human/human_defines_vr.dm
index 9316b90e88..3a52565d08 100644
--- a/code/modules/mob/living/carbon/human/human_defines_vr.dm
+++ b/code/modules/mob/living/carbon/human/human_defines_vr.dm
@@ -9,6 +9,7 @@
var/impersonate_bodytype //For impersonating a bodytype
var/ability_flags = 0 //Shadekin abilities/potentially other species-based?
var/sensorpref = 5 //Suit sensor loadout pref
+ var/wings_hidden = FALSE
/mob/living/carbon/human/proc/shadekin_get_energy()
var/datum/species/shadekin/SK = species
@@ -48,4 +49,4 @@
if(!istype(SK))
return 0
- SK.set_energy(src, SK.get_energy(src) + amount)
\ No newline at end of file
+ SK.set_energy(src, SK.get_energy(src) + amount)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index fbf1b76b90..8733d22c2f 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -950,7 +950,14 @@
take_overall_damage(1,1)
else //heal in the dark
heal_overall_damage(1,1)
-
+ //CHOMPEdit Begin
+ if(species.photosynthesizing && nutrition < 1000)
+ var/light_amount = 0
+ if(isturf(loc))
+ var/turf/T = loc
+ light_amount = T.get_lumcount() / 10
+ adjust_nutrition(light_amount)
+ //CHOMPEdit End
// nutrition decrease
if (nutrition > 0 && stat != DEAD)
var/nutrition_reduction = species.hunger_factor
@@ -958,6 +965,11 @@
for(var/datum/modifier/mod in modifiers)
if(!isnull(mod.metabolism_percent))
nutrition_reduction *= mod.metabolism_percent
+ //CHOMPEdit Begin
+ if(nutrition > 1000 && species.grows && size_multiplier < RESIZE_HUGE)
+ nutrition_reduction *= 5
+ resize(min(size_multiplier+0.004,RESIZE_HUGE))
+ //CHOMPEdit End
adjust_nutrition(-nutrition_reduction)
if(noisy == TRUE && nutrition < 250 && prob(10)) //VOREStation edit for hunger noises.
diff --git a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm
index dd03ab4bbc..8e129555b0 100644
--- a/code/modules/mob/living/carbon/human/species/outsider/shadow.dm
+++ b/code/modules/mob/living/carbon/human/species/outsider/shadow.dm
@@ -12,6 +12,9 @@
has_organ = list()
siemens_coefficient = 0
+ male_scream_sound = null //CHOMPedit It has no mouth yet it must scream
+ female_scream_sound = null //CHOMPedit
+
blood_color = "#CCCCCC"
flesh_color = "#AAAAAA"
diff --git a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm
index d8a5577e37..ebc5237c08 100644
--- a/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm
+++ b/code/modules/mob/living/carbon/human/species/outsider/skeleton.dm
@@ -15,6 +15,9 @@
spawn_flags = SPECIES_IS_RESTRICTED
appearance_flags = null
+ male_scream_sound = null //CHOMPedit Screaming skeletons would be funny, but needs better sounds
+ female_scream_sound = null //CHOMPedit
+
show_ssd = null
blood_volume = null
diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
index 26334da161..247ac126b9 100644
--- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
+++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
@@ -22,6 +22,9 @@
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin)
rarity_value = 15 //INTERDIMENSIONAL FLUFFERS
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
siemens_coefficient = 0
darksight = 10
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index c33adc7821..d6f7e4e133 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -75,8 +75,8 @@
//Soundy emotey things.
var/scream_verb = "screams"
- var/male_scream_sound //= 'sound/goonstation/voice/male_scream.ogg' Removed due to licensing, replace!
- var/female_scream_sound //= 'sound/goonstation/voice/female_scream.ogg' Removed due to licensing, replace!
+ var/male_scream_sound = list('sound/effects/mob_effects/m_scream_1.ogg','sound/effects/mob_effects/m_scream_2.ogg','sound/effects/mob_effects/m_scream_3.ogg','sound/effects/mob_effects/m_scream_4.ogg') //CHOMpedit start : Added tgstation screams
+ var/female_scream_sound = list('sound/effects/mob_effects/f_scream_1.ogg','sound/effects/mob_effects/f_scream_2.ogg','sound/effects/mob_effects/f_scream_3.ogg','sound/effects/mob_effects/f_scream_4.ogg') //CHOMPedit end
var/male_cough_sounds = list('sound/effects/mob_effects/m_cougha.ogg','sound/effects/mob_effects/m_coughb.ogg', 'sound/effects/mob_effects/m_coughc.ogg')
var/female_cough_sounds = list('sound/effects/mob_effects/f_cougha.ogg','sound/effects/mob_effects/f_coughb.ogg')
var/male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg'
diff --git a/code/modules/mob/living/carbon/human/species/species_ch.dm b/code/modules/mob/living/carbon/human/species/species_ch.dm
new file mode 100644
index 0000000000..f0eee8ffca
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/species_ch.dm
@@ -0,0 +1,10 @@
+/datum/species
+ var/list/env_traits = list()
+ var/dirtslip = FALSE
+ var/photosynthesizing = FALSE
+ var/grows = FALSE
+
+/datum/species/handle_environment_special(var/mob/living/carbon/human/H)
+ for(var/datum/trait/env_trait in env_traits)
+ env_trait.handle_environment_special(H)
+ return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm
index 8353d36cba..fe5638a0e2 100644
--- a/code/modules/mob/living/carbon/human/species/station/alraune.dm
+++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm
@@ -16,6 +16,9 @@
base_species = SPECIES_ALRAUNE
selects_bodytype = TRUE
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
body_temperature = T20C
breath_type = "oxygen"
poison_type = "phoron"
diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm
index 6fd2e5db2d..edcadfc1bd 100644
--- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm
@@ -22,6 +22,9 @@
you select and set this species as your species. Please look at the VORE tab if you select this species."
catalogue_data = list(/datum/category_item/catalogue/fauna/custom_species)
+ male_scream_sound = null //CHOMPedit These are going to be a hassle for custom species if not null
+ female_scream_sound = null //CHOMPedit
+
name_language = null // Use the first-name last-name generator rather than a language scrambler
min_age = 18
max_age = 200
diff --git a/code/modules/mob/living/carbon/human/species/station/golem.dm b/code/modules/mob/living/carbon/human/species/station/golem.dm
index d2bc9dc1dd..76b5fb7c38 100644
--- a/code/modules/mob/living/carbon/human/species/station/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/station/golem.dm
@@ -11,6 +11,9 @@
spawn_flags = SPECIES_IS_RESTRICTED
siemens_coefficient = 0
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
assisted_langs = list()
breath_type = null
diff --git a/code/modules/mob/living/carbon/human/species/station/greyYW.dm b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
index 3922c442a7..cf832eca3e 100644
--- a/code/modules/mob/living/carbon/human/species/station/greyYW.dm
+++ b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
@@ -27,7 +27,8 @@
darksight = 5
reagent_tag = IS_GREY
-
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
min_age = 18
max_age = 130
diff --git a/code/modules/mob/living/carbon/human/species/station/monkey.dm b/code/modules/mob/living/carbon/human/species/station/monkey.dm
index 587f4d918d..8941847b20 100644
--- a/code/modules/mob/living/carbon/human/species/station/monkey.dm
+++ b/code/modules/mob/living/carbon/human/species/station/monkey.dm
@@ -22,6 +22,9 @@
tail = "chimptail"
fire_icon_state = "monkey"
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
unarmed_types = list(/datum/unarmed_attack/bite, /datum/unarmed_attack/claws)
inherent_verbs = list(/mob/living/proc/ventcrawl)
hud_type = /datum/hud_data/monkey
diff --git a/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm
index f8a783b162..583d7798db 100644
--- a/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/monkey_vr.dm
@@ -6,6 +6,8 @@
tail = null //The tail is part of its body due to tail using the "icons/effects/species.dmi" file. It must be null, or they'll have a chimp tail.
greater_form = "Akula"
default_language = "Skrellian" //Closest we have.
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
/datum/species/monkey/sergal
name = SPECIES_MONKEY_SERGAL
@@ -14,6 +16,8 @@
deform = 'icons/mob/human_races/monkeys/r_sergaling_vr.dmi'
tail = null
default_language = LANGUAGE_SAGARU
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
/datum/species/monkey/sparra
name = SPECIES_MONKEY_NEVREAN
@@ -23,6 +27,8 @@
icobase = 'icons/mob/human_races/monkeys/r_sparra_vr.dmi'
deform = 'icons/mob/human_races/monkeys/r_sparra_vr.dmi'
default_language = LANGUAGE_BIRDSONG
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
/* Example from Polaris code
@@ -52,6 +58,8 @@
flesh_color = "#966464"
base_color = "#000000"
tail = null
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
//INSERT CODE HERE SO MONKEYS CAN BE SPAWNED.
//Also, M was added to the end of the spawn names to signify that it's a monkey, since some names were conflicting.
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm
index 91ff9cee1f..92cba4c86c 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm
@@ -49,6 +49,9 @@ var/datum/species/shapeshifter/promethean/prometheans
economic_modifier = 3
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
gluttonous = 1
virus_immune = 1
blood_volume = 560
diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm
index 2bda0f27a7..d7b870bcb9 100755
--- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm
+++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm
@@ -26,6 +26,9 @@
breath_type = null
poison_type = null
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
virus_immune = 1
blood_volume = 0
min_age = 18
diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm
index 93fb433433..6c77578421 100644
--- a/code/modules/mob/living/carbon/human/species/station/seromi.dm
+++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm
@@ -80,6 +80,8 @@
swap_flags = MONKEY|SLIME|SIMPLE_ANIMAL
push_flags = MONKEY|SLIME|SIMPLE_ANIMAL|ALIEN
+ body_temperature = 270
+
cold_level_1 = 180 //Default 260
cold_level_2 = 130 //Default 200
cold_level_3 = 70 //Default 120
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index 208ff6d9a9..dbf768ae9f 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -76,6 +76,9 @@
max_age = 260
economic_modifier = 10
+
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
blurb = "A heavily reptillian species, Unathi hail from the \
Uuosa-Eso system, which roughly translates to 'burning mother'. Coming from a harsh, inhospitable \
@@ -191,6 +194,9 @@
economic_modifier = 10
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "The Tajaran are a mammalian species resembling roughly felines, hailing from Meralar in the Rarkajar system. \
While reaching to the stars independently from outside influences, the humans engaged them in peaceful trade contact \
and have accelerated the fledgling culture into the interstellar age. Their history is full of war and highly fractious \
@@ -198,7 +204,7 @@
home worlds and speak a variety of languages, especially Siik and Akhani."
catalogue_data = list(/datum/category_item/catalogue/fauna/tajaran)
- body_temperature = 320.15 //Even more cold resistant, even more flammable
+ body_temperature = 280.15 //Even more cold resistant, even more flammable
cold_level_1 = 200 //Default 260
cold_level_2 = 140 //Default 200
@@ -235,7 +241,7 @@
"Your overheated skin itches."
)
- cold_discomfort_level = 275
+ cold_discomfort_level = 215
has_organ = list( //No appendix.
O_HEART = /obj/item/organ/internal/heart,
@@ -280,6 +286,9 @@
economic_modifier = 10
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
darksight = 4
flash_mod = 1.2
chemOD_mod = 0.9
@@ -358,6 +367,9 @@
min_age = 16
max_age = 90
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "The Zaddat are an Unathi client race only recently introduced to SolGov space. Having evolved on \
the high-pressure and post-apocalyptic world of Xohok, Zaddat require an environmental suit called a Shroud \
to survive in usual planetary and station atmospheres. Despite these restrictions, worsening conditions on \
@@ -470,6 +482,9 @@
economic_modifier = 10
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \
species hailing from Epsilon Ursae Minoris. Each 'diona' is a cluster of numerous cat-sized organisms called nymphs; \
there is no effective upper limit to the number that can fuse in gestalt, and reports exist of the Epsilon Ursae \
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
index bc54d328c1..579c4314e2 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
@@ -38,6 +38,9 @@
min_age = 18
max_age = 80
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Some amalgamation of different species from across the universe,with extremely unstable DNA, making them unfit for regular cloners. \
Widely known for their voracious nature and violent tendencies when stressed or left unfed for long periods of time. \
Most, if not all chimeras possess the ability to undergo some type of regeneration process, at the cost of energy."
@@ -381,6 +384,9 @@
min_age = 18
max_age = 80
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Vasilissans are a tall, lanky, spider like people. \
Each having four eyes, an extra four, large legs sprouting from their back, and a chitinous plating on their body, and the ability to spit webs \
from their mandible lined mouths. They are a recent discovery by Nanotrasen, only being discovered roughly seven years ago. \
@@ -451,6 +457,9 @@
min_age = 18
max_age = 200
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Big buff werewolves. These are a limited functionality event species that are not balanced for regular gameplay. Adminspawn only."
wikilink="N/A"
diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
index 72be3e3d38..29fdcea0e5 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
@@ -19,6 +19,9 @@
min_age = 18
max_age = 110
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "There are two subspecies of Sergal; Southern and Northern. Northern sergals are a highly aggressive race \
that lives in the plains and tundra of their homeworld. They are characterized by long, fluffy fur bodies with cold colors; \
usually with white abdomens, somewhat short ears, and thick faces. Southern sergals are much more docile and live in the \
@@ -85,6 +88,9 @@
min_age = 18
max_age = 110
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "The Akula are a species of amphibious humanoids like the Skrell, but have an appearance very similar to that of a shark. \
They were first discovered as a primitive race of underwater dwelling tribal creatures by the Skrell. At first they were not believed \
to be noteworthy, but the Akula proved to be such swift and clever learners that the Skrell reclassified them as sentients. Allegedly, \
@@ -132,6 +138,9 @@
min_age = 18
max_age = 110
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Nevreans are a race of avian and dinosaur-like creatures living on Tal. They belong to a group of races that hails from Eltus, \
in the Vilous system. Unlike sergals whom they share a star system with, their species is a very peaceful one. They possess remarkable \
intelligence and very skillful hands that are put use for constructing precision instruments, but tire-out fast when repeatedly working \
@@ -174,6 +183,9 @@
min_age = 18
max_age = 110
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "The fox-like Zorren are native to Virgo-Prime, however there are two distinct varieties of Zorren one with large ears and shorter fur, \
and the other with longer fur that is a bit more vibrant. The long-eared, short-furred Zorren have come to be known as Flatland Zorren as that \
is where most of their settlements are located. The Flatland Zorren are somewhat tribal and shamanistic as they have only recently started to be \
@@ -221,6 +233,9 @@
color_mult = 1
inherent_verbs = list(/mob/living/proc/shred_limb, /mob/living/carbon/human/proc/lick_wounds)
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Vulpkanin are a species of sharp-witted canine-pideds residing on the planet Altam just barely within the \
dual-star Vazzend system. Their politically de-centralized society and independent natures have led them to become a species and \
culture both feared and respected for their scientific breakthroughs. Discovery, loyalty, and utilitarianism dominates their lifestyles \
@@ -386,6 +401,9 @@ datum/species/harpy
base_color = "#EECEB3"
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "An Avian species, coming from a distant planet, the Rapalas are the very proud race.\
Sol researchers have commented on them having a very close resemblance to the mythical race called 'Harpies',\
who are known for having massive winged arms and talons as feet. They've been clocked at speeds of over 35 miler per hour chasing the planet's many fish-like fauna.\
@@ -413,6 +431,8 @@ datum/species/harpy
deform = 'icons/mob/human_races/r_shadekin_vr.dmi'
tail = "tail"
icobase_tail = 1
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
blurb = "Very little is known about these creatures. They appear to be largely mammalian in appearance. \
Seemingly very rare to encounter, there have been widespread myths of these creatures the galaxy over, \
but next to no verifiable evidence to their existence. However, they have recently been more verifiably \
@@ -537,6 +557,9 @@ datum/species/harpy
min_age = 18
max_age = 80
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
//primitive_form = "" //We don't have fennec-monkey sprites.
spawn_flags = SPECIES_IS_RESTRICTED
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
@@ -568,6 +591,9 @@ datum/species/harpy
min_age = 18
max_age = 80
+ male_scream_sound = null //CHOMPedit
+ female_scream_sound = null //CHOMPedit
+
blurb = "Xenomorphs hybrids are a mixture of xenomorph DNA and some other humanoid species. \
Xenomorph hyrids mostly have had had their natural aggression removed due to the gene modification process \
although there are some exceptions, such as when they are harmed. Most xenomorph hybrids are female, due to their natural xenomorph genes, \
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm
new file mode 100644
index 0000000000..ac04d2be3c
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative_ch.dm
@@ -0,0 +1,123 @@
+/datum/trait/hollow
+ excludes = list(/datum/trait/densebones)
+
+/datum/trait/slipperydirt
+ name = "Dirt Vulnerability"
+ desc = "Even the tiniest particles of dirt give you uneasy footing, even through several layers of footwear."
+ cost = -5
+ var_changes = list("dirtslip" = TRUE)
+
+/datum/trait/lonely
+ name = "Minor loneliness vulnerability"
+ desc = "You're very prone to loneliness! Being alone for extended periods of time causes adverse effects. Most mobs will cure this loneliness as long as they aren't hostile."
+ var/warning_cap = 400
+ var/only_people = FALSE
+ var/hallucination_cap = 25
+ var/escalation_speed = 0.8
+ cost = -2
+ special_env = TRUE
+ excludes = list(/datum/trait/lonely/major)
+
+/datum/trait/lonely/major
+ name = "Major loneliness vulnerability"
+ desc = "You're extremely prone to loneliness! Being alone for extended periods of time causes adverse effects. Most mobs won't be enough to cure this loneliness, you need other social beings."
+ warning_cap = 300
+ hallucination_cap = 50
+ escalation_speed = 1.3
+ only_people = TRUE
+ cost = -5
+ special_env = TRUE
+ excludes = list(/datum/trait/lonely)
+
+/datum/trait/lonely/proc/check_mob_company(var/mob/living/carbon/human/H,var/mob/living/M)
+ if(only_people && !istype(M, /mob/living/carbon) && !istype(M, /mob/living/silicon/robot))
+ return 0
+ if(M == H || M.stat == DEAD || M.invisibility > H.see_invisible)
+ return 0
+ if(only_people && !M.ckey)
+ return 0
+ if(M.faction == "neutral" || M.faction == H.faction)
+ if(H.loneliness_stage > 0)
+ H.loneliness_stage -= 4
+ if(H.loneliness_stage < 0)
+ H.loneliness_stage = 0
+ if(world.time >= H.next_loneliness_time)
+ to_chat(H, "The nearby company calms you down...")
+ H.next_loneliness_time = world.time+500
+ return 1
+ else
+ if(M.vore_organs)
+ for(var/obj/belly/B in M.vore_organs)
+ for(var/mob/living/content in B.contents)
+ if(istype(content))
+ check_mob_company(H,content)
+ return 0
+
+/datum/trait/lonely/handle_environment_special(var/mob/living/carbon/human/H)
+ spawn(0)
+ // If they're dead or unconcious they're a bit beyond this kind of thing.
+ if(H.stat)
+ return
+ // No point processing if we're already stressing the hell out.
+ if(H.hallucination >= hallucination_cap && H.loneliness_stage >= warning_cap)
+ return
+ // Vored? Not gonna get frightened.
+ if(isbelly(H.loc))
+ if(H.loneliness_stage > 0)
+ H.loneliness_stage -= 4
+ return
+ if(istype(H.loc, /obj/item/weapon/holder))
+ if(H.loneliness_stage > 0)
+ H.loneliness_stage -= 4
+ return
+ // Check for company.
+ for(var/mob/living/M in viewers(H))
+ if(check_mob_company(H,M))
+ return
+ if(H.vore_organs)
+ for(var/obj/belly/B in H.vore_organs)
+ for(var/mob/living/content in B.contents)
+ if(istype(content))
+ if(check_mob_company(H,content))
+ return
+ for(var/obj/item/weapon/holder/micro/M in range(1, H))
+ if(H.loneliness_stage > 0)
+ H.loneliness_stage -= 4
+ if(H.loneliness_stage < 0)
+ H.loneliness_stage = 0
+ if(world.time >= H.next_loneliness_time)
+ to_chat(H, "[M] calms you down...")
+ H.next_loneliness_time = world.time+500
+ for(var/obj/effect/overlay/aiholo/A in range(5, H))
+ if(H.loneliness_stage > 0)
+ H.loneliness_stage -= 4
+ if(H.loneliness_stage < 0)
+ H.loneliness_stage = 0
+ if(world.time >= H.next_loneliness_time)
+ to_chat(H, "[A] calms you down...")
+ H.next_loneliness_time = world.time+500
+
+ // No company? Suffer :(
+ if(H.loneliness_stage < warning_cap)
+ H.loneliness_stage = min(warning_cap,H.loneliness_stage+escalation_speed)
+ handle_loneliness(H)
+ if(H.loneliness_stage >= warning_cap && H.hallucination < hallucination_cap)
+ H.hallucination = min(hallucination_cap,H.hallucination+2.5*escalation_speed)
+
+/datum/trait/lonely/proc/handle_loneliness(var/mob/living/carbon/human/H)
+ var/ms = ""
+ if(H.loneliness_stage == escalation_speed)
+ ms = "Well.. No one is around you anymore..."
+ if(H.loneliness_stage >= 50)
+ ms = "You begin to feel alone..."
+ if(H.loneliness_stage >= 250)
+ ms = "[pick("You don't think you can last much longer without some visible company!", "You should go find someone!")]"
+ if(H.stuttering < hallucination_cap)
+ H.stuttering += 5
+ if(H.loneliness_stage >= warning_cap)
+ ms = "[pick("Where are the others?", "Please, there has to be someone nearby!", "I don't want to be alone!")] "
+ if(world.time < H.next_loneliness_time)
+ return
+ if(ms != "")
+ to_chat(H, ms)
+ H.next_loneliness_time = world.time+500
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral_ch.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral_ch.dm
index e3f8a171e9..ab70d1e0c8 100644
--- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral_ch.dm
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral_ch.dm
@@ -14,4 +14,10 @@
/datum/trait/succubus_bite/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
- H.verbs |= /mob/living/proc/succubus_bite
\ No newline at end of file
+ H.verbs |= /mob/living/proc/succubus_bite
+
+/datum/trait/nutritiongrow
+ name = "Growing"
+ desc = "After you consume enough nutrition, you start to slowly grow while metabolizing nutrition faster."
+ cost = 0
+ var_changes = list("grows" = TRUE)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
index 49e0e2cf3e..9c22f2f60c 100644
--- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm
@@ -100,6 +100,12 @@
cost = 2
var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp, /datum/unarmed_attack/bite/sharp/numbing))
+/datum/trait/fangs
+ name = "Numbing Fangs"
+ desc = "Provides fangs that makes the person bit unable to feel their body or pain."
+ cost = 1
+ var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite/sharp/numbing))
+
/datum/trait/minor_brute_resist
name = "Minor Brute Resist"
desc = "Adds 10% resistance to brute damage sources."
@@ -159,13 +165,13 @@
desc = "You've drunk so much that most booze doesn't even faze you. It takes something like a Pan-Galactic or a pint of Deathbell for you to even get slightly buzzed. You may wish to note this down in your medical records."
cost = 2
var_changes = list("alcohol_mod" = 0.25)
-
+
/datum/trait/pain_tolerance_basic
name = "Pain Tolerant"
desc = "You're a little more resistant to pain than most, and experience 10% less pain from from all sources."
cost = 1
var_changes = list("pain_mod" = 0.9)
-
+
/datum/trait/pain_tolerance_advanced
name = "High Pain Tolerance"
desc = "You are noticeably more resistant to pain than most, and experience 20% less pain from all sources."
@@ -247,13 +253,15 @@
cost = 2
var_changes = list("cold_level_1" = 200, "cold_level_2" = 150, "cold_level_3" = 90, "breath_cold_level_1" = 180, "breath_cold_level_2" = 100, "breath_cold_level_3" = 60, "cold_discomfort_level" = 210, "heat_level_1" = 305, "heat_level_2" = 360, "heat_level_3" = 700, "breath_heat_level_1" = 345, "breath_heat_level_2" = 380, "breath_heat_level_3" = 780, "heat_discomfort_level" = 295)
excludes = list(/datum/trait/hotadapt)
-
+ not_for_synths = 1 // CHOMP edit
+
/datum/trait/hotadapt
name = "Heat-Adapted"
desc = "You are able to withstand much hotter temperatures than other species, and can even be comfortable in extremely hot environments. You are also more vulnerable to cold environments as a consequence of these adaptations."
cost = 2
var_changes = list("heat_level_1" = 420, "heat_level_2" = 460, "heat_level_3" = 1100, "breath_heat_level_1" = 440, "breath_heat_level_2" = 510, "breath_heat_level_3" = 1500, "heat_discomfort_level" = 390, "cold_level_1" = 280, "cold_level_2" = 220, "cold_level_3" = 140, "breath_cold_level_1" = 260, "breath_cold_level_2" = 240, "breath_cold_level_3" = 120, "cold_discomfort_level" = 280)
excludes = list(/datum/trait/coldadapt)
+ not_for_synths = 1 // CHOMP edit
// YW Addition end
/datum/trait/snowwalker
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive_ch.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive_ch.dm
new file mode 100644
index 0000000000..ce55c4b111
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive_ch.dm
@@ -0,0 +1,37 @@
+/datum/trait/linguist
+ name = "Master Linguist"
+ desc = "You are a master of languages! For whatever reason you might have, you are able to learn many more languages than others."
+ cost = 2
+ var_changes = list("num_alternate_languages" = 12)
+
+/datum/trait/densebones
+ name = "Dense bones"
+ desc = "Your bones (or robotic limbs) are more dense or stronger then what is considered normal. It is much harder to fracture your bones, yet pain from fractures is much more intense."
+ cost = 2
+ excludes = list(/datum/trait/hollow)
+
+/datum/trait/densebones/apply(var/datum/species/S,var/mob/living/carbon/human/H)
+ ..(S,H)
+ for(var/obj/item/organ/external/organ in H.organs)
+ if(istype(organ))
+ organ.min_broken_damage *= 1.5
+ organ.brokenpain *= 2
+
+/datum/trait/lowpressureres
+ name = "Low Pressure Resistance"
+ desc = "Your body is more resistant to low pressures. Pretty simple."
+ cost = 3
+ var_changes = list("hazard_low_pressure" = HAZARD_LOW_PRESSURE*0.66, "warning_low_pressure" = WARNING_LOW_PRESSURE*0.66, "minimum_breath_pressure" = 16*0.66)
+
+/datum/trait/highpressureres
+ name = "High Pressure Resistance"
+ desc = "Your body is more resistant to high pressures. Pretty simple."
+ cost = 3
+ var_changes = list("hazard_high_pressure" = HAZARD_HIGH_PRESSURE*1.5, "warning_high_pressure" = WARNING_HIGH_PRESSURE*1.5)
+
+/datum/trait/photosynth
+ name = "Photosynthesis"
+ desc = "Your body is able to produce nutrition from being in light."
+ cost = 3
+ var_changes = list("photosynthesizing" = TRUE)
+ not_for_synths = 1 //Synths don't use nutrition.
diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/trait_ch.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/trait_ch.dm
new file mode 100644
index 0000000000..662d3ebdc0
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/trait_ch.dm
@@ -0,0 +1,19 @@
+/datum/trait
+ var/special_env = FALSE
+
+/datum/trait/proc/handle_environment_special(var/mob/living/carbon/human/H)
+ return
+
+/datum/trait/apply(var/datum/species/S,var/mob/living/carbon/human/H)
+ ASSERT(S)
+ if(var_changes)
+ for(var/V in var_changes)
+ S.vars[V] = var_changes[V]
+ if(special_env)
+ S.env_traits += src
+ return
+/datum/trait/remove(var/datum/species/S)
+ ASSERT(S)
+ if(special_env)
+ S.env_traits -= src
+ return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
index f7da2b0550..629bd1808b 100644
--- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
+++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm
@@ -10,6 +10,9 @@
hud_type = /datum/hud_data/alien
rarity_value = 3
+ male_scream_sound = null //CHOMPedit Note, add xenomorph screams later, shouldn't be hard
+ female_scream_sound = null //CHOMPedit
+
darksight = 10 //CHOMPedit. Added darksight
vision_flags = SEE_SELF|SEE_MOBS|SEE_TURFS //CHOMPedit trying to make xenos see properly
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 24f06a43b4..06429d02f3 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -151,7 +151,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone.
M.Turn(90)
M.Scale(desired_scale_x, desired_scale_y)
- M.Translate(1,-6)
+ if(species.icon_height == 64)//VOREStation Edit
+ M.Translate(13,-22)
+ else
+ M.Translate(1,-6)
layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters
else
M.Scale(desired_scale_x, desired_scale_y)
diff --git a/code/modules/mob/living/carbon/human/update_icons_vr.dm b/code/modules/mob/living/carbon/human/update_icons_vr.dm
index 45a5690ae6..d05f8afa22 100644
--- a/code/modules/mob/living/carbon/human/update_icons_vr.dm
+++ b/code/modules/mob/living/carbon/human/update_icons_vr.dm
@@ -3,13 +3,13 @@
return
//If you are FBP with wing style and didn't set a custom one
- if(synthetic && synthetic.includes_wing && !wing_style)
+ if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden)
var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing?
wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
return image(wing_s)
//If you have custom wings selected
- if(wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL))
+ if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden)
var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state)
if(wing_style.do_colouration)
wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
index 95c14bc195..e53dd71b12 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
@@ -252,7 +252,7 @@
to_chat(user, "You finish off \the [target.name], and gain some charge! ")
var/mob/living/silicon/robot/R = user
var/obj/item/weapon/cell/C = target
- R.cell.charge += C.maxcharge / 3
+ R.cell.charge += C.charge / 3
water.use_charge(5)
qdel(target)
return
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index d6f5acfb3d..bd608ca006 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -219,7 +219,8 @@
/obj/item/mecha_parts/part,
/obj/item/mecha_parts/micro/part, //VOREStation Edit: Allow construction of micromechs,
/obj/item/mecha_parts/mecha_equipment,
- /obj/item/mecha_parts/mecha_tracking
+ /obj/item/mecha_parts/mecha_tracking,
+ /obj/item/mecha_parts/component
)
/obj/item/weapon/gripper/no_use //Used when you want to hold and put items in other things, but not able to 'use' the item
diff --git a/code/modules/mob/living/simple_animal/aliens/synx.dm b/code/modules/mob/living/simple_animal/aliens/synx.dm
index 9f7ba6228c..8a96987254 100644
--- a/code/modules/mob/living/simple_animal/aliens/synx.dm
+++ b/code/modules/mob/living/simple_animal/aliens/synx.dm
@@ -2,7 +2,7 @@
#define SYNX_UPPER_DAMAGE 6
-/mob/living/simple_mob/retaliate/synx //Player controlled variant
+/mob/living/simple_mob/animal/synx //Player controlled variant
//on inteligence https://synx.fandom.com/wiki/Behavior/Intelligence //keeping this here for player controlled synxes.
name = "Synx"
desc = "A cold blooded, genderless, parasitic eel from the more distant and stranger areas of the cosmos. Plain, white, perpetually grinning and possessing a hunger as enthusiastic and endless as humanity's sense of exploration."
@@ -13,6 +13,7 @@
icon_state = "synx_living"
icon_living = "synx_living"
icon_dead = "synx_dead"
+ mob_bump_flag = SIMPLE_ANIMAL //This not existing was breaking vore bump for some reason.
var/list/speak = list()
var/speak_chance = 1 //MAy have forgotten to readd that.
@@ -100,12 +101,12 @@
max_n2 = 0 //Maybe add a max
// TODO: Set a max temperature of about 20-30 above room temperatures. Synx don't like the heat.
-/mob/living/simple_mob/retaliate/synx/ai //AI controlled variant
+/mob/living/simple_mob/animal/synx/ai //AI controlled variant
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
-/mob/living/simple_mob/retaliate/synx/init_vore()
+/mob/living/simple_mob/animal/synx/init_vore()
..()
var/obj/belly/B = vore_selected
//B.human_prey_swallow_time = 6 SECONDS //doesnt work
@@ -134,7 +135,7 @@
)
B.mode_flags = DM_FLAG_NUMBING //Prey are more docile when it doesn't hurt.
-/mob/living/simple_mob/retaliate/synx/ai/pet/asteri/init_vore()
+/mob/living/simple_mob/animal/synx/ai/pet/asteri/init_vore()
..()
var/obj/belly/B = vore_selected
B.desc = "The synx eagerly swallows you, taking you from its gullet into its long, serpentine stomach. The internals around you greedily press into your from all sides, keeping you coated in a slick coat of numbing fluids..."
@@ -158,16 +159,16 @@
"The synx's body gleefully takes what's left of your life, Asteri's usually-repressed sadism overwhelmed with a sinister satisfaction in snuffing you out as your liquefied remains gush into a bit more heft on the parasite's emaciated frame.",
)
-/mob/living/simple_mob/retaliate/synx/New() //this is really cool. Should be able to ventcrawl canonicaly, contort, and make random speech.
+/mob/living/simple_mob/animal/synx/New() //this is really cool. Should be able to ventcrawl canonicaly, contort, and make random speech.
//some things should be here that arent tho.
..()
verbs |= /mob/living/proc/ventcrawl
- verbs |= /mob/living/simple_mob/retaliate/synx/proc/distend_stomach //to do later: sprites of stomach outside the body.
+ verbs |= /mob/living/simple_mob/animal/synx/proc/distend_stomach //to do later: sprites of stomach outside the body.
verbs |= /mob/living/simple_mob/proc/contort
- verbs |= /mob/living/simple_mob/retaliate/synx/proc/sonar_ping
+ verbs |= /mob/living/simple_mob/animal/synx/proc/sonar_ping
verbs |= /mob/living/proc/shred_limb
- verbs |= /mob/living/simple_mob/retaliate/synx/proc/disguise
- verbs |= /mob/living/simple_mob/retaliate/synx/proc/randomspeech
+ verbs |= /mob/living/simple_mob/animal/synx/proc/disguise
+ verbs |= /mob/living/simple_mob/animal/synx/proc/randomspeech
realname = name
voices += "Garbled voice"
voices += "Unidentifiable Voice"
@@ -177,6 +178,7 @@
//////////////////////////////////////////////////////////////////////////////////////
///////////////////////////// SPECIAL ITEMS/REAGENTS !!!! ////////////////////////////
////////////////////////////////////////////////////////////////////////////////////// //keeping most of these the same except the stuff that apply to the standard synx. -lo
+/*
/datum/seed/hardlightseed/
name = "Type NULL Hardlight Generator"
seed_name = "Biomechanical Hardlight generator seed"
@@ -204,7 +206,8 @@
name = "hardlightseedsx"
seed_name = "hardlightseedsx"
display_name = "Biomechanical Hardlight Generator SX"//PLant that is part mechanical part biological
- has_mob_product = /mob/living/simple_mob/retaliate/synx/ai/pet/holo
+ has_mob_product = /mob/living/simple_mob/animal/synx/ai/pet/holo
+*/ //This is defined in seed_datums_ch
/obj/item/seeds/hardlightseed/typesx
seed_type = "hardlightseedsx"
@@ -310,7 +313,7 @@
//////////////////////////////////////////////////////////////////////////////////////
// nevermind. I added any roleplay flavor weird fur mechanics to happen when you touch or attack the synx.
-/mob/living/simple_mob/retaliate/synx/apply_melee_effects(var/atom/A) //Re-adding this for AI synx
+/mob/living/simple_mob/animal/synx/apply_melee_effects(var/atom/A) //Re-adding this for AI synx
if(stomach_distended) //Hacky burn damage code
if(isliving(A)) //Only affect living mobs, should include silicons. This could be expanded to deal special effects to acid-vulnerable objects.
var/mob/living/L = A
@@ -345,7 +348,7 @@
-/mob/living/simple_mob/retaliate/synx/hear_say(message,verb,language,fakename,isItalics,var/mob/living/speaker)
+/mob/living/simple_mob/animal/synx/hear_say(message,verb,language,fakename,isItalics,var/mob/living/speaker)
. = ..()
if(!message) return
if (speaker == src) return
@@ -361,7 +364,7 @@
if(message=="Honk!")
bikehorn()
-/mob/living/simple_mob/retaliate/synx/ai/pet/clown/Life()
+/mob/living/simple_mob/animal/synx/ai/pet/clown/Life()
..()
if(vore_fullness)
size_multiplier = 1+(0.5*vore_fullness)
@@ -369,13 +372,13 @@
if(!vore_fullness && size_multiplier != 1)
size_multiplier = 1
update_icons()
-/mob/living/simple_mob/retaliate/synx/Life()
+/mob/living/simple_mob/animal/synx/Life()
..()
-//mob/living/simple_mob/retaliate/synx/ai/handle_idle_speaking() //Only ai-controlled synx will randomly speak
+//mob/living/simple_mob/animal/synx/ai/handle_idle_speaking() //Only ai-controlled synx will randomly speak
if(voices && prob(speak_chance/2))
randomspeech()
-/mob/living/simple_mob/retaliate/synx/perform_the_nom() //Synx can only eat people if their organs are on the inside.
+/mob/living/simple_mob/animal/synx/perform_the_nom() //Synx can only eat people if their organs are on the inside.
if(stomach_distended)
to_chat(src,"You can't eat people without your stomach inside of you! ")
return
@@ -406,7 +409,7 @@
to_chat(src,"You are now hiding. ")
movement_cooldown = 6
-/mob/living/simple_mob/retaliate/synx/proc/disguise()
+/mob/living/simple_mob/animal/synx/proc/disguise()
set name = "Toggle Form"
set desc = "Switch between amorphous and humanoid forms."
set category = "Abilities"
@@ -429,7 +432,7 @@
transformed = !transformed
update_icons()
-/mob/living/simple_mob/retaliate/synx/proc/randomspeech()
+/mob/living/simple_mob/animal/synx/proc/randomspeech()
set name = "speak"
set desc = "Takes a sentence you heard and says it"
set category = "Abilities"
@@ -438,7 +441,7 @@
else
usr << "YOU NEED TO HEAR THINGS FIRST, try using Ventcrawl to eevesdrop on nerds "
-/mob/living/simple_mob/retaliate/synx/proc/handle_mimic()
+/mob/living/simple_mob/animal/synx/proc/handle_mimic()
name = pick(voices)
spawn(2)
src.say(pick(speak))
@@ -447,10 +450,10 @@
//lo- procs adjusted to mobs.
-/mob/living/simple_mob/retaliate/synx
+/mob/living/simple_mob/animal/synx
var/next_sonar_ping = 0
-/mob/living/simple_mob/retaliate/synx/proc/sonar_ping()
+/mob/living/simple_mob/animal/synx/proc/sonar_ping()
set name = "Listen In"
set desc = "Allows you to listen in to movement and noises around you."
set category = "Abilities"
@@ -499,7 +502,7 @@
-/mob/living/simple_mob/retaliate/synx/proc/distend_stomach()
+/mob/living/simple_mob/animal/synx/proc/distend_stomach()
set name = "Distend Stomach"
set desc = "Allows you to throw up your stomach, giving your attacks burn damage at the cost of your stomach contents going everywhere. Yuck."
set category = "Abilities"
@@ -537,7 +540,7 @@
////////////////////////////////////////
////////////////PET VERSION/////////////
////////////////////////////////////////
-/mob/living/simple_mob/retaliate/synx/ai/pet
+/mob/living/simple_mob/animal/synx/ai/pet
faction = "Cargonia" //Should not share a faction with those pesky non station synxes.//This is so newspaper has a failchance
name = "Bob"
desc = "A very regular pet."
@@ -546,25 +549,25 @@
glow_toggle = 1
player_msg = "You aren't supposed to be in this. Wrong mob."
-/mob/living/simple_mob/retaliate/synx/ai/pet/init_vore()
+/mob/living/simple_mob/animal/synx/ai/pet/init_vore()
..()
var/obj/belly/B = vore_selected
B.vore_verb = "swallow"
B.digest_burn = 1
B.digest_brute = 0
-/mob/living/simple_mob/retaliate/synx/ai/pet/holo/init_vore()
+/mob/living/simple_mob/animal/synx/ai/pet/holo/init_vore()
..()
var/obj/belly/B = vore_selected
B.vore_verb = "swallow"
B.digest_burn = 5
B.digest_brute = 5
-/mob/living/simple_mob/retaliate/synx/ai/pet
+/mob/living/simple_mob/animal/synx/ai/pet
speak_chance = 2.0666
//HONKMOTHER Code.
-/*/mob/living/simple_mob/retaliate/synx/proc/honk()
+/*/mob/living/simple_mob/animal/synx/proc/honk()
set name = "HONK"
set desc = "TAAA RAINBOW"
set category = "Abilities"
@@ -572,18 +575,18 @@
icon_living = "synx_pet_rainbow"
playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1)
*/
-/mob/living/simple_mob/retaliate/synx/proc/bikehorn()
+/mob/living/simple_mob/animal/synx/proc/bikehorn()
playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1)
//HOLOSEEDSPAWNCODE
-/mob/living/simple_mob/retaliate/synx/ai/pet/holo/death()
+/mob/living/simple_mob/animal/synx/ai/pet/holo/death()
..()
visible_message("\The [src] fades away! ")
var/location = get_turf(src)
new /obj/item/seeds/hardlightseed/typesx(location)
qdel(src)
-/mob/living/simple_mob/retaliate/synx/ai/pet/holo/gib()
+/mob/living/simple_mob/animal/synx/ai/pet/holo/gib()
visible_message("\The [src] fades away! ")
var/location = get_turf(src)
new /obj/item/seeds/hardlightseed/typesx(location)
@@ -592,7 +595,7 @@
////////////////////////////////////////
////////////////SYNX VARIATIONS/////////
////////////////////////////////////////
-/mob/living/simple_mob/retaliate/synx/ai/pet/holo
+/mob/living/simple_mob/animal/synx/ai/pet/holo
poison_chance = 100
poison_type = "fakesynxchem" //unlike synxchem this one heals!
name = "Hardlight synx"
@@ -617,7 +620,7 @@
vore_escape_chance = 30 //Much higher escape chance.. it's a hologram.
swallowTime = 10 SECONDS //Much more time to run
-/mob/living/simple_mob/retaliate/synx/ai/pet/greed
+/mob/living/simple_mob/animal/synx/ai/pet/greed
name = "Greed"
desc = "A cold blooded, genderless, parasitic eel from the more distant and stranger areas of the cosmos. black, perpetually grinning and possessing a hunger as enthusiastic and endless as humanity's sense of exploration.. This one has the name Greed burnt into its back, the burnt in name seems to be luminescent making it harder for it to blend into the dark."
//icon= //icon= would just set what DMI we are using, we already have our special one set.
@@ -635,7 +638,7 @@
vore_bump_chance = 2 //lowered bump chance
vore_escape_chance = 5 //Multivore allows for people to shove eachother out so lower normal escape chance.
-/mob/living/simple_mob/retaliate/synx/ai/pet/greed/synth
+/mob/living/simple_mob/animal/synx/ai/pet/greed/synth
/*
▓███▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓▓▓ ▓███▓
â–“â–“ â–“â–“â–“â–ˆ â–“â–“ â–“â–“â–ˆ â–“â–“ â–“â–“â–ˆ â–“â–“ â–“â–“â–ˆ â–“â–“ â–“â–“â–ˆ â–“â–“ â–“â–“â–“â–ˆ
@@ -691,11 +694,11 @@
..()
name = "SYN-KinC-([rand(100,999)])"
-/mob/living/simple_mob/retaliate/synx/ai/pet/greed/synth/goodboy
+/mob/living/simple_mob/animal/synx/ai/pet/greed/synth/goodboy
//hostile = 0
faction = "neutral"
-/mob/living/simple_mob/retaliate/synx/ai/pet/diablo
+/mob/living/simple_mob/animal/synx/ai/pet/diablo
//var/diablo_LIVING = "synx_diablo_living"
//var/diablo_DEAD = "synx_diablo_dead"
name = "diablo"
@@ -707,7 +710,7 @@
//Vore Section
vore_capacity = 2
-/mob/living/simple_mob/retaliate/synx/ai/pet/asteri
+/mob/living/simple_mob/animal/synx/ai/pet/asteri
name = "Asteri"
desc = "A cold blooded, genderless, parasitic eel from the more distant and stranger areas of the cosmos. Bleak white, perpetually grinning and possessing a hunger as enthusiastic and endless as humanity's sense of exploration.. This one has distinctive markings over its face forming the shape of a star, and its back holds a sizeable scar leading up to a small implanted device just above its waist, the name 'Asteri' scribed across the metal."
//icon= //icon= would just set what DMI we are using, we already have our special one set.
@@ -726,7 +729,7 @@
vore_bump_chance = 2
vore_escape_chance = 5
-/mob/living/simple_mob/retaliate/synx/ai/pet/clown
+/mob/living/simple_mob/animal/synx/ai/pet/clown
//hostile = 1
poison_chance = 100
poison_type = "clownsynxchem" //unlike synxchem this one HONKS
@@ -752,32 +755,32 @@
////////////////////////////////////////
////////////////SYNX DEBUG//////////////
////////////////////////////////////////
-/mob/living/simple_mob/retaliate/synx/ai/pet/debug
+/mob/living/simple_mob/animal/synx/ai/pet/debug
name = "Syntox"
desc = "ERROR Connection to translation server could not be established!"
-/mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/rename()
+/mob/living/simple_mob/animal/synx/ai/pet/debug/proc/rename()
set name = "rename"
set desc = "Renames the synx"
set category = "DEBUG"
name = input(usr, "What would you like to change name to?", "Renaming", null)
-/mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/redesc()
+/mob/living/simple_mob/animal/synx/ai/pet/debug/proc/redesc()
set name = "redesc"
set desc = "Redescribes the synx"
set category = "DEBUG"
desc = input(usr, "What would you like to change desc to?", "Redescribing", null)
-/mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/resprite()
+/mob/living/simple_mob/animal/synx/ai/pet/debug/proc/resprite()
set name = "resprite"
set desc = "Resprite the synx"
set category = "DEBUG"
icon_state = input(usr, "What would you like to change icon_state to?", "Respriting", null)
-/mob/living/simple_mob/retaliate/synx/ai/pet/debug/New()
- verbs |= /mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/rename
- verbs |= /mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/resprite
- verbs |= /mob/living/simple_mob/retaliate/synx/ai/pet/debug/proc/redesc
+/mob/living/simple_mob/animal/synx/ai/pet/debug/New()
+ verbs |= /mob/living/simple_mob/animal/synx/ai/pet/debug/proc/rename
+ verbs |= /mob/living/simple_mob/animal/synx/ai/pet/debug/proc/resprite
+ verbs |= /mob/living/simple_mob/animal/synx/ai/pet/debug/proc/redesc
////////////////////////////////////////
////////////////SYNX SPAWNER////////////
@@ -786,10 +789,10 @@
name = "This is synxes"
/obj/random/mob/synx/item_to_spawn()
- return pick(prob(66);/mob/living/simple_mob/retaliate/synx/ai/pet/greed,
- //prob(50);/mob/living/simple_mob/retaliate/synx/pet/asteri,//He's crew so let's remove this
- prob(33);/mob/living/simple_mob/retaliate/synx/ai/pet/holo,
- prob(50);/mob/living/simple_mob/retaliate/synx/ai,) //normal eel boyo.
+ return pick(prob(66);/mob/living/simple_mob/animal/synx/ai/pet/greed,
+ //prob(50);/mob/living/simple_mob/animal/synx/pet/asteri,//He's crew so let's remove this
+ prob(33);/mob/living/simple_mob/animal/synx/ai/pet/holo,
+ prob(50);/mob/living/simple_mob/animal/synx/ai,) //normal eel boyo.
////////////////////////////////////////////////////////////////////////////
//////////////////////////NOT A SYNX///////but looks kinda like one/////////
@@ -820,7 +823,7 @@ This includes the sprites of the below Mob which are based upon SCP 939 and spri
use_astar = TRUE //Clever boy!
threaten = TRUE
-/mob/living/simple_mob/retaliate/synx/scp
+/mob/living/simple_mob/animal/synx/scp
name = "Unknown"
desc = "It's a red canine looking creature."
tt_desc = "Unknown Alien Lifeform"
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm
new file mode 100644
index 0000000000..c2e984864c
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm
@@ -0,0 +1,304 @@
+/mob/living/simple_mob/vore/lamia
+ name = "purple lamia"
+ desc = "Combination snake-human. This one is purple."
+
+ icon = 'icons/mob/vore_lamia.dmi'
+ icon_state = "ffta"
+ icon_living = "ffta"
+ icon_rest = "ffta_rest"
+ icon_dead = "ffta_dead"
+
+ harm_intent_damage = 5
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+
+ response_help = "pets"
+ response_disarm = "gently baps"
+ response_harm = "hits"
+
+ health = 60
+ maxHealth = 60
+
+ old_x = -16
+ old_y = 0
+ default_pixel_x = -16
+ pixel_x = -16
+ pixel_y = 0
+
+ // Vore tags
+ vore_active = 1
+ vore_capacity = 1
+ vore_bump_emote = "coils their tail around"
+ vore_icons = 0
+ // Default stomach
+ vore_stomach_name = "upper stomach"
+ vore_stomach_flavor = "You've ended up inside of the lamia's human stomach. It's pretty much identical to any human stomach, but the valve leading deeper is much bigger."
+
+ // Meaningful stats
+ vore_default_mode = DM_HOLD
+ vore_digest_chance = 0
+ vore_pounce_chance = 65
+ vore_bump_chance = 50
+ vore_standing_too = TRUE
+ vore_escape_chance = 25
+
+ // Special lamia vore tags
+ var/vore_upper_transfer_chance = 50
+ var/vore_tail_digest_chance = 25
+ var/vore_tail_absorb_chance = 0
+ var/vore_tail_transfer_chance = 50
+
+ say_list_type = /datum/say_list/lamia
+ ai_holder_type = /datum/ai_holder/simple_mob/passive
+
+/mob/living/simple_mob/vore/lamia/update_fullness()
+ var/new_fullness = 0
+ // We only want to count our upper_stomach towards capacity
+ for(var/belly in vore_organs)
+ var/obj/belly/B = belly
+ if(B.name == "upper stomach")
+ for(var/mob/living/M in B)
+ new_fullness += M.size_multiplier
+ new_fullness /= size_multiplier
+ new_fullness = round(new_fullness, 1)
+ vore_fullness = min(vore_capacity, new_fullness)
+
+/mob/living/simple_mob/vore/lamia/update_icon()
+ . = ..()
+
+ if(vore_active)
+ // Icon_state for fullness is as such if they are CONSCIOUS:
+ // [icon_living]_vore_[upper_shows]_[tail_shows]
+ // So copper_vore_1_1 is a full upper stomach *and* tail stomach
+ // And copper_vore_1_0 is full upper stomach, but empty tail stomach
+ // For unconscious: [icon_rest]_vore_[upper]_[tail]
+ // For dead, it doesn't show.
+ var/upper_shows = FALSE
+ var/tail_shows = FALSE
+
+ for(var/belly in vore_organs)
+ var/obj/belly/B = belly
+ if(!(B.name in list("upper stomach", "tail stomach")))
+ continue
+ var/belly_fullness = 0
+ for(var/mob/living/M in B)
+ belly_fullness += M.size_multiplier
+ belly_fullness /= size_multiplier
+ belly_fullness = round(belly_fullness, 1)
+
+ if(belly_fullness)
+ if(B.name == "upper stomach")
+ upper_shows = TRUE
+ else if(B.name == "tail stomach")
+ tail_shows = TRUE
+
+ if(upper_shows || tail_shows)
+ if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED)))
+ icon_state = "[icon_living]_vore_[upper_shows]_[tail_shows]"
+ else if(stat >= DEAD)
+ icon_state = icon_dead
+ else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest)
+ icon_state = "[icon_rest]_vore_[upper_shows]_[tail_shows]"
+
+/mob/living/simple_mob/vore/lamia/init_vore()
+ . = ..()
+ var/obj/belly/B = vore_selected
+
+ B.transferchance = vore_upper_transfer_chance
+ B.transferlocation = "tail stomach"
+
+ var/obj/belly/tail = new /obj/belly(src)
+ tail.immutable = TRUE
+ tail.name = "tail stomach"
+ tail.desc = "You slide out into the narrow, constricting tube of flesh that is the lamia's snake half, heated walls and strong muscles all around clinging to your form with every slither."
+ tail.digest_mode = vore_default_mode
+ tail.mode_flags = vore_default_flags
+ tail.item_digest_mode = vore_default_item_mode
+ tail.contaminates = vore_default_contaminates
+ tail.contamination_flavor = vore_default_contamination_flavor
+ tail.contamination_color = vore_default_contamination_color
+ tail.escapable = TRUE // needed for transferchance
+ tail.escapechance = 0 // No directly escaping a tail, gotta squirm back out.
+ tail.digestchance = vore_tail_digest_chance
+ tail.absorbchance = vore_tail_absorb_chance
+ tail.transferchance = vore_tail_transfer_chance
+ tail.transferlocation = "upper stomach"
+ tail.human_prey_swallow_time = swallowTime
+ tail.nonhuman_prey_swallow_time = swallowTime
+ tail.vore_verb = "stuff"
+ tail.emote_lists[DM_HOLD] = B.emote_lists[DM_HOLD].Copy()
+ tail.emote_lists[DM_DIGEST] = B.emote_lists[DM_DIGEST].Copy()
+
+// FFTA Bra
+/mob/living/simple_mob/vore/lamia/bra
+ desc = "Combination snake-human. This one is purple. They're wearing a bra."
+ icon_state = "ffta_bra"
+ icon_living = "ffta_bra"
+ icon_rest = "ffta_bra_rest"
+ icon_dead = "ffta_bra_dead"
+
+// Albino
+/mob/living/simple_mob/vore/lamia/albino
+ name = "albino lamia"
+ desc = "Combination snake-human. This one is albino."
+ icon_state = "albino"
+ icon_living = "albino"
+ icon_rest = "albino_rest"
+ icon_dead = "albino_dead"
+
+/mob/living/simple_mob/vore/lamia/albino/bra
+ desc = "Combination snake-human. This one is albino. They're wearing a bra."
+ icon_state = "albino_bra"
+ icon_living = "albino_bra"
+ icon_rest = "albino_bra_rest"
+ icon_dead = "albino_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/albino/shirt
+ desc = "Combination snake-human. This one is albino. They're wearing a shirt."
+ icon_state = "albino_shirt"
+ icon_living = "albino_shirt"
+ icon_rest = "albino_shirt_rest"
+ icon_dead = "albino_shirt_dead"
+
+// Cobra
+/mob/living/simple_mob/vore/lamia/cobra
+ name = "cobra lamia"
+ desc = "Combination snake-human. This one looks like a cobra."
+ icon_state = "cobra"
+ icon_living = "cobra"
+ icon_rest = "cobra_rest"
+ icon_dead = "cobra_dead"
+
+/mob/living/simple_mob/vore/lamia/cobra/bra
+ desc = "Combination snake-human. This one looks like a cobra. They're wearing a bra."
+ icon_state = "cobra_bra"
+ icon_living = "cobra_bra"
+ icon_rest = "cobra_bra_rest"
+ icon_dead = "cobra_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/cobra/shirt
+ desc = "Combination snake-human. This one looks like a cobra. They're wearing a shirt."
+ icon_state = "cobra_shirt"
+ icon_living = "cobra_shirt"
+ icon_rest = "cobra_shirt_rest"
+ icon_dead = "cobra_shirt_dead"
+
+// Copper
+/mob/living/simple_mob/vore/lamia/copper
+ name = "copper lamia"
+ desc = "Combination snake-human. This one is copper."
+ icon_state = "copper"
+ icon_living = "copper"
+ icon_rest = "copper_rest"
+ icon_dead = "copper_dead"
+
+/mob/living/simple_mob/vore/lamia/copper/bra
+ desc = "Combination snake-human. This one is copper. They're wearing a bra."
+ icon_state = "copper_bra"
+ icon_living = "copper_bra"
+ icon_rest = "copper_bra_rest"
+ icon_dead = "copper_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/copper/shirt
+ desc = "Combination snake-human. This one is copper. They're wearing a shirt."
+ icon_state = "copper_shirt"
+ icon_living = "copper_shirt"
+ icon_rest = "copper_shirt_rest"
+ icon_dead = "copper_shirt_dead"
+
+// Green
+/mob/living/simple_mob/vore/lamia/green
+ name = "green lamia"
+ desc = "Combination snake-human. This one is green."
+ icon_state = "green"
+ icon_living = "green"
+ icon_rest = "green_rest"
+ icon_dead = "green_dead"
+
+/mob/living/simple_mob/vore/lamia/green/bra
+ desc = "Combination snake-human. This one is green. They're wearing a bra."
+ icon_state = "green_bra"
+ icon_living = "green_bra"
+ icon_rest = "green_bra_rest"
+ icon_dead = "green_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/green/shirt
+ desc = "Combination snake-human. This one is green. They're wearing a shirt."
+ icon_state = "green_shirt"
+ icon_living = "green_shirt"
+ icon_rest = "green_shirt_rest"
+ icon_dead = "green_shirt_dead"
+
+// Zebra
+/mob/living/simple_mob/vore/lamia/zebra
+ name = "zebra lamia"
+ desc = "Combination snake-human. This one has a zebra pattern."
+ icon_state = "zebra"
+ icon_living = "zebra"
+ icon_rest = "zebra_rest"
+ icon_dead = "zebra_dead"
+
+/mob/living/simple_mob/vore/lamia/zebra/bra
+ desc = "Combination snake-human. This one has a zebra pattern. They're wearing a bra."
+ icon_state = "zebra_bra"
+ icon_living = "zebra_bra"
+ icon_rest = "zebra_bra_rest"
+ icon_dead = "zebra_bra_dead"
+
+/mob/living/simple_mob/vore/lamia/zebra/shirt
+ desc = "Combination snake-human. This one has a zebra pattern. They're wearing a shirt."
+ icon_state = "zebra_shirt"
+ icon_living = "zebra_shirt"
+ icon_rest = "zebra_shirt_rest"
+ icon_dead = "zebra_shirt_dead"
+
+GLOBAL_LIST_INIT(valid_random_lamias, list(
+ /mob/living/simple_mob/vore/lamia,
+ /mob/living/simple_mob/vore/lamia/bra,
+ /mob/living/simple_mob/vore/lamia/albino,
+ /mob/living/simple_mob/vore/lamia/albino/bra,
+ /mob/living/simple_mob/vore/lamia/albino/shirt,
+ /mob/living/simple_mob/vore/lamia/cobra,
+ /mob/living/simple_mob/vore/lamia/cobra/bra,
+ /mob/living/simple_mob/vore/lamia/cobra/shirt,
+ /mob/living/simple_mob/vore/lamia/copper,
+ /mob/living/simple_mob/vore/lamia/copper/bra,
+ /mob/living/simple_mob/vore/lamia/copper/shirt,
+ /mob/living/simple_mob/vore/lamia/green,
+ /mob/living/simple_mob/vore/lamia/green/bra,
+ /mob/living/simple_mob/vore/lamia/green/shirt,
+ /mob/living/simple_mob/vore/lamia/zebra,
+ /mob/living/simple_mob/vore/lamia/zebra/bra,
+ /mob/living/simple_mob/vore/lamia/zebra/shirt,
+))
+
+/mob/living/simple_mob/vore/lamia/random
+/mob/living/simple_mob/vore/lamia/random/New()
+ var/mob/living/simple_mob/vore/lamia/new_attrs = pick(GLOB.valid_random_lamias)
+
+ name = initial(new_attrs.name)
+ desc = initial(new_attrs.desc)
+
+ icon_state = initial(new_attrs.icon_state)
+ icon_living = initial(new_attrs.icon_living)
+ icon_rest = initial(new_attrs.icon_rest)
+ icon_dead = initial(new_attrs.icon_dead)
+
+ vore_default_mode = initial(new_attrs.vore_default_mode)
+ vore_digest_chance = initial(new_attrs.vore_digest_chance)
+ vore_pounce_chance = initial(new_attrs.vore_pounce_chance)
+ vore_bump_chance = initial(new_attrs.vore_bump_chance)
+ vore_standing_too = initial(new_attrs.vore_standing_too)
+ vore_escape_chance = initial(new_attrs.vore_escape_chance)
+
+ vore_upper_transfer_chance = initial(new_attrs.vore_upper_transfer_chance)
+ vore_tail_digest_chance = initial(new_attrs.vore_tail_digest_chance)
+ vore_tail_absorb_chance = initial(new_attrs.vore_tail_absorb_chance)
+ vore_tail_transfer_chance = initial(new_attrs.vore_tail_transfer_chance)
+
+ . = ..()
+
+/datum/say_list/lamia
+ speak = list("Sss...","Sss!","Hiss!","HSSSSS")
+ emote_hear = list("hisses","slithers")
+ emote_see = list("shakes her head","coils","stretches","slithers")
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/plants_ch/pitcher.dm b/code/modules/mob/living/simple_mob/subtypes/vore/plants_ch/pitcher.dm
new file mode 100644
index 0000000000..af2a0dc214
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/plants_ch/pitcher.dm
@@ -0,0 +1,325 @@
+#define NUTRITION_FRUIT 250 //The amount of nutrition needed to produce a fruit
+#define NUTRITION_PITCHER 3 * NUTRITION_FRUIT //The amount of nutrition needed to produce a new pitcher
+#define NUTRITION_MEAT 50 //The amount of nutrition provided by slabs of meat
+#define PITCHER_SATED 250 //The amount of nutrition needed before the pitcher will attempt to grow fruit.
+#define PITCHER_HUNGRY 150 //The nutrition cap under which the pitcher actively attempts to lure prey.
+
+GLOBAL_LIST_INIT(pitcher_plant_lure_messages, list(
+ "The pitcher plant smells lovely, beckoning you closer.",
+ "The sweet scent wafting from the pitcher plant makes your mouth water.",
+ "You feel an urge to investigate the pitcher plant closely.",
+ "You find yourself staring at the pitcher plant without really thinking about it.",
+ "Doesn't the pitcher plant smell amazing?")) //Messages sent to nearby players if the pitcher is trying to lure prey. This is global to prevent a new list every time a new pitcher plant spawns.
+
+//Pitcher plants, a passive carnivorous plant mob for xenobio and space vine spawning.
+//Consider making immune to space vine entangling. Check entangle_immunity in the old CHOMPstation github for an example.
+/mob/living/simple_mob/vore/pitcher_plant
+ name = "pitcher plant"
+ desc = "A carnivorous pitcher plant, bigger than a man."
+ tt_desc = "Sarraceniaceae gigantus"
+
+ icon_state = "pitcher_plant"
+ icon_living = "pitcher_plant"
+ icon_dead = "pitcher_plant_dead"
+ icon = 'icons/mob/vore_ch.dmi'
+
+ anchored = 1 //Rooted plant. Only killing it will let you move it.
+ maxHealth = 200
+ health = 200
+ a_intent = I_HELP //White this is help by default I'm leaving this here as a reminder thatdisarm will prevent playersfrom swapping places with the pitcher (but interfere with vore bump).
+ faction = "plants" //Makes plantbgone deadly.
+ ai_holder_type = /datum/ai_holder/simple_mob/passive/pitcher //It's a passive carnivorous plant, it can't detect or interact with people.
+
+ min_oxy = 0 //Immune to atmos because so are space vines. This is arbitrary and can be tweaked if desired.
+ max_oxy = 0
+ min_tox = 0
+ max_tox = 0
+ min_co2 = 0
+ max_co2 = 0
+ min_n2 = 0
+ max_n2 = 0
+ minbodytemp = 0
+
+ melee_damage_upper = 0 //This shouldn't attack people but if it does (admemes) no damage can be dealt.
+ melee_damage_lower = 0
+
+ armor = list(
+ "melee" = 0,
+ "bullet" = 0,
+ "laser" = -50,
+ "energy" = 0,
+ "bomb" = 0,
+ "bio" = 0,
+ "rad" = 100)
+
+ var/fruit = FALSE //Has the pitcher produced a fruit?
+ var/meat = 0 //How many units of meat is the plant digesting? Separate from actual vore mechanics.
+ var/meatspeed = 5 //How many units of meat is converted to nutrition each tick?
+ var/pitcher_metabolism = 0.1 //How much nutriment does the pitcher lose every 2 seconds? 0.1 should be around 30 every 10 minutes.
+ var/scent_strength = 5 //How much can a hungry pitcher confuse nearby people?
+ var/last_lifechecks = 0 //Timing variable to limit vore/hungry proc calls
+ var/list/pitcher_plant_lure_messages = null
+
+
+
+
+/mob/living/simple_mob/vore/pitcher_plant //Putting vore variables separately because apparently that's tradition.
+ vore_bump_chance = 100
+ vore_bump_emote = "slurps up" //Not really a good way to make the grammar work with a passive vore plant.
+ vore_active = 1
+ vore_icons = 1
+ vore_capacity = 1
+ vore_pounce_chance = 0 //Plants only eat people who stumble into them.
+ swallowTime = 3 //3 deciseconds. This is intended to be nearly instant, e.g. victim trips and falls in.
+ vore_ignores_undigestable = 0
+ vore_default_mode = DM_DIGEST
+
+/mob/living/simple_mob/vore/pitcher_plant/init_vore()
+ ..()
+ var/obj/belly/B = vore_selected
+ B.desc = "You leaned a little too close to the pitcher plant, stumbling over the lip and splashing into a puddle of liquid filling the bottom of the cramped pitcher. You squirm madly, righting yourself and scrabbling at the walls in vain as the slick surface offers no purchase. The dim light grows dark as the pitcher's cap lowers, silently sealing the exit. With a sinking feeling you realize you won't be able to push the exit open even if you could somehow climb that high, leaving you helplessly trapped in the slick, tingling fluid. ((You can't escape this mob without help but you may use OOC Escape if you wish.))"
+ B.digest_burn = 0.5
+ B.digest_brute = 0
+ B.vore_verb = "trip"
+ B.name = "pitcher"
+ B.mode_flags = DM_FLAG_THICKBELLY
+ B.wet_loop = 0 //As nice as the fancy internal sounds are this is a plant.
+ B.digestchance = 0
+ B.escapechance = 0
+ B.fancy_vore = 1
+ B.vore_sound = "Squish2"
+ B.release_sound = "Pred Escape"
+ B.contamination_color = "purple"
+ B.contamination_flavor = "Wet"
+//Why is it we have all these customizeable belly options which nobody ever alters for mobs?
+
+ B.emote_lists[DM_HOLD] = list(
+ "Slick fluid trickles over you, carrying threads of sweetness.",
+ "Everything is still, dark, and quiet. Your breaths echo quietly.",
+ "The surrounding air feels thick and humid.")
+
+ B.emote_lists[DM_DIGEST] = list(
+ "The slimy puddle stings faintly. It seems the plant has no need to quickly break down victims.",
+ "The humid air settles in your lungs, keeping each breath more labored than the last.",
+ "Fluid drips onto you, burning faintly as your body heat warms it."
+ )
+
+ B.emote_lists[DM_DRAIN] = list(
+ "Each bead of slick fluid running down your body leaves you feeling weaker.",
+ "It's cramped and dark, the air thick and heavy. Your limbs feel like lead.",
+ "Strength drains from your frame. The cramped chamber feels easier to settle into with each passing moment.")
+
+/mob/living/simple_mob/vore/pitcher_plant/Life()
+ . = ..()
+ if(!.)
+ return
+
+ var/lastmeat = meat //If Life procs every 2 seconds that means it takes 20 seconds to digest a steak
+ meat = max(0,meat - meatspeed) //Clamp it to zero
+ adjust_nutrition(lastmeat - meat) //If there's no meat, this will just be zero.
+ if(nutrition >= PITCHER_SATED + NUTRITION_FRUIT)
+ if(prob(10)) //Should be about once every 20 seconds.
+ grow_fruit()
+ var/lastnutrition = nutrition
+ adjust_nutrition(-pitcher_metabolism)
+ adjustBruteLoss(nutrition - lastnutrition)
+ adjustToxLoss((nutrition - lastnutrition) * 3)
+ if(nutrition < pitcher_metabolism)
+ adjustToxLoss(pitcher_metabolism)
+ if(world.time > last_lifechecks + 30 SECONDS)
+ last_lifechecks = world.time
+ vore_checks()
+ handle_hungry()
+
+/mob/living/simple_mob/vore/pitcher_plant/New()
+ ..()
+ pitcher_plant_lure_messages = GLOB.pitcher_plant_lure_messages
+
+/mob/living/simple_mob/vore/pitcher_plant/Initialize()
+ ..()
+ pitcher_plant_lure_messages = GLOB.pitcher_plant_lure_messages
+
+
+/mob/living/simple_mob/vore/pitcher_plant/death()
+ ..()
+ anchored = 0
+ if(fruit)
+ new /obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit(get_turf(src))
+ fruit = FALSE
+
+
+
+/mob/living/simple_mob/vore/pitcher_plant/proc/grow_fruit() //This proc handles the pitcher turning nutrition into fruit (and new pitchers).
+ if(!fruit)
+ if(nutrition >= PITCHER_SATED + NUTRITION_FRUIT)
+ fruit = TRUE
+ adjust_nutrition(-NUTRITION_FRUIT)
+ return
+ else
+ return
+ if(fruit)
+ if(nutrition >= PITCHER_SATED + NUTRITION_PITCHER)
+ var/turf/T = safepick(circleviewturfs(src, 2)) //Try this if the above doesn't work, add src.loc == T check to density check
+ if(T.density) //No spawning in walls
+ return
+ else if(src.loc ==T)
+ return
+ else
+ new /mob/living/simple_mob/vore/pitcher_plant(get_turf(T))
+ fruit = FALSE //No admeming this to spawn endless pitchers.
+ adjust_nutrition(-NUTRITION_PITCHER)
+
+/mob/living/simple_mob/vore/pitcher_plant/attack_hand(mob/living/user)
+ if(user.a_intent == I_HELP)
+ if(fruit)
+ to_chat(user, "You pick a fruit from \the [src].")
+ var/obj/F = new /obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit(get_turf(user)) //Drops at the user's feet if put_in_hands fails
+ fruit = FALSE
+ user.put_in_hands(F)
+ else
+ to_chat(user, "The [src] hasn't grown any fruit yet!")
+ else
+ ..()
+
+/mob/living/simple_mob/vore/pitcher_plant/examine(mob/user)
+ . = ..()
+ if(fruit)
+ . += "A plump fruit glistens beneath \the [src]'s cap."
+
+/mob/living/simple_mob/vore/pitcher_plant/attackby(obj/item/O, mob/user)
+ if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/meat))
+ if(meat > NUTRITION_FRUIT - NUTRITION_MEAT) //Can't exceed 250
+ to_chat(user, "The [src] is full!")
+ return
+ else
+ meat += NUTRITION_MEAT
+ qdel(O)
+ return
+ if(istype(O, /obj/item/stack/cable_coil)) //How to free people without killing the pitcher. I guess cable is ss13 rope.
+ var/mob/living/carbon/human/H
+ var/N = 0
+ for(H in vore_selected.contents) //Only works for carbons, RIP mice. Should pick the first human the code finds.
+ user.visible_message("[user] tries to fish somebody out of \the [src].", "You try to snag somebody trapped in \the [src]...")
+ if(do_after(user, rand(3 SECONDS, 7 SECONDS))) //You can just spam click to stack attempts if you feel like abusing it.
+ if(prob(15))
+ user.visible_message("[user] tugs a sticky [H] free from \the [src].", "You heft [H] free from \the [src].")
+ prey_excludes += H
+ vore_selected.release_specific_contents(H)
+ N = 1
+ //addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(H)), 1 MINUTES) //At the time of this PR, removeMobFromPreyExcludes breaks prey_excludes by deleting the list which causes problems with the Crossed() vore override before. This can be commented back in if that gets fixed.
+ break
+ else
+ to_chat(user, "The victim slips from your grasp!")
+ N = 1
+ break //We need to terminate the loop after each outcome or this could loop through multiple bellies. Of course, there should only be one belly.
+ if(!N)
+ to_chat(user, "The pitcher is empty.")
+ if(istype(O, /obj/item/weapon/newspaper))
+ return //Can't newspaper people to freedom.
+ ..()
+
+/mob/living/simple_mob/vore/pitcher_plant/proc/vore_checks()
+ if(ckey) //This isn't intended to be a playable mob but skip all of this if it's player-controlled.
+ return
+ if(vore_selected && vore_selected.contents.len) //Looping through all (potential) vore bellies would be more thorough but probably not worth the processing power if this check happens every 30 seconds.
+ var/mob/living/L
+ var/N = 0
+ var/hasdigestable = 0
+ var/hasindigestable = 0
+ for(L in vore_selected.contents)
+ if(istype(L, /mob/living/carbon/human/monkey))
+ L.nutrition = 0 //No stuffing monkeys with protein shakes for massive nutrition.
+ if(!L.digestable)
+ vore_selected.digest_mode = DM_DRAIN
+ N = 1
+ hasindigestable = 1
+ continue
+ else
+ vore_selected.digest_mode = DM_DIGEST
+ N = 1
+ hasdigestable = 1
+ continue
+ if(hasdigestable && hasindigestable)
+ vore_selected.digest_mode = DM_DIGEST //Let's digest until we digest all the digestable prey, then move onto draining indigestable prey.
+ if(!N)
+ vore_selected.release_all_contents() //If there's no prey, spit out everything.
+
+
+
+/mob/living/simple_mob/vore/pitcher_plant/proc/handle_hungry() //Let's run this check every 30 seconds. This is how a hungry pitcher tries to lure prey.
+ if(nutrition <= PITCHER_HUNGRY) //Is sanity check another way to say redundancy?
+ var/turf/T = get_turf(src)
+ var/cardinal_turfs = T.CardinalTurfs()
+
+ for(var/mob/living/carbon/human/H in oview(2, src))
+ if(!istype(H) || !isliving(H) || H.stat == DEAD) //Living mobs only
+ continue
+ if(isSynthetic(H) || !H.species.breath_type || H.internal) //Exclude species which don't breathe or have internals.
+ continue
+ if(src.Adjacent(H)) //If they can breathe and are next to the pitcher, confuse them.
+ to_chat(H,"The sweet, overwhelming scent from \the [src] makes your senses reel! ")
+ H.Confuse(scent_strength)
+ continue
+ else
+ to_chat(H, "[pick(pitcher_plant_lure_messages)] ")
+
+ for(var/turf/simulated/TR in cardinal_turfs)
+ TR.wet_floor(1) //Same effect as water. Slip into plant, get ate.
+ else
+ return
+/mob/living/simple_mob/vore/pitcher_plant/Crossed(atom/movable/AM as mob|obj) //Yay slipnoms
+ if(AM.is_incorporeal())
+ return
+ if(istype(AM, /mob/living) && will_eat(AM) && !istype(AM, type) && prob(vore_bump_chance) && !ckey)
+ animal_nom(AM)
+ ..()
+
+/datum/ai_holder/simple_mob/passive/pitcher
+ wander = 0
+
+/obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit //As much as I want to tie hydroponics harvest code to the mob, this is simpler (albeit kinda hacky).
+ name = "squishy fruit"
+ desc = "A tender, fleshy fruit with a thin skin."
+ icon = 'icons/obj/hydroponics_products.dmi'
+ icon_state = "treefruit-product"
+ color = "#a839a2"
+ trash = /obj/item/seeds/pitcherseed
+ nutriment_amt = 1
+ nutriment_desc = list("pineapple" = 1)
+ w_class = ITEMSIZE_SMALL
+ var/datum/seed/seed = null
+ var/obj/item/seeds/pit = null
+
+/obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit/Initialize()
+ . = ..()
+ reagents.add_reagent("pitcher_nectar", 5)
+ bitesize = 4
+ pit = new /obj/item/seeds/pitcherseed(src.contents)
+ seed = pit.seed
+
+/obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit/afterattack(obj/O as obj, mob/user as mob, proximity)
+ if(istype(O,/obj/machinery/microwave))
+ return ..()
+ if(istype (O, /obj/machinery/seed_extractor))
+ pit.loc = O.loc //1 seed, perhaps balanced because you can get the reagents and the seed. Can be increased if desirable.
+ qdel(src)
+ if(!(proximity && O.is_open_container()))
+ return
+ to_chat(user, "You squeeze \the [src], juicing it into \the [O]. ")
+ reagents.trans_to(O, reagents.total_volume)
+ user.drop_from_inventory(src)
+ pit.loc = user.loc
+ qdel(src)
+
+/obj/item/weapon/reagent_containers/food/snacks/pitcher_fruit/attack_self(mob/user)
+ to_chat(user, "You plant the fruit. ")
+ new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(get_turf(user),src.seed)
+ GLOB.seed_planted_shift_roundstat++
+ qdel(src)
+ return
+
+#undef NUTRITION_FRUIT
+#undef NUTRITION_PITCHER
+#undef NUTRITION_MEAT
+#undef PITCHER_SATED
+#undef PITCHER_HUNGRY
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 4d9a2e774a..b925bdd94e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -222,16 +222,24 @@
if(istype(A, /obj/effect/decal/point))
return 0
- var/tile = get_turf(A)
+ var/turf/tile = get_turf(A)
if (!tile)
return 0
- var/obj/P = new /obj/effect/decal/point(tile)
- P.invisibility = invisibility
- P.plane = plane
- spawn (20)
- if(P)
- qdel(P) // qdel
+ var/turf/our_tile = get_turf(src)
+ var/obj/visual = new /obj/effect/decal/point(our_tile)
+ visual.invisibility = invisibility
+ visual.plane = plane
+
+ animate(visual,
+ pixel_x = (tile.x - our_tile.x) * world.icon_size + A.pixel_x,
+ pixel_y = (tile.y - our_tile.y) * world.icon_size + A.pixel_y,
+ time = 1.7,
+ easing = EASE_OUT)
+
+ spawn(20)
+ if(visual)
+ qdel(visual) // qdel
face_atom(A)
return 1
diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm
index 233c5a14f1..758f9f8938 100644
--- a/code/modules/mob/new_player/sprite_accessories_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_vr.dm
@@ -697,6 +697,11 @@
icon_state = "eyes_sergal"
body_parts = list(BP_HEAD)
+ closedeyes
+ name = "Closed Eyes"
+ icon_state = "eyes_closed"
+ body_parts = list(BP_HEAD)
+
brows
name = "Eyebrows"
icon_state = "brows"
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 7a8f2412f2..52e843a9ee 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -14,7 +14,7 @@
set_typing_indicator(FALSE)
usr.say(message)
-/mob/verb/me_verb(message as text)
+/mob/verb/me_verb(message as message)
set name = "Me"
set category = "IC"
diff --git a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
index 1f88ed6cb2..f56683451e 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm
@@ -3,6 +3,7 @@
desc = "A wall-mounted touchscreen computer."
icon = 'icons/obj/modular_telescreen.dmi'
icon_state = "telescreen"
+ layer = ABOVE_WINDOW_LAYER
icon_state_unpowered = "telescreen"
icon_state_menu = "menu"
icon_state_screensaver = "standby"
diff --git a/code/modules/nifsoft/software/15_misc.dm b/code/modules/nifsoft/software/15_misc.dm
index 7cdd364b16..bd0975269d 100644
--- a/code/modules/nifsoft/software/15_misc.dm
+++ b/code/modules/nifsoft/software/15_misc.dm
@@ -127,7 +127,7 @@
/datum/nifsoft/sizechange/activate()
if((. = ..()))
- var/new_size = input("Put the desired size (25-200%)", "Set Size", 200) as num
+ var/new_size = input("Put the desired size (25-200%)", "Set Size", 200) as num|null
if (!ISINRANGE(new_size,25,200))
to_chat(nif.human,"The safety features of the NIF Program prevent you from choosing this size. ")
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index ffc3d56d1d..3dd0cc0309 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -14,6 +14,7 @@
dir = SOUTH
organ_tag = "limb"
+ var/brokenpain = 50 //CHOMPEdit
// Strings
var/broken_description // fracture string if any.
var/damage_state = "00" // Modifier used for generating the on-mob damage overlay for this limb.
@@ -1053,10 +1054,12 @@ Note that amputating the affected organ does in fact remove the infection from t
return
if(owner)
- owner.visible_message(\
+ //CHOMPEdit Begin
+ owner.custom_pain(pick(\
"You hear a loud cracking sound coming from \the [owner]. ",\
"Something feels like it shattered in your [name]! ",\
- "You hear a sickening crack. ")
+ "You hear a sickening crack. "),brokenpain)
+ //CHOMPEdit End
jostle_bone()
if(organ_can_feel_pain() && !isbelly(owner.loc))
owner.emote("scream")
diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm
index e7be5f4912..65ca927ee4 100644
--- a/code/modules/organs/robolimbs.dm
+++ b/code/modules/organs/robolimbs.dm
@@ -76,13 +76,13 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Unbranded - Protez"
desc = "A simple robotic limb with retro design. Seems rather stiff."
icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_alt1.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/unbranded_alt2
company = "Unbranded - Mantis Prosis"
desc = "This limb has a casing of sleek black metal and repulsive insectile design."
icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_alt2.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/unbranded_tajaran
company = "Unbranded - Tajaran"
@@ -186,7 +186,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Cyber Solutions"
desc = "This limb is grey and rough, with little in the way of aesthetic."
icon = 'icons/mob/human_races/cyberlimbs/cybersolutions/cybersolutions_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/cybersolutions_alt2
company = "Cyber Solutions - Outdated"
@@ -211,13 +211,13 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Einstein Engines"
desc = "This limb is lightweight with a sleek design."
icon = 'icons/mob/human_races/cyberlimbs/einstein/einstein_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/grayson
company = "Grayson"
desc = "This limb has a sturdy and heavy build to it."
icon = 'icons/mob/human_races/cyberlimbs/grayson/grayson_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
monitor_styles = "blank=grayson_off;\
red=grayson_red;\
green=grayson_green;\
@@ -248,7 +248,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Hephaestus"
desc = "This limb has a militaristic black and green casing with gold stripes."
icon = 'icons/mob/human_races/cyberlimbs/hephaestus/hephaestus_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/hephaestus_alt1
company = "Hephaestus - Frontier"
@@ -284,7 +284,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Morpheus"
desc = "This limb is simple and functional; no effort has been made to make it look human."
icon = 'icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
monitor_styles = standard_monitor_styles
/datum/robolimb/morpheus_alt1
@@ -333,7 +333,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Ward-Takahashi"
desc = "This limb features sleek black and white polymers."
icon = 'icons/mob/human_races/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/wardtakahashi_alt1
company = "Ward-Takahashi - Shroud"
@@ -360,7 +360,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
company = "Xion"
desc = "This limb has a minimalist black and red casing."
icon = 'icons/mob/human_races/cyberlimbs/xion/xion_main.dmi'
- unavailable_to_build = 1
+ unavailable_to_build = 0 // CHOMP Edit
/datum/robolimb/xion_alt1
company = "Xion - Breach"
diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm
index 1c231fc4e0..16a44332cb 100644
--- a/code/modules/overmap/ships/computers/helm.dm
+++ b/code/modules/overmap/ships/computers/helm.dm
@@ -274,6 +274,7 @@ GLOBAL_LIST_EMPTY(all_waypoints)
/obj/machinery/computer/ship/navigation/telescreen //little hacky but it's only used on one ship so it should be okay
icon_state = "tele_nav"
+ layer = ABOVE_WINDOW_LAYER
icon_keyboard = null
icon_screen = null
circuit = /obj/item/weapon/circuitboard/nav/tele
diff --git a/code/modules/persistence/noticeboard.dm b/code/modules/persistence/noticeboard.dm
index 046972ee36..c37e084ce8 100644
--- a/code/modules/persistence/noticeboard.dm
+++ b/code/modules/persistence/noticeboard.dm
@@ -3,6 +3,7 @@
desc = "A board for pinning important notices upon."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "nboard00"
+ layer = ABOVE_WINDOW_LAYER
density = 0
anchored = 1
var/list/notices
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 2ce2758090..868e3e4349 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -80,8 +80,7 @@ GLOBAL_LIST_EMPTY(apcs)
desc = "A control terminal for the area electrical systems."
icon = 'icons/obj/power.dmi'
icon_state = "apc0"
- plane = TURF_PLANE
- layer = ABOVE_TURF_LAYER
+ layer = ABOVE_WINDOW_LAYER
anchored = 1
use_power = USE_POWER_OFF
clicksound = "switch"
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_assembly_ch.dm b/code/modules/power/fusion/fuel_assembly/fuel_assembly_ch.dm
new file mode 100644
index 0000000000..d0e63edd73
--- /dev/null
+++ b/code/modules/power/fusion/fuel_assembly/fuel_assembly_ch.dm
@@ -0,0 +1,79 @@
+/obj/item/weapon/fuel_assembly/blitz
+ name = "blitz rod"
+ desc = "A highly unstable mixture of supermatter and phoron. It's probably not a good idea to try to use this in a reactor..."
+ fuel_colour = "#FCE300"
+ fuel_type = "blitz"
+
+/obj/item/weapon/fuel_assembly/blitz/New(var/newloc)
+ ..(newloc, "blitz")
+
+/obj/item/weapon/fuel_assembly/blitz/unshielded/Initialize()
+ . = ..()
+ name = "unshielded blitz rod"
+ desc = "An extremely unstable, raw rod of compressed supermatter and phoron. This seems like a terrible idea."
+ fuel_colour = "#FCE300"
+ fuel_type = "blitzu"
+ icon_state = "blank"
+ var/image/I = image(icon, "fuel_assembly")
+ I.color = "#FCE300"
+ overlays += list(I, image(icon, "fuel_assembly_bracket"),image(icon,"glow"))
+ rod_quantities[fuel_type] = initial_amount
+ SSradiation.flat_radiate(src,20,5,respect_maint = FALSE)
+ set_light(3, 3, "#FCE300")
+
+/obj/item/weapon/fuel_assembly/blitz/throw_impact(atom/hit_atom)
+ if(!..())
+ visible_message("\The [src] loses stability and shatters in a violent explosion! ")
+ explosion(src.loc, 1, 2, 4, 6)
+ qdel(src)
+
+/obj/item/weapon/fuel_assembly/blitz/unshielded/attackby(var/obj/item/I, mob/user as mob)
+ ..()
+ var/obj/item/stack/material/lead/M = I
+ if(istype(M))
+ if(M.amount>5)
+ to_chat(user,"You add a lead shell to the blitz rod. ")
+ qdel(src)
+ var/obj/item/weapon/fuel_assembly/blitz/shielded/rod = new(get_turf(user))
+ user.put_in_hands(rod)
+ return
+ else
+ to_chat(user,"You need at least five sheets of lead to add shielding! ")
+
+/obj/item/weapon/fuel_assembly/blitz/unshielded/attack_hand(mob/user)
+ . = ..()
+
+ SSradiation.radiate(src, 5)
+ var/mob/living/M = user
+ if(!istype(M))
+ return
+
+ var/burn_user = TRUE
+ if(istype(M, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = user
+ var/obj/item/clothing/gloves/G = H.gloves
+ if(istype(G) && ((G.flags & THICKMATERIAL && prob(70)) || istype(G, /obj/item/clothing/gloves/gauntlets)))
+ burn_user = FALSE
+
+ if(burn_user)
+ H.visible_message("\The [src] flashes as it scorches [H]'s hands! ")
+ H.apply_damage(7, BURN, "r_hand", used_weapon="Blitz Rod")
+ H.apply_damage(7, BURN, "l_hand", used_weapon="Blitz Rod")
+ H.drop_from_inventory(src, get_turf(H))
+ return
+
+/obj/item/weapon/fuel_assembly/blitz/shielded
+ name = "blitz rod"
+
+/obj/item/weapon/fuel_assembly/blitz/shielded/Initialize()
+ . = ..()
+ name = "blitz rod"
+ desc = "A highly unstable, and highly explosive supermatter and phoron fuel rod with a lead shell, created by someone of questionable sanity. This thing has to violate at least a few intergalactic regulations."
+ fuel_colour = "#76888F"
+ fuel_type = "blitz"
+ icon_state = "blank"
+ var/image/I = image(icon, "fuel_assembly")
+ I.color = "#76888F"
+ overlays += list(I, image(icon, "fuel_assembly_bracket"),image(icon,"glow"))
+ rod_quantities[fuel_type] = initial_amount
+ set_light(2, 2, "#FCE300")
\ No newline at end of file
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
index 71dcc7684f..a5abed3c2b 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
@@ -1,4 +1,5 @@
/obj/machinery/fusion_fuel_compressor
+ var/blitzprogress = 0 //CHOMPEdit
name = "fuel compressor"
icon = 'icons/obj/machines/power/fusion.dmi'
icon_state = "fuel_compressor1"
@@ -46,22 +47,54 @@
return
if(default_part_replacement(user, thing))
return
-
+//CHOMPEdit Begin
if(istype(thing, /obj/item/stack/material))
var/obj/item/stack/material/M = thing
var/datum/material/mat = M.get_material()
- if(!mat.is_fusion_fuel)
- to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name]. ")
- return
- if(M.get_amount() < 25)
- to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod. ")
- return
- var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name)
- visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly. ")
- M.use(25)
- user.put_in_hands(F)
+ if(!blitzprogress)
+ if(!mat.is_fusion_fuel)
+ to_chat(user, "It would be pointless to make a fuel rod out of [mat.use_name]. ")
+ return
+ if(M.get_amount() < 25)
+ if(mat.name=="supermatter")
+ visible_message("\The [user] places the [mat.use_name] into the compressor. ")
+ M.use(1)
+ blitzprogress = 1
+ verbs |= /obj/machinery/fusion_fuel_compressor/verb/eject_sheet
+ return
+ to_chat(user, "You need at least 25 [mat.sheet_plural_name] to make a fuel rod. ")
+ return
+ var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name)
+ visible_message("\The [src] compresses the [mat.use_name] into a new fuel assembly. ")
+ M.use(25)
+ user.put_in_hands(F)
+ else
+ if(mat.name=="phoron")
+ if(M.get_amount() < 25)
+ to_chat(user, "You need at least 25 phoron sheets to make a blitz rod! ")
+ return
+ var/obj/item/weapon/fuel_assembly/blitz/unshielded/F = new(get_turf(src))
+ visible_message("\The [src] compresses the supermatter and phoron into a new blitz rod! It looks unstable, maybe you should be careful with it. ")
+ M.use(25)
+ user.put_in_hands(F)
+ blitzprogress = 0
+ verbs -= /obj/machinery/fusion_fuel_compressor/verb/eject_sheet
+ else
+ to_chat(user, "A blitz rod is currently in progress! Either add 25 phoron sheets to complete it, or eject the supermatter sheet! ")
+ return
else if(do_special_fuel_compression(thing, user))
return
- return ..()
\ No newline at end of file
+ return ..()
+
+/obj/machinery/fusion_fuel_compressor/verb/eject_sheet()
+ set name = "Eject Supermatter Sheet"
+ set category = "Object"
+ set src in view(1)
+
+ var/obj/item/stack/material/supermatter/S = new (get_turf(src))
+ usr.put_in_hands(S)
+ verbs -= /obj/machinery/fusion_fuel_compressor/verb/eject_sheet
+ blitzprogress = 0
+//CHOMPEdit End
\ No newline at end of file
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index 0ffab7db07..7d4be64157 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -53,7 +53,12 @@ var/list/fuel_injectors = list()
if(injecting)
to_chat(user, "Shut \the [src] off before playing with the fuel rod! ")
return
-
+ //CHOMPEdit Begin
+ if(istype(W,/obj/item/weapon/fuel_assembly/blitz))
+ var/secondchance = alert("Are you sure you want to put the blitz rod in the fuel injector? This definitely wasn't meant to be used like this, and could only end badly.","Confirm","Yes","No")
+ if(secondchance=="No")
+ return
+ //CHOMPEdit End
if(cur_assembly)
cur_assembly.forceMove(get_turf(src))
visible_message("\The [user] swaps \the [src]'s [cur_assembly] for \a [W]. ")
@@ -66,6 +71,13 @@ var/list/fuel_injectors = list()
cur_assembly.forceMove(get_turf(src))
user.put_in_hands(cur_assembly)
cur_assembly = W
+ //CHOMPEdit Begin
+ if(istype(W,/obj/item/weapon/fuel_assembly/blitz))
+ visible_message("The fuel injector begins to shake and whirr violently as it tries to accept the blitz rod! ")
+ spawn(30)
+ explosion(loc,2,3,4,8)
+ qdel(src)
+ //CHOMPEdit End
return
if(W.is_wrench() || W.is_screwdriver() || W.is_crowbar() || istype(W, /obj/item/weapon/storage/part_replacer))
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 996847b13b..c3927ec2bd 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -12,11 +12,19 @@
light_range = 4
var/obj/machinery/field_generator/FG1 = null
var/obj/machinery/field_generator/FG2 = null
+ var/list/shockdirs
var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
/obj/machinery/containment_field/Initialize()
+ . = ..()
+ shockdirs = list(turn(dir,90),turn(dir,-90))
sense_proximity(callback = .HasProximity)
+/obj/machinery/containment_field/set_dir(new_dir)
+ . = ..()
+ if(.)
+ shockdirs = list(turn(dir,90),turn(dir,-90))
+
/obj/machinery/containment_field/Destroy()
unsense_proximity(callback = .HasProximity)
if(FG1 && !FG1.clean_up)
@@ -36,11 +44,17 @@
/obj/machinery/containment_field/ex_act(severity)
return 0
+/obj/machinery/containment_field/Crossed(mob/living/L)
+ if(!istype(L) || L.incorporeal_move)
+ return
+ shock(L)
+
/obj/machinery/containment_field/HasProximity(turf/T, atom/movable/AM, old_loc)
- if(istype(AM,/mob/living/silicon) && prob(40))
- shock(AM)
- return 1
- if(istype(AM,/mob/living/carbon) && prob(50))
+ if(!istype(AM, /mob/living) || AM:incorporeal_move)
+ return 0
+ if(!(get_dir(src,AM) in shockdirs))
+ return 0
+ if(issilicon(AM) ? prob(40) : prob(50))
shock(AM)
return 1
return 0
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 763dd32ca8..6112da7b00 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -285,11 +285,10 @@ field_generator power level display
var/field_dir = get_dir(T,get_step(G.loc, NSEW))
T = get_step(T, NSEW)
if(!locate(/obj/machinery/containment_field) in T)
- var/obj/machinery/containment_field/CF = new/obj/machinery/containment_field()
+ var/obj/machinery/containment_field/CF = new/obj/machinery/containment_field(T)
CF.set_master(src,G)
fields += CF
G.fields += CF
- CF.loc = T
CF.set_dir(field_dir)
var/listcheck = 0
for(var/obj/machinery/field_generator/FG in connected_gens)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 325ff928e1..ec059bc5f4 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -24,13 +24,16 @@ GLOBAL_LIST_EMPTY(solars_list)
var/ndir = SOUTH // target dir
var/turn_angle = 0
var/obj/machinery/power/solar_control/control = null
+ var/glass_type = /obj/item/stack/material/glass
/obj/machinery/power/solar/drain_power()
return -1
-/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
+/obj/machinery/power/solar/Initialize(mapload, glass_type)
. = ..()
- Make(S)
+ if(glass_type == /obj/item/stack/material/glass/reinforced) //if the panel is in reinforced glass
+ health *= 2
+ update_icon()
connect_to_network()
/obj/machinery/power/solar/Destroy()
@@ -50,28 +53,16 @@ GLOBAL_LIST_EMPTY(solars_list)
control.connected_panels.Remove(src)
control = null
-/obj/machinery/power/solar/proc/Make(var/obj/item/solar_assembly/S)
- if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/material/glass
- S.anchored = TRUE
- S.loc = src
- if(S.glass_type == /obj/item/stack/material/glass/reinforced) //if the panel is in reinforced glass
- health *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
- update_icon()
-
-
-
/obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user)
if(W.is_crowbar())
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar panel. ")
if(do_after(user, 50))
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.loc = src.loc
- S.give_glass()
+ var/obj/item/solar_assembly/S = new(loc)
+ S.anchored = TRUE
+ var/obj/item/stack/glass = new glass_type(loc)
+ glass.amount = 2
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off the solar panel. ")
qdel(src)
@@ -169,8 +160,8 @@ GLOBAL_LIST_EMPTY(solars_list)
return
-/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S)
- ..(loc, S, 0)
+/obj/machinery/power/solar/fake/New(var/turf/loc, var/glass_type)
+ ..(loc, glass_type, 0)
/obj/machinery/power/solar/fake/process()
. = PROCESS_KILL
@@ -213,20 +204,11 @@ GLOBAL_LIST_EMPTY(solars_list)
w_class = ITEMSIZE_LARGE // Pretty big!
anchored = 0
var/tracker = 0
- var/glass_type = null
/obj/item/solar_assembly/attack_hand(var/mob/user)
if(!anchored || !isturf(loc)) // You can't pick it up
..()
-// Give back the glass type we were supplied with
-/obj/item/solar_assembly/proc/give_glass()
- if(glass_type)
- var/obj/item/stack/material/S = new glass_type(src.loc)
- S.amount = 2
- glass_type = null
-
-
/obj/item/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user)
if (!isturf(loc))
return 0
@@ -246,15 +228,12 @@ GLOBAL_LIST_EMPTY(solars_list)
if(istype(W, /obj/item/stack/material) && (W.get_material_name() == "glass" || W.get_material_name() == "rglass"))
var/obj/item/stack/material/S = W
if(S.use(2))
- glass_type = W.type
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] places the glass on the solar assembly. ")
if(tracker)
- new /obj/machinery/power/tracker(get_turf(src), src)
- for(var/obj/item/solar_assembly/A in loc)
- qdel(A)
+ new /obj/machinery/power/tracker(get_turf(src), W.type)
else
- new /obj/machinery/power/solar(get_turf(src), src)
+ new /obj/machinery/power/solar(get_turf(src), W.type)
qdel(src)
else
to_chat(user, "You need two sheets of glass to put them into a solar panel. ")
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 899e553b10..e3ccafa4cc 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -87,7 +87,7 @@
forceMove(T)
set_dir(move_dir)
for(var/mob/living/carbon/C in loc)
- dust_mobs(C)
+ dust_mob(C)
sleep(1) // So movement is smooth
/obj/singularity/energy_ball/proc/handle_energy()
@@ -112,7 +112,7 @@
var/Orchiectomy_target = pick(orbiting_balls)
qdel(Orchiectomy_target)
- else if(orbiting_balls.len)
+ else
dissipate() //sing code has a much better system.
/obj/singularity/energy_ball/proc/new_mini_ball()
@@ -129,43 +129,38 @@
EB.orbit(src, orbitsize, pick(FALSE, TRUE), rand(10, 25), pick(3, 4, 5, 6, 36))
+/obj/singularity/energy_ball/attack_hand(mob/user)
+ dust_mob(user)
+ return 1
/obj/singularity/energy_ball/Bump(atom/A)
- dust_mobs(A)
+ dust_mob(A)
/obj/singularity/energy_ball/Bumped(atom/movable/AM)
- dust_mobs(AM)
+ dust_mob(AM)
/obj/singularity/energy_ball/orbit(obj/singularity/energy_ball/target)
if (istype(target))
target.orbiting_balls += src
//TODO-LESH-DEL global.poi_list -= src
- target.dissipate_strength = target.orbiting_balls.len
+ target.dissipate_strength = target.orbiting_balls.len + 1
. = ..()
/obj/singularity/energy_ball/stop_orbit()
if (orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball))
var/obj/singularity/energy_ball/orbitingball = orbiting.orbiting
orbitingball.orbiting_balls -= src
- orbitingball.dissipate_strength = orbitingball.orbiting_balls.len
+ orbitingball.dissipate_strength = orbitingball.orbiting_balls.len + 1
..()
if (!loc && !QDELETED(src))
qdel(src)
-/obj/singularity/energy_ball/proc/dust_mobs(atom/A)
- if(isliving(A))
- var/mob/living/L = A
- if(L.incorporeal_move)
- return
- if(!iscarbon(A))
+/obj/singularity/energy_ball/proc/dust_mob(mob/living/L)
+ if(!istype(L) || L.incorporeal_move)
return
- for(var/obj/machinery/power/grounding_rod/GR in orange(src, 2))
- if(GR.anchored)
- return
- var/mob/living/carbon/C = A
- // C.dust() - Changing to do fatal elecrocution instead
- C.electrocute_act(500, src, def_zone = BP_TORSO)
+ // L.dust() - Changing to do fatal elecrocution instead
+ L.electrocute_act(500, src, def_zone = BP_TORSO)
/proc/tesla_zap(atom/source, zap_range = 3, power, explosive = FALSE, stun_mobs = TRUE)
if(!source) // Some mobs and maybe some objects delete themselves when they die.
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 0e2cc7cbf8..c03d7db3b6 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -11,14 +11,15 @@
anchored = 1
density = 1
use_power = USE_POWER_OFF
+ var/glass_type = /obj/item/stack/material/glass
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
-/obj/machinery/power/tracker/New(var/turf/loc, var/obj/item/solar_assembly/S)
- ..(loc)
- Make(S)
+/obj/machinery/power/tracker/Initialize(mapload, glass_type)
+ . = ..()
+ update_icon()
connect_to_network()
/obj/machinery/power/tracker/Destroy()
@@ -38,15 +39,6 @@
control.connected_tracker = null
control = null
-/obj/machinery/power/tracker/proc/Make(var/obj/item/solar_assembly/S)
- if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/material/glass
- S.tracker = 1
- S.anchored = 1
- S.loc = src
- update_icon()
-
//updates the tracker icon and the facing angle for the control computer
/obj/machinery/power/tracker/proc/set_angle(var/angle)
sun_angle = angle
@@ -63,10 +55,11 @@
playsound(src, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar tracker. ")
if(do_after(user, 50))
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.loc = src.loc
- S.give_glass()
+ var/obj/item/solar_assembly/S = new(loc)
+ S.tracker = TRUE
+ S.anchored = TRUE
+ var/obj/item/stack/glass = new glass_type(loc)
+ glass.amount = 2
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] takes the glass off the tracker. ")
qdel(src)
diff --git a/code/modules/projectiles/guns/launcher/confetti_ch.dm b/code/modules/projectiles/guns/launcher/confetti_ch.dm
index c068ffba8c..984cf0ccb1 100644
--- a/code/modules/projectiles/guns/launcher/confetti_ch.dm
+++ b/code/modules/projectiles/guns/launcher/confetti_ch.dm
@@ -15,7 +15,7 @@
/obj/item/weapon/gun/launcher/confetti_cannon/examine(mob/user)
. = ..()
if(get_dist(user, src) <= 2)
- . += "It's loaded with [confetti_charge] balls of confetti. "
+ . += "It's loaded with [confetti_charge] ball\s of confetti. "
/obj/item/weapon/gun/launcher/confetti_cannon/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/shreddedp))
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index bbdcc29936..f06a96432a 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -278,38 +278,129 @@
if(loaded) //Safety.
if(istype(loaded, /obj/item/weapon/fuel_assembly))
var/obj/item/weapon/fuel_assembly/rod = loaded
- if(rod.fuel_type == "composite" || rod.fuel_type == "deuterium") //Safety check for rods spawned in without a fueltype.
- projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod
- else if(rod.fuel_type == "tritium")
- projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/tritium
- else if(rod.fuel_type == "phoron")
- projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/phoron
- else if(rod.fuel_type == "supermatter")
- projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/supermatter
- visible_message("The barrel of \the [src] glows a blinding white! ")
- spawn(5)
- visible_message("\The [src] begins to rattle, its acceleration chamber collapsing in on itself! ")
- removable_components = FALSE
- spawn(15)
- audible_message("\The [src]'s power supply begins to overload as the device crumples! ") //Why are you still holding this?
- playsound(src, 'sound/effects/grillehit.ogg', 10, 1)
- var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread()
- var/turf/T = get_turf(src)
- sparks.set_up(2, 1, T)
- sparks.start()
+ //CHOMPEdit Begin
+ switch(rod.fuel_type)
+ if("composite") //Safety check for rods spawned in without a fueltype.
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod
+ if("deuterium")
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod
+ if("tritium")
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/tritium
+ if("phoron")
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/phoron
+ if("supermatter")
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/supermatter
+ visible_message("The barrel of \the [src] glows a blinding white! ")
+ spawn(5)
+ visible_message("\The [src] begins to rattle, its acceleration chamber collapsing in on itself! ")
+ removable_components = FALSE
spawn(15)
- visible_message("\The [src] explodes in a blinding white light! ")
- explosion(src.loc, -1, 1, 2, 3)
- qdel(src)
- else
- projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod
-
+ audible_message("\The [src]'s power supply begins to overload as the device crumples! ") //Why are you still holding this?
+ playsound(src, 'sound/effects/grillehit.ogg', 10, 1)
+ var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread()
+ var/turf/T = get_turf(src)
+ sparks.set_up(2, 1, T)
+ sparks.start()
+ spawn(15)
+ visible_message("\The [src] explodes in a blinding white light! ")
+ explosion(src.loc, -1, 1, 2, 3)
+ qdel(src)
+ if("blitz")
+ var/max_range = 6 // -- Polymorph
+ var/banglet = 0
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/blitz
+ visible_message("\The [src] explodes in a blinding white light with a deafening bang! ")
+ for(var/obj/structure/closet/L in hear(max_range, get_turf(src)))
+ if(locate(/mob/living/carbon/, L))
+ for(var/mob/living/carbon/M in L)
+ blitzed(get_turf(src), M, max_range, banglet)
+ for(var/mob/living/carbon/M in hear(max_range, get_turf(src)))
+ blitzed(get_turf(src), M, max_range, banglet)
+ new/obj/effect/effect/sparks(src.loc)
+ new/obj/effect/effect/smoke/illumination(src.loc, 5, range=30, power=30, color="#FFFFFF")
+ spawn(2)
+ qdel(src)
+ if("blitzu")
+ visible_message("\The [src] explodes in a blinding white light with a deafening bang! ")
+ explosion(get_turf(src),1,2,4,6)
+ qdel(src)
+ return
+ else
+ projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod
use_ammo()
capacitor.use(power_cost)
update_icon()
+ if(projectile_type)
+ return new projectile_type(src)
+ else
+ return
- return new projectile_type(src)
+/obj/item/weapon/gun/magnetic/fuelrod/proc/blitzed(var/turf/T, var/mob/living/carbon/M, var/max_range, var/banglet) // Added a new proc called 'bang' that takes a location and a person to be banged.
+ to_chat(M, "BANG ") // Called during the loop that bangs people in lockers/containers and when banging
+ playsound(src, 'sound/effects/bang.ogg', 50, 1, 30) // people in normal view. Could theroetically be called during other explosions.
+
+ //Checking for protections
+ var/eye_safety = 0
+ var/ear_safety = 0
+ if(iscarbon(M))
+ eye_safety = M.eyecheck()
+ ear_safety = M.get_ear_protection()
+
+ //Flashing everyone
+ var/mob/living/carbon/human/H = M
+ var/flash_effectiveness = 1
+ var/bang_effectiveness = 1
+ if(ishuman(M))
+ flash_effectiveness = H.species.flash_mod
+ bang_effectiveness = H.species.sound_mod
+ if(eye_safety < 1 && get_dist(M, T) <= round(max_range * 0.7 * flash_effectiveness))
+ M.flash_eyes()
+ M.Confuse(2 * flash_effectiveness)
+ M.Weaken(5 * flash_effectiveness)
+
+ //Now applying sound
+ if((get_dist(M, T) <= round(max_range * 0.3 * bang_effectiveness) || src.loc == M.loc || src.loc == M))
+ if(ear_safety > 0)
+ M.Confuse(2)
+ M.Weaken(1)
+ else
+ M.Confuse(10)
+ M.Weaken(3)
+ if ((prob(14) || (M == src.loc && prob(70))))
+ M.ear_damage += rand(1, 10)
+ else
+ M.ear_damage += rand(0, 5)
+ M.ear_deaf = max(M.ear_deaf,15)
+
+ else if(get_dist(M, T) <= round(max_range * 0.5 * bang_effectiveness))
+ if(!ear_safety)
+ M.Confuse(8)
+ M.ear_damage += rand(0, 3)
+ M.ear_deaf = max(M.ear_deaf,10)
+
+ else if(!ear_safety && get_dist(M, T) <= (max_range * 0.7 * bang_effectiveness))
+ M.Confuse(4)
+ M.ear_damage += rand(0, 1)
+ M.ear_deaf = max(M.ear_deaf,5)
+
+ //This really should be in mob not every check
+ if(ishuman(M))
+ var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES]
+ if (E && E.damage >= E.min_bruised_damage)
+ to_chat(M, "Your eyes start to burn badly! ")
+ if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
+ if (E.damage >= E.min_broken_damage)
+ to_chat(M, "You can't see anything! ")
+ if (M.ear_damage >= 15)
+ to_chat(M, "Your ears start to ring badly! ")
+ if(!banglet && !(istype(src , /obj/item/weapon/grenade/flashbang/clusterbang)))
+ if (prob(M.ear_damage - 10 + 5))
+ to_chat(M, "You can't hear anything! ")
+ M.sdisabilities |= DEAF
+ else if(M.ear_damage >= 5)
+ to_chat(M, "Your ears start to ring! ")
+//CHOMPEdit End
/obj/item/weapon/gun/magnetic/fuelrod/New()
cell = new /obj/item/weapon/cell/high
capacitor = new /obj/item/weapon/stock_parts/capacitor
diff --git a/code/modules/projectiles/projectile/magnetic_ch.dm b/code/modules/projectiles/projectile/magnetic_ch.dm
index e86fc19557..65826e620d 100644
--- a/code/modules/projectiles/projectile/magnetic_ch.dm
+++ b/code/modules/projectiles/projectile/magnetic_ch.dm
@@ -3,4 +3,30 @@
icon_state = "flechette"
fire_sound = 'sound/weapons/rapidslice.ogg'
damage = 10
- armor_penetration = 35
\ No newline at end of file
+ armor_penetration = 35
+
+/obj/item/projectile/bullet/magnetic/fuelrod/blitz
+ name = "blitz rod"
+ icon_state = "fuel-blitz"
+ damage = 900
+ accuracy = 200
+ incendiary = 20
+ flammability = 4
+ weaken = 40
+ penetrating = 1
+ armor_penetration = 100
+ irradiate = 120
+ range = 75
+ searing = 1
+ detonate_travel = 1
+ detonate_mob = 1
+ energetic_impact = 1
+
+/obj/item/projectile/bullet/magnetic/fuelrod/blitz/on_impact(var/atom/A)
+ if(src.loc)
+ var/mob/living/M = A
+ if(istype(M) && M.maxHealth<=200)
+ M.dust()
+ visible_message("\The [src] impacts energetically with its target and shatters in a violent explosion! ")
+ explosion(src.loc, 3, 4, 5, 10)
+ ..(A)
diff --git a/code/modules/radiation/radiation.dm b/code/modules/radiation/radiation.dm
index cb701027d8..c467183cb5 100644
--- a/code/modules/radiation/radiation.dm
+++ b/code/modules/radiation/radiation.dm
@@ -45,7 +45,11 @@
/turf/simulated/wall/calc_rad_resistance()
SSradiation.resistance_cache[src] = (length(contents) + 1)
- cached_rad_resistance = (density ? (material.weight + material.radiation_resistance) / config.radiation_material_resistance_divisor : 0)
+ var/temp_rad_resistance
+ temp_rad_resistance += material.weight + material.radiation_resistance
+ if(reinf_material)
+ temp_rad_resistance += reinf_material.weight + reinf_material.radiation_resistance
+ cached_rad_resistance = (density ? (temp_rad_resistance) / config.radiation_material_resistance_divisor : 0)
return
/turf/simulated/mineral/calc_rad_resistance()
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
index 0d6957ae1d..d1a165af09 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
@@ -78,6 +78,50 @@
glass_name = "Pink Moo"
glass_desc = "A very familiar looking drink. ...moo?"
+/datum/reagent/ethanol/originalsin
+ name = "Original Sin"
+ id = "originalsin"
+ description = "Angel Ichor, entirely transformed by one drop of apple juice"
+ taste_description = "the apple Eve gave to Adam"
+ color = "#99CC35"
+ strength = 17
+
+ glass_name = "Original Sin"
+ glass_desc = "A drink so fine, you may just risk eternal damnation!"
+
+/datum/reagent/ethanol/newyorksour
+ name = "New York Sour"
+ id = "newyorksour"
+ description = "Whiskey sour, with a layer of wine and egg white."
+ taste_description = "refreshing lemoned whiskey, smoothed with wine"
+ color = "#FFBF3C"
+ strength = 17
+
+ glass_name = "New York Sour"
+ glass_desc = "A carefully poured three layered drink"
+
+/datum/reagent/ethanol/windgarita
+ name = "WND-Garita"
+ id = "windgarita"
+ description = "A highly questionable combination of margarita and Space Mountain Wind"
+ taste_description = "like sin, and some tequilia"
+ color = "#90D93D"
+ strength = 15
+
+ glass_name = "WND-Garita"
+ glass_desc = "Who the hell comes up with these drinks?!"
+
+/datum/reagent/ethanol/mudslide
+ name = "Mudslide"
+ id = "mudslide"
+ description = "Vodka, Kahlua and Irish Cream together at last."
+ taste_description = "a mocha milkshake, with a splash of vodka."
+ color = "#8B6338"
+ strength = 13
+
+ glass_name = "Mudslide"
+ glass_desc = "A richly coloured drink, comes with a chocolate garnish!"
+
/datum/reagent/ethanol/monstertamer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
..()
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm
index e18afe82b6..a6b2c37768 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm
@@ -340,6 +340,20 @@
if (alert(M,"This chemical will change your gender, proceed?", "Warning", "Yes", "No") == "Yes") //check if they want this to happen for pref sake
M.change_gender_identity(gender_change)
M << "You feel like a new person " //success
+
+////////////////////////////////////
+//////////// OTHER ////////////
+//////////////////////////////////
+//This file is a fucking mess
+/datum/reagent/nutriment/pitcher_nectar //Pitcher plant reagent, doubles plant growth speed.
+ name = "Pitcher Nectar"
+ id = "pitcher_nectar"
+ description = "An odd, sticky slurry which promotes rapid plant growth."
+ taste_description = "pineapple"
+ reagent_state = LIQUID
+ nutriment_factor = 60
+ color = "#a839a2"
+
////////////////////////////////////////////////
/////////DRINKS////////////////////////////////
//////////////////////////////////////////////
@@ -891,3 +905,10 @@
description = "Orange liquid. It wobbles around a bit like jelly."
color = "#e0962f"
taste_description = "Ammonia"
+
+//New reagent definitions/overrides. If some of these get added upstream and cause a conflict later they might need deleting.
+/datum/reagent/toxin/plantbgone/touch_mob(var/mob/living/L, amount) //Plantbgone override to damage plant mobs. Part of pitcher plants, touch_mob doesn't exist for plantbgone at the time of writing.
+ if(istype(L) && L.faction)
+ if(L.faction == "plants") //This would be better with a variable but I'm not adding that because upstream conflicts. If you send this upstream please do this.
+ L.adjustToxLoss(15 * amount)
+ L.visible_message("[L] withers rapidly! ", "The chemical burns you! ")
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 3f2fbbb750..7f6f9dbba7 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -270,7 +270,7 @@
result = "peridaxon"
required_reagents = list("cordradaxon" = 1, "gastirodaxon" = 1, "hepanephrodaxon" = 1, "respirodaxon" = 1) //CHOMPEdit
//catalysts = list("phoron" = 12) CHOMPEdit
- result_amount = 2
+ result_amount = 12 //CHOMPEdit
/datum/chemical_reaction/osteodaxon
name = "Osteodaxon"
diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/Chemistry-Recipes_vr.dm
index fa4763f41d..620221d7ac 100644
--- a/code/modules/reagents/Chemistry-Recipes_vr.dm
+++ b/code/modules/reagents/Chemistry-Recipes_vr.dm
@@ -77,7 +77,7 @@
/datum/chemical_reaction/foam/softdrink
required_reagents = list("cola" = 1, "mint" = 1)
-
+
/datum/chemical_reaction/firefightingfoam //TODO: Make it so we can add this to the foam tanks to refill them
name = "Firefighting Foam"
id = "firefighting foam"
@@ -85,6 +85,15 @@
required_reagents = list("water" = 1)
catalysts = list("fluorine" = 10)
result_amount = 1
+
+/datum/chemical_reaction/firefightingfoamqol //Please don't abuse this and make us remove it. Seriously.
+ name = "Firefighting Foam EZ"
+ id = "firefighting foam ez"
+ result = "firefoam"
+ required_reagents = list("water" = 1)
+ catalysts = list("firefoam" = 5)
+ inhibitors = list("fluorine" = 0.01)
+ result_amount = 1
///////////////////////////////////////////////////////////////////////////////////
/// Vore Drugs
@@ -290,6 +299,35 @@
required_reagents = list("blackrussian" = 2, "berryshake" = 1)
result_amount = 3
+/datum/chemical_reaction/drinks/originalsin
+ name = "Original Sin"
+ id = "originalsin"
+ result = "originalsin"
+ required_reagents = list("holywine" = 1)
+ catalysts = list("applejuice" = 1)
+ result_amount = 1
+
+/datum/chemical_reaction/drinks/windgarita
+ name = "WND-Garita"
+ id = "windgarita"
+ result = "windgarita"
+ required_reagents = list("margarita" = 3, "spacemountainwind" = 2, "melonliquor" = 1)
+ result_amount = 6
+
+/datum/chemical_reaction/drinks/newyorksour
+ name = "New York Sour"
+ id = "newyorksour"
+ result = "newyorksour"
+ required_reagents = list("whiskeysour" = 3, "wine" = 2, "egg" = 1)
+ result_amount = 6
+
+/datum/chemical_reaction/drinks/mudslide
+ name = "Mudslide"
+ id = "mudslide"
+ result = "mudslide"
+ required_reagents = list("blackrussian" = 1, "irishcream" = 1)
+ result_amount = 2
+
///////////////////////////////////////////////////////////////////////////////////
/// Reagent colonies.
/datum/chemical_reaction/meatcolony
diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm
index 889e17fef4..318606516f 100644
--- a/code/modules/research/prosfab_designs.dm
+++ b/code/modules/research/prosfab_designs.dm
@@ -73,14 +73,14 @@
O.dna.ResetSE()
// Skincolor weirdness.
- O.s_col[1] = 0
- O.s_col[2] = 0
- O.s_col[3] = 0
+ O.s_col[1] = 255 // CHOMP Edit
+ O.s_col[2] = 255 // CHOMP Edit
+ O.s_col[3] = 255 // CHOMP Edit
// Resetting the UI does strange things for the skin of a non-human robot, which should be controlled by a whole different thing.
- H.r_skin = 0
- H.g_skin = 0
- H.b_skin = 0
+ H.r_skin = 255 // CHOMP Edit
+ H.g_skin = 255 // CHOMP Edit
+ H.b_skin = 255 // CHOMP Edit
H.dna.ResetUIFrom(H)
H.real_name = "Synthmorph #[rand(100,999)]"
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index 707bd3ccd9..8956e9e3c8 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -3,6 +3,7 @@
desc = "This device is used to trigger station functions, which require more than one ID card to authenticate."
icon = 'icons/obj/monitors.dmi'
icon_state = "auth_off"
+ layer = ABOVE_WINDOW_LAYER
circuit = /obj/item/weapon/circuitboard/keycard_auth
var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made.
var/event = ""
diff --git a/code/modules/surgery/additions_ch.dm b/code/modules/surgery/additions_ch.dm
new file mode 100644
index 0000000000..f4559f5444
--- /dev/null
+++ b/code/modules/surgery/additions_ch.dm
@@ -0,0 +1,162 @@
+/datum/surgery_status/
+ var/dehusk = 0
+
+/datum/surgery_step/dehusk/
+ priority = 1
+ can_infect = 0
+ blood_level = 1
+
+/datum/surgery_step/dehusk/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if (!hasorgans(target))
+ return 0
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ if (!affected || (affected.robotic >= ORGAN_ROBOT))
+ return 0
+ if(coverage_check(user,target,affected,tool))
+ return 0
+ return target_zone == BP_TORSO
+
+/datum/surgery_step/dehusk/structinitial
+ allowed_tools = list(
+ /obj/item/weapon/surgical/bioregen = 100, \
+ /obj/item/weapon/surgical/hemostat = 30
+ )
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/dehusk/structinitial/can_use(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target.op_stage.dehusk == 0
+
+/datum/surgery_step/dehusk/structinitial/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if(istype(tool,/obj/item/weapon/surgical/bioregen))
+ user.visible_message("[user] begins to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]. ", \
+ "You begin to create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]. ")
+ else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
+ user.visible_message("[user] attempts to create a mesh structure over gaps in [target]'s flesh using strands of damaged flesh with \the [tool]. ", \
+ "You attempt to create a mesh structure over gaps in [target]'s flesh using strands of damaged flesh with \the [tool]. ")
+ ..()
+
+/datum/surgery_step/dehusk/structinitial/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if(istype(tool,/obj/item/weapon/surgical/bioregen))
+ user.visible_message("[user] creates a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]. ", \
+ "You create a fleshy but rigid looking mesh over gaps in [target]'s flesh with \the [tool]. ")
+ else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
+ user.visible_message("[user] manages to create a mesh structure over gaps in [target]'s flesh using strands of damaged flesh with \the [tool]. ", \
+ "You manage to create a mesh structure over gaps in [target]'s flesh using strands of damaged flesh with \the [tool]. ")
+ target.op_stage.dehusk = 1
+ ..()
+
+/datum/surgery_step/dehusk/structinitial/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ if(istype(tool,/obj/item/weapon/surgical/bioregen))
+ user.visible_message("[user]'s hand slips, and the mesh falls, with \the [tool] scraping [target]'s body. ", \
+ "Your hand slips, and the mesh falls, with \the [tool] scraping [target]'s body. ")
+ else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
+ user.visible_message("[user] fails to create a mesh structure over gaps in [target]'s flesh, the damaged flesh just falling off and doing more damage than good. ", \
+ "You fail to create a mesh structure over gaps in [target]'s flesh, the damaged flesh just falling off and doing more damage than good. ")
+ affected.createwound(CUT, 15)
+ affected.createwound(BRUISE, 10)
+ ..()
+
+/datum/surgery_step/dehusk/relocateflesh
+ allowed_tools = list(
+ /obj/item/weapon/surgical/hemostat = 100, \
+ /obj/item/stack/cable_coil = 75, \
+ /obj/item/device/assembly/mousetrap = 20
+ )
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/dehusk/relocateflesh/can_use(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target.op_stage.dehusk == 1
+
+/datum/surgery_step/dehusk/relocateflesh/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] begins to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps. ", \
+ "You begin to relocate some of [target]'s flesh with \the [tool], using it to fill in gaps. ")
+ ..()
+
+/datum/surgery_step/dehusk/relocateflesh/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] relocates some of [target]'s flesh with \the [tool], using it to fill in gaps. ", \
+ "You relocate some of [target]'s flesh with \the [tool], using it to fill in gaps. ")
+ target.op_stage.dehusk = 2
+ ..()
+
+/datum/surgery_step/dehusk/relocateflesh/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user] accidentally rips a massive chunk out of [target]'s flesh with \the [tool], causing massive damage. ", \
+ "You accidentally rip a massive chunk out of [target]'s flesh with \the [tool], causing massive damage. ")
+ affected.createwound(CUT, 25)
+ affected.createwound(BRUISE, 10)
+ ..()
+
+/datum/surgery_step/dehusk/structfinish
+ allowed_tools = list(
+ /obj/item/weapon/surgical/bioregen = 100, \
+ /obj/item/weapon/surgical/FixOVein = 30
+ )
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/dehusk/structfinish/can_use(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target.op_stage.dehusk == 2
+
+/datum/surgery_step/dehusk/structfinish/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if(istype(tool,/obj/item/weapon/surgical/bioregen))
+ user.visible_message("[user] begins to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]. ", \
+ "You begin to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]. ")
+ else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
+ user.visible_message("[user] attempts to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]. ", \
+ "You attempt to recreate blood vessels and fill in the gaps in [target]'s flesh with \the [tool]. ")
+ ..()
+
+/datum/surgery_step/dehusk/structfinish/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] finishes recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool]. ", \
+ "You finish recreating the missing biological structures and filling in gaps in [target]'s flesh with \the [tool]. ")
+ target.op_stage.dehusk = 0
+ target.mutations.Remove(HUSK)
+ target.status_flags &= ~DISFIGURED
+ target.update_icons_body()
+ ..()
+
+/datum/surgery_step/dehusk/structfinish/fail_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ if(istype(tool,/obj/item/weapon/surgical/bioregen))
+ user.visible_message("[user]'s hand slips, causing \the [tool] to scrape [target]'s body. ", \
+ "Your hand slips, causing \the [tool] to scrape [target]'s body. ")
+ else if(istype(tool,/obj/item/weapon/surgical/FixOVein))
+ user.visible_message("[user] fails to finish the structure over the gaps in [target]'s flesh, doing more damage than good. ", \
+ "You fail to finish the structure over the gaps in [target]'s flesh, doing more damage than good. ")
+ affected.createwound(CUT, 15)
+ affected.createwound(BRUISE, 10)
+ ..()
+
+/datum/surgery_step/internal/detoxify
+ blood_level = 1
+ allowed_tools = list(/obj/item/weapon/surgical/bioregen=100)
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/internal/detoxify/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_TORSO && (target.toxloss > 25 || target.oxyloss > 25)
+
+/datum/surgery_step/internal/detoxify/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] begins to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool]. ", \
+ "You begin to pull toxins from, and restore oxygen to [target]'s musculature and organs with \the [tool]. ")
+ ..()
+
+/datum/surgery_step/internal/detoxify/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] finishes pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool]. ", \
+ "You finish pulling toxins from, and restoring oxygen to [target]'s musculature and organs with \the [tool]. ")
+ if(target.toxloss>25)
+ target.adjustToxLoss(-20)
+ if(target.oxyloss>25)
+ target.adjustOxyLoss(-20)
+ ..()
+
+/datum/surgery_step/internal/detoxify/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, failing to finish the surgery, and damaging [target] with \the [tool]. ", \
+ "Your hand slips, failing to finish the surgery, and damaging [target] with \the [tool]. ")
+ affected.createwound(CUT, 15)
+ affected.createwound(BRUISE, 10)
+ ..()
\ No newline at end of file
diff --git a/code/modules/tgui/modules/communications.dm b/code/modules/tgui/modules/communications.dm
index 1af2a003cc..045592de21 100644
--- a/code/modules/tgui/modules/communications.dm
+++ b/code/modules/tgui/modules/communications.dm
@@ -104,9 +104,10 @@
"line_2" = (stat_msg2 ? stat_msg2 : "-----"),
"presets" = list(
- list("name" = "blank", "label" = "Clear", "desc" = "Blank slate"),
- list("name" = "shuttle", "label" = "Shuttle ETA", "desc" = "Display how much time is left."),
- list("name" = "message", "label" = "Message", "desc" = "A custom message.")
+ list("name" = "blank", "label" = "Clear", "desc" = "Blank slate."),
+ list("name" = "time", "label" = "Station Time", "desc" = "The current time according to the station's clock."),
+ list("name" = "shuttle", "label" = "Shuttle ETA", "desc" = "Display how much time is left."), //CHOMPEdit we have a shuttle not a tram silly virgo//VOREStation Edit - Shuttle ETA -> Tram ETA because we use trams
+ list("name" = "message", "label" = "Message", "desc" = "A custom message.")
),
)
@@ -248,7 +249,7 @@
to_chat(usr, "Security measures prevent you from changing the alert level. ")
return
- if(check_access(usr, access_captain))
+ if(is_authenticated(usr))
change_security_level(text2num(params["level"]))
else
to_chat(usr, "You are not authorized to do this. ")
diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm
index f15f01322e..fa8b0c7c7f 100644
--- a/code/modules/vchat/vchat_client.dm
+++ b/code/modules/vchat/vchat_client.dm
@@ -382,9 +382,6 @@ var/to_chat_src
/client/proc/vchat_export_log()
set name = "Export chatlog"
set category = "OOC"
-
- to_chat(usr, "This verb is temporarily disabled due to performance issues. ") //CHOMPEdit
- return //CHOMPEdit
if(chatOutput.broken)
to_chat(src, "Error: VChat isn't processing your messages! ")
@@ -400,22 +397,22 @@ var/to_chat_src
to_chat(src, "Error: Your chat log is already being prepared. Please wait until it's been downloaded before trying to export it again. ")
return
- o_file = file(o_file)
-
// Write the CSS file to the log
- o_file << ""
+ var/text_blob = ""
// Write the messages to the log
for(var/list/result in results)
- o_file << "[result["message"]] "
+ text_blob += "[result["message"]] "
CHECK_TICK
- o_file << ""
+ text_blob += ""
+
+ rustg_file_write(text_blob, o_file)
// Send the log to the client
- src << ftp(o_file, "log_[time2text(world.timeofday, "YYYY_MM_DD_(hh_mm)")].html")
+ src << ftp(file(o_file), "log_[time2text(world.timeofday, "YYYY_MM_DD_(hh_mm)")].html")
// clean up the file on our end
spawn(10 SECONDS)
diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm
index ff5e6dbcfe..d4053e8e52 100644
--- a/code/modules/virus2/isolator.dm
+++ b/code/modules/virus2/isolator.dm
@@ -73,7 +73,7 @@
var/mob/living/carbon/human/D = B.data["donor"]
pathogen_pool.Add(list(list(\
- "name" = "[D.get_species()] [B.name]", \
+ "name" = "[istype(D) ? "[D.get_species()] " : ""][B.name]", \
"dna" = B.data["blood_DNA"], \
"unique_id" = V.uniqueID, \
"reference" = "\ref[V]", \
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index c6ce1c964e..2a625eba6a 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -370,6 +370,8 @@
prey.forceMove(src)
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
for(var/mob/living/M in contents)
M.updateVRPanel()
@@ -538,6 +540,8 @@
//Update owner
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
//Digest a single item
//Receives a return value from digest_act that's how much nutrition
@@ -707,6 +711,8 @@
I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color)
items_preserved -= content
owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
for(var/mob/living/M in contents)
M.updateVRPanel()
diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm
index c695a9c420..50078f5279 100644
--- a/code/modules/vore/eating/bellymodes_datum_vr.dm
+++ b/code/modules/vore/eating/bellymodes_datum_vr.dm
@@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
return list("to_update" = TRUE, "soundToPlay" = sound(get_sfx("fancy_death_pred")))
//CHOMPEDIT: Snowflake synx hook. Hypothetically this could be expanded to any mob by, say, giving them a parasite variable and a check for it here.
- if(istype(L,/mob/living/simple_mob/retaliate/synx))
+ if(istype(L,/mob/living/simple_mob/animal/synx))
var/syntox = B.digest_brute+B.digest_burn
B.owner.adjust_nutrition(-syntox)
L.adjust_nutrition(syntox)
diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm
index e02253d1ba..0279a0bd25 100644
--- a/code/modules/vore/eating/bellymodes_vr.dm
+++ b/code/modules/vore/eating/bellymodes_vr.dm
@@ -231,4 +231,6 @@
if(M.client)
M.updateVRPanel()
if(owner.client)
- owner.updateVRPanel()
\ No newline at end of file
+ owner.updateVRPanel()
+ if(isanimal(owner))
+ owner.update_icon()
\ No newline at end of file
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index cb6ff324fd..b41c4a4f15 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -207,9 +207,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
return FALSE
//Write it out
- if(fexists(path))
- fdel(path) //Byond only supports APPENDING to files, not replacing.
- text2file(json_to_file, path)
+ rustg_file_write(json_to_file, path)
+
if(!fexists(path))
log_debug("Saving: [path] failed file write")
return FALSE
diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm
index 27fd388c5f..b121724219 100644
--- a/code/modules/xenoarcheaology/finds/find_spawning.dm
+++ b/code/modules/xenoarcheaology/finds/find_spawning.dm
@@ -551,7 +551,9 @@
var/obj/item/weapon/reagent_containers/syringe/S = new_item
S.volume = 30
- S.reagents.maximum_volume = 30
+ //If S hasn't initialized yet, S.reagents will be null.
+ //However, in that case Initialize will set the maximum volume to the volume for us, so we don't need to do anything.
+ S.reagents?.maximum_volume = 30
item_type = new_item.name
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 504472e334..2e4caf1c33 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -112,6 +112,7 @@ h1.alert, h2.alert {color: #000000;}
.terminus {font-family: "Times New Roman", Times, serif, sans-serif}
.interface {color: #330033;}
.psionic {color: #993399;} /*YWedit*/
+.spacer {color: #9c660b;}
BIG IMG.icon {width: 32px; height: 32px;}
diff --git a/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml b/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml
new file mode 100644
index 0000000000..5932db7e4c
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - fix infinite ratburgers.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Cooking a mouse into a mouseburger now uses up the mouse."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - isolator fix.yml b/html/changelogs/Meghan Rossi - isolator fix.yml
new file mode 100644
index 0000000000..4801a45890
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - isolator fix.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Blood from artifacts will no longer break the pathogenic isolator."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - poiareas.yml b/html/changelogs/Meghan Rossi - poiareas.yml
new file mode 100644
index 0000000000..2b845c8d26
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - poiareas.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "Fixed some mountain POIs sometimes overlapping in odd ways"
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - tesla dissipation.yml b/html/changelogs/Meghan Rossi - tesla dissipation.yml
new file mode 100644
index 0000000000..2ee721ad9a
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - tesla dissipation.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - tweak: "The tesla energy ball will now eventually disappear if not kept charged with the particle accelerator"
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - the_teslagen.yml b/html/changelogs/Meghan Rossi - the_teslagen.yml
new file mode 100644
index 0000000000..ee59d5663e
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - the_teslagen.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - rscadd: "The Tesla Generator is now available from cargo. Coils and grounding rods for it may be printed on the protolathe and autolathe, respectively."
\ No newline at end of file
diff --git a/html/changelogs/Meghan Rossi - wall machine layering.yml b/html/changelogs/Meghan Rossi - wall machine layering.yml
new file mode 100644
index 0000000000..1e3f903681
--- /dev/null
+++ b/html/changelogs/Meghan Rossi - wall machine layering.yml
@@ -0,0 +1,4 @@
+author: Meghan-Rossi
+delete-after: True
+changes:
+ - bugfix: "If you place wall-mounted machines such as status displays on a window, they will no longer be hidden underneath the window."
\ No newline at end of file
diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi
index 873d455872..a1579fa775 100644
Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ
diff --git a/icons/mob/vore_ch.dmi b/icons/mob/vore_ch.dmi
index cdc56a30ac..6f12d18848 100644
Binary files a/icons/mob/vore_ch.dmi and b/icons/mob/vore_ch.dmi differ
diff --git a/icons/mob/vore_lamia.dmi b/icons/mob/vore_lamia.dmi
new file mode 100644
index 0000000000..d062b473fc
Binary files /dev/null and b/icons/mob/vore_lamia.dmi differ
diff --git a/icons/obj/drinks_vr.dmi b/icons/obj/drinks_vr.dmi
index 3dca3dbfed..280bf84cbd 100644
Binary files a/icons/obj/drinks_vr.dmi and b/icons/obj/drinks_vr.dmi differ
diff --git a/icons/obj/machines/power/fusion.dmi b/icons/obj/machines/power/fusion.dmi
index 4d20f04fcd..857316c087 100644
Binary files a/icons/obj/machines/power/fusion.dmi and b/icons/obj/machines/power/fusion.dmi differ
diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi
index cb79babe03..c07fe3d4ba 100644
Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ
diff --git a/icons/obj/surgery_ch.dmi b/icons/obj/surgery_ch.dmi
new file mode 100644
index 0000000000..c01d6c7751
Binary files /dev/null and b/icons/obj/surgery_ch.dmi differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index 21b649006c..33f220896e 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 24e8f9f541..dae925d5d9 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ
diff --git a/librust_g.so b/librust_g.so
new file mode 100644
index 0000000000..3247fb19af
Binary files /dev/null and b/librust_g.so differ
diff --git a/maps/southern_cross/southern_cross-2.dmm b/maps/southern_cross/southern_cross-2.dmm
index e0de199a8e..37c60f7fb9 100644
--- a/maps/southern_cross/southern_cross-2.dmm
+++ b/maps/southern_cross/southern_cross-2.dmm
@@ -5502,7 +5502,7 @@
"dUe" = (/obj/structure/table/standard,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/hydroponics)
"dUz" = (/obj/effect/shuttle_landmark{base_area = /area/space; base_turf = /turf/space; docking_controller = "d2_w1_a_airlock"; landmark_tag = "d2_w1_a"; name = "Deck 2, Dock 1-A"},/turf/space,/area/space)
"dVl" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/aft)
-"dWl" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 1"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"dWl" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 1"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/item/weapon/surgical/bioregen,/turf/simulated/floor/tiled/white,/area/medical/surgery)
"dWp" = (/obj/structure/bed/chair/comfy/black,/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/carpet,/area/hallway/secondary/entry/docking_lounge)
"dWC" = (/obj/structure/morgue{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue)
"dWG" = (/obj/machinery/door/airlock/glass_external{frequency = null; icon_state = "door_locked"; locked = 1; name = "Dock One Internal Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/map_helper/airlock/button/int_button,/obj/effect/map_helper/airlock/door/int_door,/obj/machinery/access_button{dir = 4; name = "interior access button"; pixel_x = 7; pixel_y = 27; req_one_access = null},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D1)
@@ -5554,7 +5554,7 @@
"eCo" = (/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/industrial/danger{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/quartermaster/office)
"eDx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera/network/second_deck{c_tag = "Second Deck - Dock 1 Fore"; dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1)
"eEy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/ward)
-"eEW" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 2"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/turf/simulated/floor/tiled/white,/area/medical/surgery2)
+"eEW" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Operating Theatre 2"; dir = 1},/obj/machinery/vending/wallmed1{pixel_y = -30},/obj/structure/table/standard,/obj/item/weapon/surgical/bonesetter,/obj/item/weapon/surgical/bonegel,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/pink/border,/obj/item/weapon/surgical/bioregen,/turf/simulated/floor/tiled/white,/area/medical/surgery2)
"eEX" = (/obj/machinery/door/airlock/external{frequency = null; icon_state = "door_locked"; id_tag = null; locked = 1; name = "Dock Two External Airlock"; req_access = list(13)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/shield_diffuser,/obj/structure/fans/tiny,/obj/effect/map_helper/airlock/door/ext_door,/obj/effect/map_helper/airlock/button/ext_button,/obj/machinery/access_button{dir = 4; name = "exterior access button"; pixel_x = 7; pixel_y = 27; req_one_access = null},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/entry/D2/arrivals)
"eFx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar)
"eFQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/dockhallway)
diff --git a/maps/submaps/admin_use_vr/ert.dmm b/maps/submaps/admin_use_vr/ert.dmm
index 6c09554428..e7e7be1271 100644
--- a/maps/submaps/admin_use_vr/ert.dmm
+++ b/maps/submaps/admin_use_vr/ert.dmm
@@ -1,1132 +1,966 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
-/turf/unsimulated/wall,
+/obj/effect/overmap/visitable/ship/ert_ship,
+/turf/space,
/area/space)
"ab" = (
-/turf/unsimulated/wall,
-/area/centcom/specops)
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/barracks)
"ac" = (
-/turf/unsimulated/wall{
- icon = 'icons/obj/doors/Doorext.dmi';
- icon_state = "door_locked";
- name = "Sealed Door"
- },
-/area/centcom/specops)
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_port)
"ad" = (
-/obj/effect/floor_decal/industrial/danger/corner,
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_port)
"ae" = (
-/obj/effect/floor_decal/industrial/danger,
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"af" = (
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
-/area/centcom/specops)
-"ag" = (
-/obj/machinery/embedded_controller/radio/simple_docking_controller{
- frequency = 1380;
- id_tag = "ert_shuttle_bay";
- name = "shuttle bay controller";
- pixel_x = 25;
- pixel_y = 0;
- tag_door = "ert_shuttle_bay_door"
- },
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
-/area/centcom/specops)
-"ah" = (
-/obj/effect/floor_decal/industrial/danger/corner{
- icon_state = "dangercorner";
- dir = 1
- },
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"ai" = (
-/obj/effect/floor_decal/industrial/danger{
- dir = 4
- },
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"aj" = (
-/turf/unsimulated/floor/techfloor_grid,
-/area/centcom/specops)
-"ak" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "ert_shuttle_bay_door";
- locked = 1
- },
-/turf/unsimulated/floor{
- icon_state = "steel"
- },
-/area/centcom/specops)
-"al" = (
-/obj/effect/floor_decal/industrial/danger{
- dir = 8
- },
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"am" = (
-/turf/simulated/shuttle/wall/dark/hard_corner,
-/area/shuttle/specops/centcom)
-"an" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "ert1_shuttle_outer";
- locked = 1;
- name = "Shuttle Hatch"
- },
-/obj/structure/fans/tiny,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ao" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "ert1_shuttle_outer";
- locked = 1;
- name = "Shuttle Hatch"
- },
-/obj/structure/fans/tiny,
-/obj/machinery/access_button{
- command = "cycle_exterior";
- frequency = 1380;
- master_tag = "ert1_control";
+/obj/machinery/door/airlock/external,
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/machinery/airlock_sensor/airlock_exterior{
+ dir = 1;
pixel_x = 24;
- req_one_access = list(103)
+ pixel_y = 11
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ap" = (
-/turf/simulated/shuttle/wall/dark,
-/area/shuttle/specops/centcom)
-"aq" = (
-/obj/structure/window/reinforced,
-/obj/machinery/door/blast/shutters{
- density = 0;
- icon_state = "shutter0";
- id = "ertstarshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"af" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"ag" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
},
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"ar" = (
-/obj/structure/window/reinforced,
-/obj/machinery/door/blast/shutters{
- density = 0;
- icon_state = "shutter0";
- id = "ertstarshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"as" = (
-/obj/structure/window/reinforced,
-/obj/machinery/door/blast/shutters{
- density = 0;
- icon_state = "shutter0";
- id = "ertstarshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"at" = (
-/obj/machinery/atmospherics/unary/vent_pump/high_volume{
- dir = 2;
- frequency = 1380;
- id_tag = "ert1_vent"
- },
-/obj/machinery/embedded_controller/radio/airlock/docking_port{
- frequency = 1380;
- id_tag = "ert1_control";
- pixel_x = -25;
- req_access = list(103);
- tag_airpump = "ert1_vent";
- tag_chamber_sensor = "ert1_sensor";
- tag_exterior_door = "ert1_shuttle_outer";
- tag_interior_door = "ert1_shuttle_inner"
- },
-/obj/effect/shuttle_landmark/shuttle_initializer{
- base_area = /area/centcom/specops;
- base_turf = /turf/unsimulated/floor;
- landmark_tag = "specops_base";
- name = "ERT Shuttle Bay";
- shuttle_type = /datum/shuttle/autodock/multi/specialops
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"au" = (
-/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
- },
-/obj/machinery/atmospherics/unary/vent_pump/high_volume{
- dir = 2;
- frequency = 1380;
- id_tag = "ert1_vent"
- },
-/obj/machinery/airlock_sensor{
- frequency = 1380;
- id_tag = "ert1_sensor";
- pixel_x = 25
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"av" = (
-/obj/structure/shuttle/engine/heater{
- icon_state = "heater";
- dir = 4
- },
-/turf/simulated/shuttle/plating/airless,
-/area/shuttle/specops/centcom)
-"aw" = (
-/obj/structure/shuttle/engine/propulsion{
- icon_state = "propulsion_r";
- dir = 4
- },
-/turf/space,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/specops/centcom)
-"ax" = (
-/obj/structure/closet/cabinet,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ay" = (
-/obj/structure/bed/padded,
-/obj/item/weapon/bedsheet/captain,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"az" = (
-/obj/structure/closet/wardrobe/ert,
-/obj/item/modular_computer/laptop/preset/custom_loadout/elite,
-/obj/item/weapon/storage/box/survival/comp{
- starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aA" = (
-/obj/structure/closet/wardrobe/ert,
-/obj/item/modular_computer/laptop/preset/custom_loadout/elite,
-/obj/machinery/light{
- dir = 1
- },
-/obj/item/weapon/storage/box/survival/comp{
- starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aB" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1380;
- icon_state = "door_locked";
- id_tag = "ert1_shuttle_inner";
- locked = 1;
- name = "Shuttle Hatch"
- },
-/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aC" = (
-/obj/structure/table/steel_reinforced,
-/obj/machinery/chemical_dispenser/ert,
-/obj/item/weapon/reagent_containers/glass/beaker/large,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aD" = (
-/obj/structure/table/steel_reinforced,
-/obj/machinery/chemical_dispenser/biochemistry/full,
-/obj/item/weapon/reagent_containers/glass/beaker/large,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aE" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 4
- },
-/turf/space,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/specops/centcom)
-"aF" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertstarshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"aG" = (
-/obj/machinery/newscaster{
- pixel_y = 32
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aH" = (
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aI" = (
-/obj/machinery/door/airlock/silver{
- name = "Sleeping"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aJ" = (
-/obj/effect/landmark/late_antag/ert,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aK" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"ah" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"ai" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"aj" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"ak" = (
/obj/machinery/atmospherics/pipe/simple/visible{
- icon_state = "intact";
dir = 6
},
-/obj/machinery/meter,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aL" = (
-/obj/machinery/atmospherics/pipe/manifold/visible,
-/obj/machinery/access_button{
- command = "cycle_interior";
- frequency = 1380;
- master_tag = "ert1_control";
- pixel_x = -22;
- pixel_y = 32;
- req_one_access = list(103)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aM" = (
-/obj/machinery/atmospherics/pipe/simple/visible{
- icon_state = "intact";
- dir = 9
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aN" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/weapon/storage/briefcase/inflatable{
- pixel_x = 3;
- pixel_y = 3
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aO" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/belt/medical/emt,
-/obj/item/weapon/storage/belt/medical/emt,
-/obj/item/weapon/storage/belt/medical/emt,
-/obj/item/weapon/storage/belt/medical/emt,
-/obj/item/clothing/accessory/storage/white_vest,
-/obj/item/clothing/accessory/storage/white_vest,
-/obj/item/clothing/accessory/storage/white_vest,
-/obj/item/clothing/accessory/storage/white_vest,
-/obj/item/clothing/accessory/storage/white_drop_pouches,
-/obj/item/clothing/accessory/storage/white_drop_pouches,
-/obj/item/clothing/accessory/storage/white_drop_pouches,
-/obj/item/clothing/accessory/storage/white_drop_pouches,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aP" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/armor/vest/ert/medical,
-/obj/item/clothing/suit/armor/vest/ert/medical,
-/obj/item/clothing/suit/armor/vest/ert/medical,
-/obj/item/clothing/suit/armor/vest/ert/medical,
-/obj/item/clothing/head/helmet/ert/medical,
-/obj/item/clothing/head/helmet/ert/medical,
-/obj/item/clothing/head/helmet/ert/medical,
-/obj/item/clothing/head/helmet/ert/medical,
-/obj/item/weapon/storage/backpack/ert/medical,
-/obj/item/weapon/storage/backpack/ert/medical,
-/obj/item/weapon/storage/backpack/ert/medical,
-/obj/item/weapon/storage/backpack/ert/medical,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aQ" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/rig/ert/medical,
-/obj/item/weapon/rig/ert/medical,
-/obj/item/weapon/rig/ert/medical,
-/obj/item/weapon/rig/ert/medical,
-/obj/item/weapon/reagent_containers/hypospray,
-/obj/item/weapon/reagent_containers/hypospray,
-/obj/item/weapon/reagent_containers/hypospray,
-/obj/item/weapon/reagent_containers/hypospray,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aR" = (
-/obj/machinery/light{
- dir = 4;
- icon_state = "tube1"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aS" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertstarshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
+/turf/simulated/wall/rshull,
+/area/ship/ert/dock_port)
+"al" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume{
dir = 8
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"aT" = (
-/obj/machinery/light,
-/obj/machinery/ntnet_relay,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aU" = (
-/obj/structure/table/bench/padded,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aV" = (
-/obj/machinery/shieldgen,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aW" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/netgun,
-/obj/item/weapon/gun/energy/sniperrifle{
- battery_lock = 0
- },
-/obj/item/weapon/gun/energy/gun/martin{
- battery_lock = 0
- },
-/obj/item/weapon/gun/energy/gun/martin{
- battery_lock = 0
- },
-/obj/item/weapon/gun/energy/gun/martin{
- battery_lock = 0
- },
-/obj/item/weapon/gun/energy/gun/martin{
- battery_lock = 0
- },
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aX" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/gun/nuclear,
-/obj/item/weapon/gun/energy/gun/nuclear,
-/obj/item/weapon/gun/energy/gun/nuclear,
-/obj/item/weapon/gun/energy/gun/nuclear,
-/obj/item/weapon/gun/energy/gun/nuclear,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aY" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/gun,
-/obj/item/weapon/gun/energy/gun,
-/obj/item/weapon/gun/energy/gun,
-/obj/item/weapon/gun/energy/gun,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"aZ" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/projectile/shotgun/pump/combat,
-/obj/item/weapon/gun/projectile/shotgun/pump/combat,
-/obj/item/weapon/storage/box/shotgunshells,
-/obj/item/weapon/storage/box/shotgunshells,
-/obj/item/weapon/storage/box/shotgunshells,
-/obj/item/weapon/storage/box/shotgunammo,
-/obj/item/weapon/storage/box/shotgunammo,
-/obj/item/weapon/storage/box/stunshells,
-/obj/item/weapon/storage/box/stunshells,
-/obj/item/weapon/storage/box/flashshells,
-/obj/item/weapon/storage/box/flashshells,
-/obj/item/weapon/storage/box/beanbags,
-/obj/item/weapon/storage/box/beanbags,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ba" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/projectile/automatic/advanced_smg,
-/obj/item/ammo_magazine/m9mmAdvanced,
-/obj/item/ammo_magazine/m9mmAdvanced,
-/obj/item/ammo_magazine/m9mmAdvanced,
-/obj/item/ammo_magazine/m9mmAdvanced,
-/obj/item/weapon/gun/projectile/revolver/detective45,
-/obj/item/weapon/gun/projectile/revolver/detective45,
-/obj/item/ammo_magazine/s45,
-/obj/item/ammo_magazine/s45,
-/obj/item/ammo_magazine/s45,
-/obj/item/ammo_magazine/s45,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bb" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/window/reinforced{
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/floor_decal/industrial/warning{
dir = 1
},
-/obj/structure/grille,
-/obj/structure/window/reinforced{
+/obj/structure/sign/vacuum{
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"am" = (
+/obj/machinery/airlock_sensor{
+ pixel_x = 24
+ },
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"an" = (
+/obj/structure/table/rack/steel,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ao" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/item/weapon/tank/jetpack/oxygen,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ap" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ax" = (
+/obj/structure/shuttle/engine/propulsion{
dir = 4
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bc" = (
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
+/turf/simulated/floor/reinforced,
+/area/shuttle/ert_ship_boat)
+"az" = (
+/obj/machinery/shipsensors{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/visible,
-/obj/machinery/space_heater,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bd" = (
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"be" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"aC" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"aD" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/fiftyspawner/tritium,
+/obj/fiftyspawner/tritium,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"aI" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"aQ" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/firstaid/surgery,
+/obj/item/stack/nanopaste/advanced,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/item/weapon/surgical/bone_clamp,
+/obj/item/weapon/surgical/scalpel/manager,
+/obj/item/weapon/surgical/circular_saw/manager,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"aV" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/eng_storage)
+"bg" = (
+/turf/space,
+/turf/space,
+/area/space)
+"bp" = (
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"br" = (
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"bt" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"bI" = (
+/obj/structure/table/rack/steel,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/obj/item/device/suit_cooling_unit,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"bJ" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"bM" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/mech_bay)
+"bO" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/atmos)
+"bR" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/atmos)
+"bW" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/atmos)
+"ch" = (
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/int_door,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"ci" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"ck" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"cl" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_near_aft,
+/turf/space,
+/area/space)
+"cs" = (
+/obj/machinery/atmospherics/pipe/tank/air{
+ dir = 4;
+ start_pressure = 740.5
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"cu" = (
+/obj/machinery/shipsensors,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engineering)
+"cv" = (
+/obj/machinery/shield_gen,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"cC" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 4
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 23
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"cJ" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hallways_aft)
+"cO" = (
+/obj/machinery/computer/operating,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"cP" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"cS" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/hallways_aft)
+"cV" = (
+/obj/machinery/vending/assist,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"cW" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "VB APC - North";
+ pixel_y = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"cY" = (
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"dd" = (
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/turf/simulated/wall/shull,
+/area/ship/ert/dock_port)
+"dg" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"dk" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/powered/pump/filled,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"dn" = (
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 8;
+ id_tag = "von_braun_port";
+ master_tag = "von_braun_master";
+ name = "Port Docking Control";
+ pixel_x = 22
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"do" = (
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"dp" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/item/weapon/rig/ert/assetprotection,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"dq" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/med_surg)
+"dr" = (
+/obj/structure/table/rack/steel,
+/obj/item/toy/plushie/squid/blue{
+ desc = "A small, cute and loveable squid friend. This one is blue. Despite the name, it seems no more or less deadly than your regular plush squid.";
+ name = "NT 'Deathsquid' Plushie"
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ds" = (
+/obj/structure/table/rack,
+/obj/item/weapon/storage/backpack/ert/commander,
+/obj/item/clothing/suit/space/void/responseteam/command,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"dx" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"dA" = (
/obj/machinery/door/airlock/glass_medical{
name = "Medical Bay";
req_access = list(103)
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bf" = (
-/obj/machinery/chem_master,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bg" = (
-/obj/structure/shuttle/engine/propulsion{
- icon_state = "propulsion_l";
- dir = 4
- },
-/turf/space,
-/turf/simulated/shuttle/plating/airless/carry,
-/area/shuttle/specops/centcom)
-"bh" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_y = -32
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bi" = (
-/obj/machinery/button/remote/blast_door{
- id = "ertstarshutters";
- name = "remote shutter control";
- pixel_x = 30;
- req_access = list(160)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bj" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"dB" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/gun/energy/laser,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bk" = (
-/obj/effect/floor_decal/industrial/warning{
- dir = 9
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/suit/armor/swat,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/mask/gas/commando,
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bl" = (
-/obj/effect/floor_decal/industrial/warning{
- icon_state = "warning";
- dir = 1
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bm" = (
-/obj/effect/floor_decal/industrial/warning{
- dir = 5
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bn" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bo" = (
-/obj/structure/window/reinforced{
- dir = 8
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
},
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
+ },
+/obj/item/clothing/head/helmet/space/deathsquad{
+ name = "swat helmet"
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"dT" = (
+/obj/machinery/door/firedoor,
/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bp" = (
-/obj/machinery/atmospherics/pipe/simple/visible,
-/obj/machinery/meter,
-/obj/machinery/portable_atmospherics/powered/pump/filled,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bq" = (
-/obj/machinery/light,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"br" = (
-/obj/machinery/vending/medical{
- density = 0;
- pixel_y = -32;
- req_access = null
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bs" = (
-/obj/structure/closet/medical_wall{
- pixel_x = 32;
- pixel_y = 0
- },
-/obj/item/weapon/storage/firstaid/clotting,
-/obj/item/weapon/storage/firstaid/bonemed,
-/obj/item/weapon/storage/firstaid/adv,
-/obj/item/weapon/storage/firstaid/adv,
-/obj/item/weapon/storage/firstaid/fire,
-/obj/item/weapon/storage/firstaid/fire,
-/obj/item/weapon/storage/firstaid/o2,
-/obj/item/weapon/storage/firstaid/o2,
-/obj/item/weapon/storage/firstaid/toxin,
-/obj/item/weapon/storage/firstaid/toxin,
-/obj/item/weapon/storage/firstaid/combat,
-/obj/item/weapon/storage/firstaid/combat,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bt" = (
-/obj/machinery/door/airlock/multi_tile/glass{
- dir = 4;
- req_access = list(103)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bu" = (
+/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced,
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/ionrifle,
-/obj/item/weapon/gun/energy/ionrifle,
-/obj/item/weapon/gun/energy/ionrifle/pistol,
-/obj/item/weapon/gun/energy/ionrifle/pistol,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/obj/item/weapon/cell/device/weapon,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bv" = (
-/obj/machinery/door/window/southleft{
- name = "Cargo Hold";
- req_access = list(103)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bw" = (
-/obj/structure/window/reinforced,
-/obj/structure/table/rack/steel,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/ammo_magazine/m9mm/large/preban,
-/obj/item/weapon/gun/projectile/p92x/large/preban,
-/obj/item/weapon/gun/projectile/p92x/large/preban,
-/obj/item/weapon/gun/projectile/p92x/large/preban,
-/obj/item/weapon/gun/projectile/p92x/large/preban,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bx" = (
-/obj/machinery/door/window/southright{
- name = "Cargo Hold";
- req_access = list(103)
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"by" = (
-/obj/structure/window/reinforced,
-/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/weapon/gun/projectile/automatic/sts35,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/obj/item/ammo_magazine/m545,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bz" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/window/reinforced,
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bA" = (
-/obj/machinery/atmospherics/pipe/tank/air{
- dir = 1;
- start_pressure = 740.5
- },
-/obj/effect/floor_decal/industrial/outline,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bB" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/weapon/storage/box/pillbottles,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bC" = (
-/obj/structure/closet/crate/medical,
-/obj/item/weapon/storage/mre/menu11,
-/obj/item/weapon/storage/mre/menu11,
-/obj/item/weapon/storage/mre/menu11,
-/obj/item/weapon/storage/mre/menu11,
-/obj/item/stack/nanopaste/advanced,
-/obj/item/stack/nanopaste/advanced,
-/obj/item/stack/nanopaste/advanced,
-/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,
-/obj/item/weapon/storage/pill_bottle/iron,
-/obj/item/weapon/storage/pill_bottle/iron,
-/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/extinguisher/mini,
-/obj/item/weapon/storage/box/syringes,
-/obj/item/weapon/storage/box/syringes{
- pixel_x = 2;
- pixel_y = 2
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bD" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 8
+/obj/machinery/door/blast/regular/open{
+ dir = 8;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
},
/obj/structure/window/reinforced{
dir = 1
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bE" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"dV" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/glasses/thermal,
+/obj/item/clothing/glasses/thermal,
+/obj/item/clothing/glasses/thermal,
+/obj/item/clothing/glasses/thermal,
+/obj/item/clothing/glasses/thermal,
+/obj/item/clothing/glasses/thermal,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"dW" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
},
-/obj/structure/window/reinforced{
- dir = 4
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"dX" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 1
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/engineering{
+ req_one_access = list(103)
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bF" = (
-/obj/machinery/vending/security,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bG" = (
-/obj/machinery/atm{
- pixel_x = 0;
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"dY" = (
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/door/firedoor/multi_tile,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"ee" = (
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/int_door,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"ef" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/machinery/firealarm/alarms_hidden{
pixel_y = 26
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bH" = (
-/obj/machinery/light{
- dir = 1
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bI" = (
-/obj/machinery/vending/nifsoft_shop{
- categories = 111;
- emagged = 1;
- name = "Hacked NIFSoft Shop";
- prices = list()
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bJ" = (
-/obj/machinery/door/airlock/multi_tile/glass{
- req_access = list(103)
- },
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"bK" = (
-/obj/machinery/sleep_console{
- dir = 8
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bL" = (
-/obj/machinery/sleeper{
- dir = 4
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bM" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/weapon/paper_bin{
- pixel_x = -3;
- pixel_y = 8
- },
-/obj/item/weapon/pen{
- pixel_y = 4
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bN" = (
-/obj/machinery/vending/food,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bO" = (
-/obj/structure/toilet,
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bP" = (
-/obj/structure/sink{
- icon_state = "sink";
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
-/obj/machinery/light/small,
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bQ" = (
-/obj/structure/mirror{
- pixel_x = 0;
- pixel_y = 28
- },
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bR" = (
-/obj/structure/curtain/open/shower,
-/obj/machinery/shower{
- pixel_y = 3
- },
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bS" = (
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"eg" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/rig/ert/security,
-/obj/item/weapon/rig/ert/security,
-/obj/item/weapon/rig/ert/security,
-/obj/item/weapon/rig/ert/security,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bT" = (
-/obj/structure/closet/crate/medical,
-/obj/item/weapon/storage/box/autoinjectors,
-/obj/item/weapon/storage/box/beakers,
-/obj/item/device/defib_kit/compact/combat/loaded,
-/obj/item/device/defib_kit/compact/combat/loaded,
-/obj/item/weapon/storage/box/bodybags,
-/obj/item/weapon/storage/box/bodybags{
- pixel_x = 2;
- pixel_y = 2
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/item/clothing/glasses/night,
+/obj/machinery/atm{
+ pixel_y = 26
},
-/obj/item/weapon/storage/box/gloves,
-/obj/item/weapon/storage/box/freezer,
-/obj/item/weapon/storage/box/masks,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bU" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"es" = (
+/obj/structure/closet/crate{
+ dir = 2
},
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/item/ammo_magazine/m9mml/ap,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"et" = (
+/obj/machinery/atmospherics/pipe/manifold4w/visible/fuel,
/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 4
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular/open{
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
},
/obj/structure/window/reinforced{
dir = 8
},
-/obj/structure/window/reinforced{
- dir = 1
+/turf/simulated/floor/plating,
+/area/ship/ert/engine)
+"eD" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med)
+"eF" = (
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"eH" = (
+/obj/structure/sign/department/cargo{
+ name = "ENGINEERING SUPPLIES"
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"bV" = (
-/obj/structure/frame/computer,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"bW" = (
-/obj/machinery/light{
+/turf/simulated/wall/rshull,
+/area/ship/ert/bridge)
+"eI" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/item/device/perfect_tele_beacon/stationary{
- tele_name = "ERT";
- tele_network = "centcom"
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
},
-/obj/machinery/newscaster{
- pixel_x = 32
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"eP" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/item/weapon/storage/box/cdeathalarm_kit,
+/obj/item/weapon/storage/box/cdeathalarm_kit,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"eX" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/item/weapon/storage/box/backup_kit,
+/obj/item/weapon/storage/box/backup_kit,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ff" = (
+/obj/machinery/vending/fitness,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"fj" = (
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ dir = 4;
+ id = "NRV_DELTA";
+ layer = 4
},
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"bX" = (
-/obj/machinery/door/airlock/silver{
- name = "Toilet"
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"fk" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 4
},
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bY" = (
-/obj/machinery/door/airlock/silver{
- name = "Restroom"
+/obj/machinery/meter,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ name = "VB APC - South";
+ pixel_y = -24
},
-/turf/simulated/shuttle/floor/white,
-/area/shuttle/specops/centcom)
-"bZ" = (
-/obj/structure/undies_wardrobe,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ca" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/armor/vest/ert/security,
-/obj/item/clothing/suit/armor/vest/ert/security,
-/obj/item/clothing/suit/armor/vest/ert/security,
-/obj/item/clothing/suit/armor/vest/ert/security,
-/obj/item/clothing/head/helmet/ert/security,
-/obj/item/clothing/head/helmet/ert/security,
-/obj/item/clothing/head/helmet/ert/security,
-/obj/item/clothing/head/helmet/ert/security,
-/obj/item/weapon/storage/backpack/ert/security,
-/obj/item/weapon/storage/backpack/ert/security,
-/obj/item/weapon/storage/backpack/ert/security,
-/obj/item/weapon/storage/backpack/ert/security,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cb" = (
-/obj/item/taperoll/police,
-/obj/item/taperoll/police,
-/obj/item/taperoll/police,
-/obj/item/taperoll/police,
-/obj/item/taperoll/police,
-/obj/item/taperoll/police,
-/obj/item/device/flash,
-/obj/item/device/flash,
-/obj/item/device/flash,
-/obj/item/device/flash,
-/obj/item/device/flash,
-/obj/item/device/flash,
-/obj/structure/table/rack/steel,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cc" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/box/flashbangs,
-/obj/item/weapon/storage/box/flashbangs,
-/obj/item/weapon/storage/box/flashbangs,
-/obj/item/weapon/storage/box/emps{
- pixel_x = 4;
- pixel_y = 4
+/obj/structure/cable/yellow,
+/obj/machinery/light/small{
+ dir = 4
},
-/obj/item/weapon/storage/box/smokes,
-/obj/item/weapon/storage/box/smokes,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cd" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/box/handcuffs,
-/obj/item/weapon/storage/box/handcuffs{
- pixel_x = 3;
- pixel_y = 3
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"fx" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/rig_module/rescue_pharm,
+/obj/item/rig_module/sprinter,
+/obj/item/rig_module/sprinter,
+/obj/machinery/light/no_nightshift{
+ dir = 8
},
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"ce" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_vest,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/obj/item/clothing/accessory/storage/black_drop_pouches,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cf" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/tool/crowbar,
-/obj/item/weapon/tool/crowbar,
-/obj/item/weapon/tool/crowbar,
-/obj/item/weapon/tool/crowbar,
-/obj/item/weapon/tool/crowbar,
-/obj/item/weapon/tool/crowbar,
-/obj/item/device/flashlight,
-/obj/item/device/flashlight,
-/obj/item/device/flashlight,
-/obj/item/device/flashlight,
-/obj/item/device/flashlight,
-/obj/item/device/flashlight,
-/obj/item/device/radio/off,
-/obj/item/device/radio/off,
-/obj/item/device/radio/off,
-/obj/item/device/radio/off,
-/obj/item/device/radio/off,
-/obj/item/device/radio/off,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cg" = (
-/obj/machinery/power/thermoregulator,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"ch" = (
-/obj/machinery/portable_atmospherics/powered/scrubber,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"ci" = (
-/obj/machinery/portable_atmospherics/canister/air,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cj" = (
-/obj/machinery/power/emitter,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"ck" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = -23
+ },
+/obj/item/rig_module/sprinter,
+/obj/item/rig_module/sprinter,
+/obj/item/rig_module/rescue_pharm,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"fE" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/rig_module/mounted,
+/obj/item/rig_module/mounted/egun,
+/obj/item/rig_module/mounted/egun,
+/obj/item/rig_module/mounted,
+/obj/item/rig_module/mounted/egun,
+/obj/item/rig_module/mounted/egun,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"fP" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/rig_module/chem_dispenser/combat,
+/obj/item/rig_module/chem_dispenser/combat,
+/obj/item/rig_module/chem_dispenser/injector,
+/obj/item/rig_module/chem_dispenser/injector,
+/obj/item/rig_module/device/healthscanner,
+/obj/item/rig_module/device/healthscanner,
+/obj/item/rig_module/device/healthscanner,
+/obj/item/rig_module/device/healthscanner,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"fU" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/rig_module/device/rcd,
+/obj/item/rig_module/device/rcd,
+/obj/item/rig_module/device/plasmacutter,
+/obj/item/rig_module/device/plasmacutter,
+/obj/item/rig_module/device/rcd,
+/obj/item/rig_module/device/rcd,
+/obj/item/rig_module/device/plasmacutter,
+/obj/item/rig_module/device/plasmacutter,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"fZ" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/rig_module/device/drill,
+/obj/item/rig_module/device/drill,
+/obj/item/rig_module/maneuvering_jets,
+/obj/item/rig_module/maneuvering_jets,
+/obj/item/rig_module/maneuvering_jets,
+/obj/item/rig_module/maneuvering_jets,
+/obj/item/rig_module/maneuvering_jets,
+/obj/item/rig_module/maneuvering_jets,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"ga" = (
+/obj/structure/sign/department/operational{
+ name = "MEDICAL & SURGERY"
+ },
+/turf/simulated/wall/shull,
+/area/ship/ert/med_surg)
+"gf" = (
/obj/machinery/bodyscanner{
dir = 8
},
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cl" = (
-/obj/machinery/body_scanconsole,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cm" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"gh" = (
+/obj/machinery/mech_recharger,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/mecha/combat/gygax/serenity,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"gk" = (
+/obj/machinery/shieldwallgen,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"gn" = (
+/obj/machinery/light/no_nightshift,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_y = -23
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"gw" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,
+/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/medanalyzer,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flare,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/medigun,
+/obj/item/mecha_parts/mecha_equipment/tool/sleeper,
+/obj/item/mecha_parts/mecha_equipment/tool/sleeper,
+/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"gx" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/melee/baton,
+/obj/item/weapon/melee/baton,
+/obj/item/weapon/melee/baton,
+/obj/item/weapon/melee/baton,
+/obj/item/weapon/shield/riot,
+/obj/item/weapon/shield/riot,
+/obj/item/weapon/shield/riot,
+/obj/item/weapon/shield/riot,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = 5
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -4
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -12
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"gy" = (
+/obj/machinery/mech_recharger,
+/obj/mecha/combat/gygax,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"gA" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"gF" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/shocker,
+/obj/item/mecha_parts/mecha_equipment/shocker,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "VB APC - North";
+ pixel_y = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"gN" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"gR" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"gW" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,
+/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,
+/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,
+/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"gX" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/emps,
+/obj/item/weapon/storage/box/emps,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"gZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"ha" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"hj" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/combat_shield,
+/obj/item/mecha_parts/mecha_equipment/combat_shield,
+/obj/item/mecha_parts/mecha_equipment/omni_shield,
+/obj/item/mecha_parts/mecha_equipment/repair_droid,
+/obj/item/mecha_parts/mecha_equipment/repair_droid,
+/obj/item/mecha_parts/mecha_equipment/repair_droid,
+/obj/item/mecha_parts/mecha_equipment/repair_droid,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"hk" = (
+/obj/structure/table/rack/steel,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"hs" = (
+/obj/machinery/pointdefense_control{
+ id_tag = "vonbraun_pd"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"hv" = (
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"hx" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"hH" = (
+/obj/machinery/airlock_sensor{
+ pixel_y = 21
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"hN" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"hP" = (
+/obj/machinery/autolathe{
+ desc = "Your typical Autolathe. It appears to have much more options than your regular one, however...";
+ hacked = 1;
+ name = "Unlocked Autolathe"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"hS" = (
/obj/structure/closet/crate/freezer,
/obj/item/weapon/reagent_containers/blood/OMinus,
/obj/item/weapon/reagent_containers/blood/OMinus,
@@ -1136,193 +970,1161 @@
/obj/item/weapon/reagent_containers/blood/OMinus,
/obj/item/weapon/reagent_containers/blood/OMinus,
/obj/item/weapon/reagent_containers/blood/OMinus,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cn" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_y = -23
},
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 4
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"hU" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"hV" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"hW" = (
+/obj/effect/floor_decal/industrial/warning/corner{
+ dir = 1
+ },
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hangar)
+"hY" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_star)
+"ia" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/accessory/holster/leg,
+/obj/item/clothing/accessory/holster/leg,
+/obj/item/clothing/accessory/holster/leg,
+/obj/item/clothing/accessory/holster/leg,
+/obj/item/clothing/accessory/holster/leg,
+/obj/item/clothing/accessory/holster/leg,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"ib" = (
+/obj/effect/floor_decal/industrial/warning/corner{
+ dir = 8
+ },
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hangar)
+"ij" = (
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"ik" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"ip" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"ix" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/obj/structure/sign/warning/airlock{
+ pixel_y = -32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"iy" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"iA" = (
/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 8
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"iB" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/dock_port)
+"iC" = (
+/obj/item/device/healthanalyzer/advanced,
+/obj/item/device/healthanalyzer/advanced,
+/obj/item/device/healthanalyzer/advanced,
+/obj/structure/table/rack/steel,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"co" = (
-/obj/machinery/computer/shuttle_control/multi/specops{
- icon_state = "computer";
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"iO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"iR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cp" = (
-/obj/structure/bed/chair{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
},
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cq" = (
-/obj/machinery/door/airlock/command{
- name = "Bridge";
- req_access = list(103)
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"iW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cr" = (
-/obj/structure/noticeboard{
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"iX" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"jn" = (
+/obj/machinery/chem_master,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"jv" = (
+/obj/machinery/computer/cryopod/ert{
pixel_y = 32
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cs" = (
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"jz" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"jA" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"jD" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"jI" = (
+/obj/machinery/teleport/station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"jK" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Engineering";
+ req_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"jQ" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"jU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"jY" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"kf" = (
/obj/structure/table/rack/steel,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/night,
-/obj/item/clothing/glasses/graviton,
-/obj/item/clothing/glasses/graviton,
-/obj/item/clothing/glasses/graviton,
-/obj/item/clothing/glasses/graviton,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"ct" = (
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/weapon/gun/projectile/automatic/pdw,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/item/ammo_magazine/m9mml,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"kh" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"ki" = (
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"kl" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"km" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"kn" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/gun/energy/stunrevolver,
-/obj/item/weapon/gun/energy/stunrevolver,
-/obj/item/weapon/gun/energy/stunrevolver,
-/obj/item/weapon/gun/energy/stunrevolver,
-/obj/item/weapon/gun/energy/taser,
-/obj/item/weapon/gun/energy/taser,
-/obj/item/weapon/gun/energy/taser,
-/obj/item/weapon/gun/energy/taser,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cu" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/material/knife/tacknife/combatknife,
-/obj/item/weapon/melee/baton/loaded,
-/obj/item/weapon/melee/baton/loaded,
-/obj/item/weapon/melee/baton/loaded,
-/obj/item/weapon/melee/baton/loaded,
-/obj/item/weapon/melee/baton/loaded,
-/obj/item/weapon/melee/baton/loaded,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cv" = (
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/mortar,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"kt" = (
+/obj/machinery/door/blast/regular/open{
+ id = "ERT_Shuttle_Rear";
+ name = "Boarding Hatch"
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "ERT_Shuttle_Rear";
+ name = "ERT Shuttle Access";
+ pixel_y = 24;
+ req_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"kx" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"kz" = (
+/obj/structure/closet/crate{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
+/obj/item/weapon/plastique,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"kG" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"kJ" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/atmos)
+"kL" = (
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"kM" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"kO" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/barracks)
+"kP" = (
+/obj/machinery/atmospherics/pipe/tank/air{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"kS" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"kT" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"kW" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/dock_star)
+"kX" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 1
+ },
+/turf/simulated/wall/shull,
+/area/ship/ert/dock_star)
+"kY" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"lm" = (
+/obj/effect/floor_decal/industrial/outline/blue,
+/obj/machinery/portable_atmospherics/canister/carbon_dioxide/engine_setup,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"lq" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"ls" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/empty,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"lu" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"lv" = (
+/obj/structure/closet/wardrobe/ert,
+/obj/item/modular_computer/tablet/preset/custom_loadout/elite,
+/obj/item/weapon/storage/box/survival/comp{
+ starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"lx" = (
+/obj/machinery/door/airlock/external,
+/obj/machinery/airlock_sensor/airlock_exterior{
+ pixel_x = 24;
+ pixel_y = -11
+ },
+/obj/effect/map_helper/airlock/door/ext_door,
+/obj/effect/map_helper/airlock/sensor/ext_sensor,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"lz" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"lB" = (
+/obj/item/modular_computer/console/preset/engineering{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"lL" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"lO" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"lR" = (
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"lV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"lX" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 23
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"lZ" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"mb" = (
/obj/structure/table/rack/steel,
/obj/item/weapon/storage/belt/security/tactical,
/obj/item/weapon/storage/belt/security/tactical,
/obj/item/weapon/storage/belt/security/tactical,
/obj/item/weapon/storage/belt/security/tactical,
+/obj/item/weapon/storage/belt/security/tactical,
+/obj/item/weapon/storage/belt/security/tactical,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cw" = (
+/obj/item/clothing/glasses/sunglasses/sechud/tactical,
+/obj/item/clothing/glasses/sunglasses/sechud/tactical,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"mh" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"mj" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"mq" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"mr" = (
+/obj/structure/reagent_dispensers/water_cooler/full,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"mt" = (
+/obj/structure/cable/green,
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/green{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/green{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"my" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"mC" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"mF" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"mH" = (
+/obj/structure/bed/chair/bay/shuttle,
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = 5
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -4
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -12
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"mI" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1;
+ req_one_access = list(103)
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 1;
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"mJ" = (
+/obj/structure/table/steel_reinforced,
+/obj/fiftyspawner/durasteel,
+/obj/fiftyspawner/durasteel,
+/obj/fiftyspawner/durasteel,
+/obj/fiftyspawner/durasteel,
+/obj/fiftyspawner/titanium_glass,
+/obj/fiftyspawner/titanium_glass,
+/obj/fiftyspawner/titanium_glass,
+/obj/fiftyspawner/titanium_glass,
+/obj/fiftyspawner/plastitanium_glass,
+/obj/fiftyspawner/plastitanium_glass,
+/obj/fiftyspawner/plastitanium_glass,
+/obj/fiftyspawner/plastitanium_glass,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"mN" = (
+/obj/machinery/sleep_console{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"mR" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"mT" = (
+/obj/structure/cable/yellow{
+ 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 = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"mV" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/barracks)
+"mZ" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 1;
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"na" = (
+/obj/machinery/airlock_sensor{
+ pixel_y = -23
+ },
+/obj/effect/map_helper/airlock/sensor/int_sensor,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"nb" = (
/obj/structure/table/rack/steel,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/waist,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/hip,
-/obj/item/clothing/accessory/holster/armpit,
-/obj/item/clothing/accessory/holster/armpit,
-/obj/item/clothing/accessory/holster/armpit,
-/obj/item/clothing/accessory/holster/armpit,
-/obj/item/clothing/accessory/holster/armpit,
-/obj/item/clothing/accessory/holster/armpit,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cx" = (
-/obj/machinery/power/port_gen/pacman,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cy" = (
+/obj/item/weapon/gun/energy/xray,
+/obj/item/weapon/gun/energy/xray,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/machinery/light/no_nightshift,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"nc" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/barracks)
+"nl" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med_surg)
+"nn" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Engineering";
+ req_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"no" = (
+/obj/machinery/photocopier,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"np" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"nt" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nv" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nx" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass_engineeringatmos{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/atmos)
+"nz" = (
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nB" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nC" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_star)
+"nM" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"nP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/mech_bay)
+"nR" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang,
+/obj/effect/floor_decal/industrial/outline/red,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"nX" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/engine{
+ dir = 4
+ },
+/turf/space,
+/area/ship/ert/engine)
+"nY" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"oa" = (
+/obj/structure/table/rack,
+/obj/item/weapon/hand_tele,
+/obj/item/device/perfect_tele,
+/obj/item/device/binoculars,
+/obj/item/device/survivalcapsule,
+/obj/item/device/survivalcapsule,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"og" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/machinery/door/blast/regular/open{
+ dir = 8;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"oi" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/hangar)
+"oj" = (
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"ok" = (
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"op" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"os" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"oy" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"oC" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"oN" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_near_fore,
+/turf/space,
+/area/space)
+"oO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"oQ" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"oV" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"oW" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"oX" = (
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/weapon/storage/backpack/ert/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
+/obj/item/clothing/suit/space/void/responseteam/engineer,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"pa" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/weapon/storage/belt/medical/emt,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/item/clothing/accessory/storage/white_vest,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"pb" = (
/obj/structure/medical_stand,
/obj/structure/sink{
dir = 4;
- icon_state = "sink";
pixel_x = 12;
pixel_y = 8
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cz" = (
-/obj/structure/table/steel_reinforced,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cA" = (
-/obj/structure/table/steel_reinforced,
-/obj/machinery/button/remote/blast_door{
- id = "ertbridgeshutters";
- name = "remote shutter control";
- pixel_x = 30;
- req_access = list(150)
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"pd" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/machinery/light/no_nightshift,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"pf" = (
+/obj/effect/landmark/map_data/ert_ship,
+/turf/space,
+/area/space)
+"pm" = (
+/obj/effect/floor_decal/corner/yellow{
+ dir = 9
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cB" = (
-/obj/machinery/computer/teleporter{
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"pn" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/weapon/storage/backpack/ert/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/item/clothing/suit/space/void/responseteam/medical,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"po" = (
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medical Bay";
+ req_access = list(103)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"pq" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/box/syringes,
+/obj/item/weapon/storage/box/syringes,
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/weapon/storage/box/bodybags,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"pt" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/suit/space/void/responseteam/janitor,
+/obj/item/clothing/suit/space/void/responseteam/janitor,
+/obj/item/clothing/suit/space/void/responseteam/janitor,
+/obj/item/clothing/suit/space/void/responseteam/janitor,
+/obj/item/weapon/storage/belt/janitor,
+/obj/item/weapon/storage/belt/janitor,
+/obj/item/weapon/storage/belt/janitor,
+/obj/item/weapon/storage/belt/janitor,
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"pv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"pz" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/multi_tile{
dir = 1
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cC" = (
-/obj/machinery/teleport/station,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cD" = (
-/obj/machinery/teleport/hub,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cE" = (
-/obj/machinery/light,
-/obj/structure/table/standard,
-/obj/item/weapon/soap,
-/obj/item/weapon/soap,
-/obj/item/weapon/soap,
-/obj/item/weapon/soap,
-/obj/item/weapon/towel{
- color = "#0000FF"
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 1;
+ req_one_access = list(103)
},
-/obj/item/weapon/towel{
- color = "#0000FF"
- },
-/obj/item/weapon/towel{
- color = "#0000FF"
- },
-/obj/item/weapon/towel{
- color = "#0000FF"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cF" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"pA" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"pG" = (
/obj/structure/closet{
name = "custodial"
},
@@ -1343,107 +2145,84 @@
/obj/item/device/lightreplacer,
/obj/item/weapon/storage/box/lights/mixed,
/obj/item/weapon/storage/box/lights/mixed,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cH" = (
-/obj/structure/table/glass,
-/obj/item/roller/adv,
-/obj/item/roller/adv{
- pixel_y = 6
- },
-/obj/item/roller/adv{
- pixel_y = 12
- },
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"cI" = (
-/obj/machinery/light{
- dir = 4;
- icon_state = "tube1"
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"pI" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/weapon/gun/projectile/automatic/sts35,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ext,
+/obj/item/ammo_magazine/m545/ap/ext,
+/obj/item/ammo_magazine/m545/ap/ext,
+/obj/item/ammo_magazine/m545/ap/ext,
+/obj/item/ammo_magazine/m545/ap/ext,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"pK" = (
+/obj/structure/sign/department/eng{
+ name = "RIG AND MECH BAY"
},
+/turf/simulated/wall/shull,
+/area/ship/ert/mech_bay)
+"pM" = (
/obj/structure/table/steel_reinforced,
-/obj/item/weapon/storage/firstaid/surgery,
-/obj/item/stack/nanopaste,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cJ" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 2;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
+/obj/item/rig_module/mounted/taser,
+/obj/item/rig_module/mounted/taser,
+/obj/item/rig_module/mounted/taser,
+/obj/machinery/light/no_nightshift{
dir = 8
},
-/obj/structure/window/reinforced{
- dir = 1
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
},
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"cK" = (
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 2;
- icon_state = "shutter0";
- id = "ertbridgeshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/item/rig_module/mounted/taser,
+/obj/item/rig_module/mounted/taser,
+/obj/item/rig_module/mounted/taser,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"pN" = (
+/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{
+ dir = 8;
+ id_tag = "von_braun_star";
+ master_tag = "von_braun_master";
+ name = "Starboard Docking Control";
+ pixel_x = 22
},
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"cL" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"pS" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_near_port,
+/turf/space,
+/area/space)
+"pU" = (
+/obj/machinery/body_scanconsole,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"pV" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/atmos)
+"pW" = (
/obj/structure/table/rack/steel,
-/obj/item/weapon/melee/energy/sword/blue,
-/obj/item/weapon/melee/energy/sword/blue,
-/obj/item/weapon/melee/energy/sword/blue,
-/obj/item/weapon/melee/energy/sword/blue,
-/obj/item/weapon/melee/energy/sword/blue,
-/obj/item/weapon/shield/energy,
-/obj/item/weapon/shield/energy,
-/obj/item/weapon/shield/energy,
-/obj/item/weapon/shield/energy,
-/obj/item/weapon/shield/energy,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cM" = (
-/obj/machinery/shieldwallgen,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cN" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cO" = (
-/obj/machinery/computer/operating{
- dir = 1
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cP" = (
-/obj/machinery/optable,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cQ" = (
-/obj/machinery/oxygen_pump/anesthetic,
-/turf/simulated/shuttle/wall/dark/hard_corner,
-/area/shuttle/specops/centcom)
-"cR" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
+/obj/item/weapon/gun/energy/plasmastun,
+/obj/item/weapon/gun/energy/plasmastun,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"pY" = (
/obj/structure/table/steel_reinforced,
/obj/item/weapon/cell/hyper,
/obj/item/weapon/cell/hyper,
@@ -1458,162 +2237,1355 @@
/obj/item/weapon/cell/hyper,
/obj/item/weapon/cell/hyper,
/obj/item/weapon/cell/hyper,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cS" = (
-/obj/machinery/door/window/northleft{
- name = "Cargo Hold";
- req_access = list(103)
+/obj/item/weapon/tool/screwdriver,
+/obj/item/weapon/tool/wrench,
+/obj/item/weapon/tool/crowbar,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qa" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/rig/ert/security,
+/obj/item/weapon/rig/ert/security,
+/obj/item/weapon/rig/ert/security,
+/obj/item/weapon/rig/ert/security,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qd" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/rig/ert/engineer,
+/obj/item/weapon/rig/ert/engineer,
+/obj/item/weapon/rig/ert/engineer,
+/obj/item/weapon/rig/ert/engineer,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"ql" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cT" = (
-/obj/structure/window/reinforced{
- dir = 1
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"qo" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/rig/ert/medical,
+/obj/item/weapon/rig/ert/medical,
+/obj/item/weapon/rig/ert/medical,
+/obj/item/weapon/rig/ert/medical,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qt" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
/obj/structure/table/steel_reinforced,
-/obj/item/weapon/storage/belt/utility/full,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cU" = (
-/obj/machinery/door/window/northright{
- name = "Cargo Hold";
- req_access = list(103)
+/obj/fiftyspawner/uranium,
+/obj/fiftyspawner/uranium,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"qy" = (
+/obj/structure/sign/department/eng{
+ desc = "ACCESS VIA DIRECT AUTHORIZATION FROM CENTRAL ONLY.";
+ name = "MECH BAY"
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cV" = (
-/obj/structure/window/reinforced{
+/turf/simulated/wall/rshull,
+/area/ship/ert/mech_bay)
+"qz" = (
+/obj/mecha/working/ripley/firefighter,
+/obj/machinery/mech_recharger,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qA" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
dir = 1
},
-/obj/structure/dispenser/oxygen,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cW" = (
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"qD" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,
+/obj/item/mecha_parts/mecha_equipment/tool/rcd,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/prybar,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver,
+/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding,
+/obj/item/mecha_parts/mecha_equipment/speedboost,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qE" = (
+/obj/machinery/mech_recharger,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/mecha/combat/durand,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qF" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/eng_storage)
+"qQ" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/gravcatapult,
+/obj/item/mecha_parts/mecha_equipment/wormhole_generator,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qR" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"qS" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/tool/jetpack,
+/obj/item/mecha_parts/mecha_equipment/tool/jetpack,
+/obj/item/mecha_parts/mecha_equipment/tool/jetpack,
+/obj/item/mecha_parts/mecha_equipment/tool/jetpack,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"qT" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"rp" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/xray,
+/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/xray,
+/obj/machinery/light/no_nightshift,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"rr" = (
+/obj/structure/table/rack/steel,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/frag,
+/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/frag,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"rs" = (
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"rt" = (
/obj/machinery/atmospherics/pipe/tank/air{
- dir = 2;
+ dir = 4;
start_pressure = 740.5
},
-/obj/effect/floor_decal/industrial/outline,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cX" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_y = 32
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"ry" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cY" = (
-/obj/machinery/vending/engivend,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"cZ" = (
-/obj/machinery/vending/assist,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"da" = (
-/obj/structure/table/rack,
-/obj/item/weapon/rig/ert,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"db" = (
-/obj/machinery/button/remote/blast_door{
- id = "ertportshutters";
- name = "remote shutter control";
- pixel_x = 30;
- req_access = list(160)
- },
-/obj/structure/table/rack,
-/obj/item/clothing/suit/space/void/responseteam/command,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dc" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/mounted/taser,
-/obj/item/rig_module/mounted/taser,
-/obj/item/rig_module/mounted/taser,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dd" = (
-/obj/effect/floor_decal/industrial/warning{
- dir = 10
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"de" = (
-/obj/effect/floor_decal/industrial/warning,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"df" = (
-/obj/effect/floor_decal/industrial/warning{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dg" = (
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/device/drill,
-/obj/item/rig_module/device/drill,
-/obj/item/rig_module/maneuvering_jets,
-/obj/item/rig_module/maneuvering_jets,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dh" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"rA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"rD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"rM" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"rO" = (
+/obj/machinery/shipsensors{
+ dir = 4
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"rR" = (
+/obj/machinery/atmospherics/pipe/tank/phoron{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"rS" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"rV" = (
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medical Bay";
+ req_access = list(103)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/multi_tile,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"sd" = (
+/obj/effect/floor_decal/corner/yellow{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/med)
+"sf" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/reagent_containers/glass/beaker/large,
+/obj/machinery/chemical_dispenser/ert,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"so" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/machinery/light/no_nightshift,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"sp" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/commander)
+"sq" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/dock_port)
+"sr" = (
+/obj/machinery/vending/food,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"sw" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"sz" = (
+/obj/structure/closet/wardrobe/ert,
+/obj/item/modular_computer/tablet/preset/custom_loadout/elite,
+/obj/item/weapon/storage/box/survival/comp{
+ starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
+ },
+/obj/machinery/light/no_nightshift,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"sA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/item/modular_computer/console/preset/medical{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"sB" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hallways_aft)
+"sC" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"sF" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/glasses/graviton,
+/obj/item/clothing/glasses/graviton,
+/obj/item/clothing/glasses/graviton,
+/obj/item/clothing/glasses/graviton,
+/obj/item/clothing/glasses/graviton,
+/obj/item/clothing/glasses/graviton,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"sH" = (
+/obj/machinery/computer/ship/sensors,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"sJ" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/item/clothing/accessory/storage/black_vest,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"sS" = (
+/obj/machinery/shieldwallgen,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"sT" = (
+/obj/machinery/cryopod/ert_ship,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"sU" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/med)
+"sW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"sX" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"ta" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/multi_tile,
+/obj/machinery/door/airlock/multi_tile/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"tb" = (
+/obj/machinery/telecomms/allinone/talon,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"tg" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"tp" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"tx" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"tA" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"tE" = (
+/obj/structure/sign/department/dock{
+ name = "ROBINEAU DOCK"
+ },
+/turf/simulated/wall/shull,
+/area/ship/ert/hangar)
+"tH" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/armoury_st)
+"tK" = (
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"tL" = (
+/obj/machinery/atmospherics/pipe/simple/visible/fuel{
+ dir = 9
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular/open{
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ship/ert/engine)
+"tV" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"tW" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ id_tag = "ert_boarding_shuttle";
+ pixel_x = -8;
+ pixel_y = 22
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"tX" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/mech_bay)
+"tZ" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/mech_bay)
+"ug" = (
+/obj/item/device/healthanalyzer/advanced,
+/obj/item/device/healthanalyzer/advanced,
+/obj/item/device/healthanalyzer/advanced,
+/obj/structure/table/rack/steel,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"uh" = (
+/obj/machinery/atmospherics/pipe/simple/visible/fuel{
+ dir = 10
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular/open{
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ship/ert/engine)
+"um" = (
+/obj/machinery/vending/engineering,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"un" = (
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medical Bay";
+ req_access = list(103)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"uq" = (
+/obj/structure/sign/department/medbay,
+/turf/simulated/wall/shull,
+/area/ship/ert/med_surg)
+"us" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"uu" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"ux" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"uE" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume{
+ dir = 8
+ },
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
+/obj/effect/floor_decal/industrial/warning,
+/obj/structure/sign/vacuum{
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"uG" = (
+/obj/item/modular_computer/console/preset/sysadmin{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"uJ" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"uK" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"uS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"vb" = (
+/obj/machinery/sleeper{
+ dir = 4
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"vd" = (
+/obj/machinery/atmospherics/pipe/tank/phoron{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"vg" = (
/obj/machinery/atmospherics/pipe/simple/visible,
/obj/machinery/meter,
-/obj/machinery/shield_gen,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"di" = (
-/obj/machinery/shield_capacitor,
-/turf/simulated/shuttle/floor/darkred,
-/area/shuttle/specops/centcom)
-"dj" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"vi" = (
/obj/machinery/door/airlock/glass_engineering{
name = "Engineering";
req_access = list(103)
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dk" = (
-/obj/item/weapon/circuitboard/aiupload,
-/obj/item/weapon/circuitboard/borgupload,
-/obj/item/weapon/circuitboard/smes,
-/obj/item/weapon/aiModule/nanotrasen,
-/obj/item/weapon/aiModule/reset,
-/obj/item/weapon/aiModule/freeformcore,
-/obj/item/weapon/aiModule/protectStation,
-/obj/item/weapon/aiModule/quarantine,
-/obj/item/weapon/aiModule/paladin,
-/obj/item/weapon/aiModule/robocop,
-/obj/item/weapon/aiModule/safeguard,
-/obj/structure/table/steel_reinforced,
-/obj/item/weapon/smes_coil,
-/obj/item/weapon/smes_coil,
-/obj/item/device/t_scanner/advanced,
-/obj/item/device/t_scanner/advanced,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dl" = (
-/obj/machinery/light{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"vt" = (
+/obj/effect/floor_decal/corner/yellow{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/red{
+ dir = 6
+ },
+/obj/machinery/light/no_nightshift,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_y = -23
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"vv" = (
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"vK" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"vQ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
},
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"vX" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/engineering)
+"wd" = (
+/obj/structure/sign/department/conference_room{
+ name = "OUTFITTING"
+ },
+/turf/simulated/wall/rshull,
+/area/ship/ert/bridge)
+"wi" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/multi_tile,
+/obj/machinery/door/airlock/multi_tile/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"wl" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/gun,
+/obj/item/weapon/gun/energy/gun,
+/obj/item/weapon/gun/energy/gun,
+/obj/item/weapon/gun/energy/gun,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/gun/energy/gun,
+/obj/item/weapon/gun/energy/gun,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"wn" = (
+/obj/structure/sign/department/telecoms{
+ name = "TELEPORTER"
+ },
+/turf/simulated/wall/rshull,
+/area/ship/ert/teleporter)
+"wo" = (
+/obj/machinery/light/no_nightshift,
+/obj/machinery/teleport/hub,
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"wp" = (
+/obj/machinery/sleep_console,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"wr" = (
+/obj/machinery/shipsensors{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/atmos)
+"wt" = (
/obj/structure/table/steel_reinforced,
-/obj/item/stack/cable_coil,
-/obj/item/stack/cable_coil,
-/obj/item/stack/cable_coil,
-/obj/item/stack/cable_coil,
-/obj/item/stack/cable_coil,
-/obj/item/stack/cable_coil,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/obj/item/weapon/grenade/chem_grenade/metalfoam,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dm" = (
+/obj/item/weapon/storage/firstaid/bonemed,
+/obj/item/weapon/storage/firstaid/bonemed,
+/obj/item/weapon/storage/firstaid/clotting,
+/obj/item/weapon/storage/firstaid/clotting,
+/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
+/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
+/obj/effect/floor_decal/corner/yellow{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"wO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"wU" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/hallways)
+"wX" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"wZ" = (
+/obj/machinery/oxygen_pump/anesthetic,
+/turf/simulated/wall/shull,
+/area/ship/ert/med_surg)
+"xe" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"xg" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/anti_photons,
+/obj/item/weapon/storage/box/anti_photons,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xh" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/smokes,
+/obj/item/weapon/storage/box/smokes,
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xi" = (
+/obj/item/weapon/storage/box/teargas,
+/obj/item/weapon/storage/box/teargas,
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xr" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/empslite,
+/obj/item/weapon/storage/box/empslite,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xt" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/flashbangs,
+/obj/item/weapon/storage/box/flashbangs,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xv" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/ionrifle/pistol,
+/obj/item/weapon/gun/energy/ionrifle/pistol,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/gun/energy/ionrifle,
+/obj/item/weapon/gun/energy/ionrifle,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"xx" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hallways_aft)
+"xz" = (
+/obj/structure/closet/medical_wall{
+ pixel_x = 32
+ },
+/obj/item/weapon/storage/firstaid/clotting,
+/obj/item/weapon/storage/firstaid/bonemed,
+/obj/item/weapon/storage/firstaid/adv,
+/obj/item/weapon/storage/firstaid/adv,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/combat,
+/obj/item/weapon/storage/firstaid/combat,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"xA" = (
+/obj/structure/table/rack/steel,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/item/clothing/shoes/magboots/adv,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"xC" = (
+/obj/machinery/portable_atmospherics/powered/scrubber,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"xG" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = -23
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"xM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"xO" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"xU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"xZ" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/launcher/grenade,
+/obj/item/weapon/gun/launcher/grenade,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"ya" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"yf" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/space_heater,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yg" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular/open{
+ dir = 2;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/shield_diffuser,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"yi" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/warning/corner{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yj" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/space_heater,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yl" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"yo" = (
+/obj/machinery/door/airlock/external,
+/obj/effect/map_helper/airlock/door/ext_door,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"yp" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/firstaid/fire{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/firstaid/fire{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/firstaid/adv,
+/obj/item/weapon/storage/firstaid/adv,
+/obj/effect/floor_decal/corner/yellow{
+ dir = 8
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"yv" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/pipedispenser/orderable,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yx" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/pipedispenser/disposal/orderable,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yz" = (
+/turf/space,
+/area/space)
+"yB" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yC" = (
+/obj/machinery/vending/engivend,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"yD" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/structure/sign/vacuum{
+ pixel_y = 32
+ },
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"yG" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"yI" = (
+/obj/structure/sign/department/medbay,
+/turf/simulated/wall/shull,
+/area/ship/ert/med)
+"yJ" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/chemical_dispenser/biochemistry/full,
+/obj/item/weapon/reagent_containers/glass/beaker/large,
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"yR" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/effect/catwalk_plated,
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/plating,
+/area/ship/ert/engineering)
+"yX" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/hangar)
+"yY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"za" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hangar)
+"zb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"zc" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/eng_storage)
+"zg" = (
+/obj/item/modular_computer/console/preset/engineering{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"zh" = (
+/obj/machinery/button/remote/blast_door{
+ id = "VB_Rear_Blast";
+ name = "Emergency Blast Doors";
+ pixel_y = 24;
+ req_access = list(103)
+ },
+/obj/structure/table/steel_reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"zk" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"zo" = (
+/obj/item/modular_computer/console/preset/command{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"zr" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"zs" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/hallways)
+"zB" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/effect/floor_decal/corner/blue{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"zP" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"zT" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Af" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow,
+/obj/machinery/embedded_controller/radio/docking_port_multi{
+ child_names_txt = "Port Airlock Control;Starboard Airlock Control";
+ child_tags_txt = "von_braun_port;von_braun_star";
+ dir = 1;
+ id_tag = "von_braun_master";
+ pixel_y = -22
+ },
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Ah" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/structure/table/woodentable,
+/obj/item/weapon/implantpad,
+/obj/item/weapon/implanter,
+/obj/item/weapon/storage/box/admints,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Ai" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"An" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Ao" = (
+/obj/item/modular_computer/console/preset/medical{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Aq" = (
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/item/modular_computer/console/preset/security,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Ar" = (
/obj/structure/table/steel_reinforced,
/obj/fiftyspawner/phoron,
/obj/fiftyspawner/glass,
@@ -1637,161 +3609,1152 @@
/obj/fiftyspawner/rods,
/obj/fiftyspawner/rods,
/obj/fiftyspawner/rods,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dn" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"Av" = (
+/obj/item/modular_computer/console/preset/security,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Ay" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/blast/regular{
+ id = "NRV_DELTA"
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"AI" = (
+/obj/machinery/power/thermoregulator,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"AK" = (
+/obj/item/modular_computer/console/preset/research,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"AL" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/box/pillbottles,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"AS" = (
+/obj/item/modular_computer/console/preset/medical,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"AZ" = (
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Bb" = (
+/obj/effect/floor_decal/corner/blue{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Bc" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Bf" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Bj" = (
+/obj/machinery/shieldgen,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"Bo" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/barracks)
+"Bp" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/automatic/z8,
+/obj/item/weapon/gun/projectile/automatic/z8,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
+/obj/item/ammo_magazine/m762/ap,
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_y = -23
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Bq" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"Br" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"BE" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"BF" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"BI" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engineering)
+"BU" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"BW" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Ce" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"Ci" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/eng_storage)
+"Cn" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/machinery/vending/nifsoft_shop{
+ categories = 111;
+ desc = "For all your mindware and mindware accessories. Now paid for by Central!";
+ dir = 8;
+ emagged = 1;
+ name = "ERT NIFSoft Vendor"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways)
+"Cq" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"Cr" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"Cx" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/mech_bay)
+"CH" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/fans/hardlight,
+/obj/machinery/door/blast/regular{
+ id = "Von_Braun_Hangar";
+ name = "Hangar Blast Door"
+ },
+/turf/simulated/floor/reinforced,
+/area/ship/ert/hangar)
+"CI" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
/obj/structure/window/reinforced{
dir = 4
},
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertportshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/structure/window/reinforced{
+ dir = 8
},
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"CL" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"CM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"CN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"CP" = (
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/door/airlock/multi_tile/glass{
+ dir = 1;
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"CT" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"CZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Dd" = (
/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ dir = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"Dh" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/blast/regular/open{
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
+ },
/obj/structure/window/reinforced{
dir = 8
},
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"do" = (
-/obj/structure/table/glass,
-/obj/item/weapon/hand_tele,
-/obj/item/device/perfect_tele,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dp" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/structure/table/glass,
-/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid,
-/obj/item/device/binoculars,
-/obj/item/device/survivalcapsule,
-/obj/item/device/survivalcapsule,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dq" = (
-/obj/structure/bed/chair/comfy/black,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dr" = (
-/obj/structure/table/rack,
-/obj/item/weapon/storage/backpack/ert/commander,
-/obj/item/clothing/head/helmet/ert/command,
-/obj/item/clothing/suit/armor/vest/ert/command,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ds" = (
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dt" = (
-/obj/structure/bed/chair/office/dark,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"du" = (
-/obj/machinery/shieldwallgen,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dv" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/rescue_pharm,
-/obj/item/rig_module/sprinter,
-/obj/item/rig_module/sprinter,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dw" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/mounted,
-/obj/item/rig_module/mounted/egun,
-/obj/item/rig_module/mounted/egun,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dx" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/chem_dispenser/combat,
-/obj/item/rig_module/chem_dispenser/combat,
-/obj/item/rig_module/chem_dispenser/injector,
-/obj/item/rig_module/chem_dispenser/injector,
-/obj/item/rig_module/device/healthscanner,
-/obj/item/rig_module/device/healthscanner,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dy" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/rig_module/device/rcd,
-/obj/item/rig_module/device/rcd,
-/obj/item/rig_module/device/plasmacutter,
-/obj/item/rig_module/device/plasmacutter,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dz" = (
-/obj/structure/table/steel_reinforced,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas/half,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dA" = (
-/obj/machinery/atmospherics/pipe/simple/visible,
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1";
- pixel_y = 0
- },
-/obj/machinery/shield_gen/external,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dB" = (
-/obj/machinery/autolathe{
- desc = "Your typical Autolathe. It appears to have much more options than your regular one, however...";
- hacked = 1;
- name = "Unlocked Autolathe"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dC" = (
/obj/structure/window/reinforced{
dir = 4
},
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 8;
- icon_state = "shutter0";
- id = "ertportshutters";
- name = "Blast Shutters";
- opacity = 0
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Di" = (
+/obj/machinery/vending/medical{
+ req_access = null
},
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 8
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Dn" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
},
-/obj/structure/window/reinforced,
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"dD" = (
-/obj/machinery/door/airlock/command{
- name = "Captain's Quarters";
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"Do" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"Dt" = (
+/obj/structure/railing/grey,
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/table/steel_reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Du" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 1;
+ id = "ERT_Shuttle_Fore";
+ name = "ERT Deployment Access";
+ pixel_y = -25;
req_access = list(103)
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dE" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Dx" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/obj/structure/sign/warning/airlock{
+ pixel_y = 32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"DJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"DK" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"DM" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/firstaid/surgery,
+/obj/item/weapon/storage/firstaid/surgery,
+/obj/item/weapon/surgical/bone_clamp,
+/obj/item/weapon/surgical/bone_clamp,
+/obj/item/weapon/surgical/scalpel/manager,
+/obj/item/weapon/surgical/scalpel/manager,
+/obj/item/weapon/surgical/circular_saw/manager,
+/obj/item/weapon/surgical/circular_saw/manager,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"DN" = (
+/obj/machinery/atmospherics/unary/engine{
+ dir = 4
+ },
+/turf/space,
+/area/ship/ert/engine)
+"DQ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"DR" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "VB APC - North";
+ pixel_y = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"DS" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/hallways_aft)
+"Ec" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/weapon/storage/backpack/ert/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/item/clothing/suit/space/void/responseteam/security,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"Ed" = (
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/yellow{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/sign/warning/engineering_access{
+ pixel_x = -32
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"Ee" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/powered/pump/filled,
+/obj/machinery/light/no_nightshift,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"Eh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Eo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"Eq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Ez" = (
+/obj/structure/bed/chair/office/dark{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"EA" = (
+/obj/structure/table/woodentable,
+/obj/item/weapon/storage/box/trackimp,
+/obj/item/weapon/storage/box/cdeathalarm_kit,
+/obj/item/weapon/stamp/centcomm,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"EB" = (
+/obj/effect/floor_decal/corner/white,
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = -23
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"EC" = (
+/obj/structure/bed/chair/comfy/black{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"ED" = (
+/obj/item/modular_computer/console/preset/ert{
+ dir = 4
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"EG" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 1
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"EP" = (
+/obj/structure/closet/crate/medical,
+/obj/item/weapon/storage/box/autoinjectors,
+/obj/item/weapon/storage/box/beakers,
+/obj/item/device/defib_kit/compact/combat/loaded,
+/obj/item/device/defib_kit/compact/combat/loaded,
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/weapon/storage/box/bodybags{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/box/gloves,
+/obj/item/weapon/storage/box/freezer,
+/obj/item/weapon/storage/box/masks,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Fd" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med)
+"Ff" = (
+/obj/machinery/light/no_nightshift,
+/obj/structure/sign/vacuum{
+ pixel_y = -32
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"Fg" = (
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"Fp" = (
+/obj/structure/sign/nosmoking_1,
+/turf/simulated/wall/rshull,
+/area/ship/ert/engineering)
+"Fq" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/box/frags,
+/obj/item/weapon/storage/box/frags,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Fz" = (
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"FD" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"FF" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_port,
+/turf/space,
+/area/space)
+"FJ" = (
+/obj/machinery/door/airlock/glass_command{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"FK" = (
+/obj/effect/floor_decal/corner/blue{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/hallways)
+"FM" = (
+/obj/effect/floor_decal/corner/yellow{
+ dir = 10
+ },
+/obj/effect/floor_decal/corner/blue{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"FN" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"FO" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_star)
+"FP" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"FQ" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"FR" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"FT" = (
+/obj/structure/closet/crate{
+ dir = 2
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"FW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"FX" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/item/weapon/paper/ert_armory_cells,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"FY" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"Ga" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/recharger,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"Gl" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/heavysniper,
+/obj/item/weapon/storage/box/sniperammo,
+/obj/item/weapon/storage/box/sniperammo,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Gr" = (
+/obj/machinery/power/emitter,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"Gv" = (
+/obj/structure/bed/chair/bay/chair/padded/blue,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"Gw" = (
+/obj/structure/closet/wardrobe/ert,
+/obj/item/modular_computer/tablet/preset/custom_loadout/elite,
+/obj/item/weapon/storage/box/survival/comp{
+ starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi)
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"GI" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"GJ" = (
+/obj/machinery/porta_turret/industrial/military,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/eng_storage)
+"GK" = (
+/obj/structure/closet/crate{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"GM" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/hallways)
+"GO" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"GR" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"GS" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"GT" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ name = "VB APC - South";
+ pixel_y = -24
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"GU" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 8
+ },
+/obj/structure/reagent_dispensers/foam,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"GZ" = (
+/obj/structure/bed/chair/bay/shuttle,
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"Hf" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/engine)
+"Hp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"Hq" = (
+/obj/machinery/door/firedoor/glass,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"Hu" = (
+/obj/machinery/door/firedoor,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced,
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"HB" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/gun/burst,
+/obj/item/weapon/gun/energy/gun/burst,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/gun/energy/lasershotgun,
+/obj/item/weapon/gun/energy/lasershotgun,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -12
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -4
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = 5
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"HC" = (
+/obj/structure/closet/crate/medical,
+/obj/item/weapon/storage/mre/menu11,
+/obj/item/weapon/storage/mre/menu11,
+/obj/item/weapon/storage/mre/menu11,
+/obj/item/weapon/storage/mre/menu11,
+/obj/item/stack/nanopaste/advanced,
+/obj/item/stack/nanopaste/advanced,
+/obj/item/stack/nanopaste/advanced,
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose,
+/obj/item/weapon/storage/pill_bottle/iron,
+/obj/item/weapon/storage/pill_bottle/iron,
+/obj/item/weapon/storage/pill_bottle/sleevingcure/full,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/extinguisher/mini,
+/obj/item/weapon/storage/box/syringes,
+/obj/item/weapon/storage/box/syringes{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 23
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"HE" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/dock_port)
+"HH" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 1
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -12
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = -4
+ },
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -23;
+ pixel_y = 5
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"HK" = (
+/obj/machinery/shield_diffuser,
+/obj/machinery/door/blast/regular/open{
+ dir = 2;
+ id = "ERT_Blast_Windows";
+ name = "Blast Shield"
+ },
+/obj/machinery/door/blast/regular{
+ id = "ERT_Shuttle_Fore"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"HO" = (
+/turf/simulated/wall/rshull,
+/area/shuttle/ert_ship_boat)
+"HR" = (
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"HZ" = (
+/obj/machinery/computer/ship/navigation{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/railing/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Ia" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"Ib" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/hallways_aft)
+"Id" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Ig" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Ii" = (
+/obj/machinery/atmospherics/portables_connector/fuel{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Io" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"Ip" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/atmos)
+"Iv" = (
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Ix" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"IA" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/barracks)
+"IF" = (
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"IK" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"IL" = (
+/obj/structure/table/woodentable,
+/obj/item/device/aicard,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/light_switch{
+ dir = 1;
+ pixel_y = -23
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"IZ" = (
/obj/structure/table/woodentable,
/obj/item/weapon/paper_bin{
pixel_x = -3;
@@ -1800,2273 +4763,22270 @@
/obj/item/weapon/pen{
pixel_y = 4
},
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dF" = (
-/obj/structure/table/woodentable,
-/obj/item/weapon/stamp/centcomm,
-/obj/item/weapon/storage/box/cdeathalarm_kit,
-/obj/item/weapon/storage/box/trackimp,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dG" = (
-/obj/structure/table/woodentable,
-/obj/item/weapon/pinpointer/advpinpointer,
-/obj/item/device/aicard,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dH" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 2;
- icon_state = "shutter0";
- id = "ertportshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/window/reinforced,
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"dI" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 2;
- icon_state = "shutter0";
- id = "ertportshutters";
- name = "Blast Shutters";
- opacity = 0
- },
-/obj/structure/grille,
-/obj/structure/window/reinforced,
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"dJ" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/machinery/door/blast/shutters{
- density = 0;
- dir = 2;
- icon_state = "shutter0";
- id = "ertportshutters";
- name = "Blast Shutters";
- opacity = 0
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
},
+/obj/item/toy/figure/ert,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Jb" = (
+/obj/machinery/door/firedoor/border_only,
/obj/structure/grille,
+/obj/structure/window/reinforced/full,
/obj/structure/window/reinforced{
dir = 4
},
-/obj/structure/window/reinforced,
-/turf/simulated/shuttle/plating,
-/area/shuttle/specops/centcom)
-"dK" = (
-/obj/machinery/atmospherics/pipe/simple/visible{
- dir = 5
+/obj/structure/window/reinforced{
+ dir = 8
},
-/obj/machinery/meter,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dL" = (
-/obj/machinery/access_button{
- command = "cycle_interior";
- frequency = 1381;
- master_tag = "ert2_control";
- pixel_x = -22;
- pixel_y = -32;
- req_one_access = list(103)
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"Jc" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/firstaid/toxin{
+ pixel_x = 2;
+ pixel_y = 2
},
-/obj/machinery/atmospherics/pipe/manifold/visible{
+/obj/item/weapon/storage/firstaid/toxin{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/machinery/light/no_nightshift{
dir = 1
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dM" = (
-/obj/machinery/atmospherics/pipe/simple/visible{
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Jd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"Jf" = (
+/obj/effect/floor_decal/corner/yellow{
dir = 10
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dN" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/storage/firstaid/regular,
-/obj/item/weapon/storage/firstaid/regular,
-/obj/item/bodybag/cryobag,
-/obj/item/bodybag/cryobag,
-/obj/item/bodybag/cryobag,
-/obj/item/bodybag/cryobag,
-/obj/item/bodybag/cryobag,
-/obj/item/bodybag/cryobag,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dO" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/accessory/storage/brown_vest,
-/obj/item/clothing/accessory/storage/brown_vest,
-/obj/item/clothing/accessory/storage/brown_vest,
-/obj/item/clothing/accessory/storage/brown_vest,
-/obj/item/clothing/accessory/storage/brown_drop_pouches,
-/obj/item/clothing/accessory/storage/brown_drop_pouches,
-/obj/item/clothing/accessory/storage/brown_drop_pouches,
-/obj/item/clothing/accessory/storage/brown_drop_pouches,
-/obj/item/clothing/glasses/welding/superior,
-/obj/item/clothing/glasses/welding/superior,
-/obj/item/clothing/glasses/welding/superior,
-/obj/item/clothing/glasses/welding/superior,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dP" = (
-/obj/structure/table/rack/steel,
-/obj/item/weapon/rig/ert/engineer,
-/obj/item/weapon/rig/ert/engineer,
-/obj/item/weapon/rig/ert/engineer,
-/obj/item/weapon/rig/ert/engineer,
-/obj/item/weapon/storage/belt/utility/chief/full,
-/obj/item/weapon/storage/belt/utility/chief/full,
-/obj/item/weapon/storage/belt/utility/chief/full,
-/obj/item/weapon/storage/belt/utility/chief/full,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dQ" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/armor/vest/ert/engineer,
-/obj/item/clothing/suit/armor/vest/ert/engineer,
-/obj/item/clothing/suit/armor/vest/ert/engineer,
-/obj/item/clothing/suit/armor/vest/ert/engineer,
-/obj/item/clothing/head/helmet/ert/engineer,
-/obj/item/clothing/head/helmet/ert/engineer,
-/obj/item/clothing/head/helmet/ert/engineer,
-/obj/item/clothing/head/helmet/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/weapon/storage/backpack/ert/engineer,
-/obj/item/taperoll/engineering,
-/obj/item/taperoll/engineering,
-/obj/item/taperoll/engineering,
-/obj/item/taperoll/engineering,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dR" = (
-/obj/structure/table/glass,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -35
- },
-/obj/item/weapon/gun/projectile/deagle,
-/obj/item/ammo_magazine/m44,
-/obj/item/ammo_magazine/m44,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dS" = (
-/obj/structure/filingcabinet/filingcabinet,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dT" = (
-/obj/machinery/light,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dU" = (
-/obj/structure/bed/chair/comfy/black{
- dir = 1
- },
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dV" = (
-/obj/machinery/photocopier,
-/turf/simulated/floor/carpet,
-/area/shuttle/specops/centcom)
-"dW" = (
-/obj/machinery/atmospherics/pipe/simple/visible,
-/obj/machinery/door/airlock/glass_external{
- frequency = 1381;
- icon_state = "door_locked";
- id_tag = "ert2_shuttle_inner";
- locked = 1;
- name = "Ship Hatch"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dX" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1381;
- icon_state = "door_locked";
- id_tag = "ert2_shuttle_inner";
- locked = 1;
- name = "Ship Hatch"
- },
-/obj/machinery/atmospherics/pipe/simple/visible,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dY" = (
-/obj/machinery/vending/engineering,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"dZ" = (
-/obj/machinery/vending/tool,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ea" = (
-/obj/machinery/atmospherics/unary/vent_pump/high_volume{
- dir = 1;
- frequency = 1381;
- id_tag = "ert2_vent"
- },
-/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
- frequency = 1381;
- id_tag = "ert2_control";
- pixel_x = -24;
- req_access = list(103);
- tag_airpump = "ert2_vent";
- tag_chamber_sensor = "ert2_sensor";
- tag_exterior_door = "ert2_shuttle_outer";
- tag_interior_door = "ert2_shuttle_inner"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"eb" = (
-/obj/machinery/light/small{
- dir = 4;
- pixel_y = 0
- },
-/obj/machinery/airlock_sensor{
- frequency = 1381;
- id_tag = "ert2_sensor";
- pixel_x = 25
- },
-/obj/machinery/atmospherics/unary/vent_pump/high_volume{
- dir = 1;
- frequency = 1381;
- id_tag = "ert2_vent"
- },
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ec" = (
-/obj/machinery/door/airlock/glass_external{
- frequency = 1381;
- icon_state = "door_locked";
- id_tag = "ert2_shuttle_outer";
- locked = 1;
- name = "Ship Hatch"
- },
-/obj/structure/fans/tiny,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ed" = (
-/obj/machinery/access_button{
- command = "cycle_exterior";
- frequency = 1381;
- master_tag = "ert2_control";
- pixel_x = 24;
- req_one_access = list(103)
- },
-/obj/machinery/door/airlock/glass_external{
- frequency = 1381;
- icon_state = "door_locked";
- id_tag = "ert2_shuttle_outer";
- locked = 1;
- name = "Ship Hatch"
- },
-/obj/structure/fans/tiny,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"ee" = (
-/obj/effect/floor_decal/industrial/danger/corner{
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"ef" = (
-/obj/effect/floor_decal/industrial/danger{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Jg" = (
+/obj/machinery/light/no_nightshift{
dir = 1
},
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"eg" = (
-/obj/effect/floor_decal/industrial/danger/corner{
- icon_state = "dangercorner";
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med_surg)
+"Jk" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
dir = 8
},
-/turf/unsimulated/floor/steel,
-/area/centcom/specops)
-"mI" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/obj/item/clothing/shoes/magboots,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"pn" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_y = 32
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Jl" = (
+/obj/effect/floor_decal/corner/blue{
+ dir = 1
},
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Js" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"Jw" = (
/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/obj/item/clothing/suit/space/void/responseteam/engineer,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"rB" = (
+/obj/item/weapon/storage/box/handcuffs,
+/obj/item/weapon/storage/box/handcuffs,
+/obj/effect/floor_decal/corner/red{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways)
+"Jx" = (
+/obj/item/device/perfect_tele_beacon/stationary{
+ tele_name = "NRB Robineau";
+ tele_network = "centcom"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"JB" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/dock_port)
+"JE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/warning/corner,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"JG" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"JJ" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/engineering{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"JM" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"JN" = (
+/obj/structure/bed/chair/bay/shuttle,
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"JW" = (
+/obj/machinery/light/no_nightshift,
+/obj/machinery/atmospherics/unary/engine{
+ dir = 4
+ },
+/turf/space,
+/area/ship/ert/engine)
+"JX" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"JY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"JZ" = (
/obj/structure/table/rack/steel,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/obj/item/device/suit_cooling_unit,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"zV" = (
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/machinery/light/no_nightshift,
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Kb" = (
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/item/weapon/paper/vonbraun_shields,
+/obj/structure/table/steel_reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Kf" = (
+/obj/machinery/computer/teleporter{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"Kk" = (
+/obj/effect/landmark/late_antag/ert,
+/obj/structure/table/bench/steel,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"Kq" = (
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/obj/machinery/atmospherics/portables_connector/fuel{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Kr" = (
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/yellow{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"Ks" = (
+/obj/machinery/door/airlock/centcom{
+ name = "Commander";
+ req_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/commander)
+"Kt" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/dock_star)
+"Kw" = (
+/obj/structure/sign/department/eng,
+/turf/simulated/wall/rshull,
+/area/ship/ert/bridge)
+"KB" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"KG" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/electrical,
+/obj/item/weapon/storage/toolbox/electrical,
+/obj/item/weapon/storage/briefcase/inflatable{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/briefcase/inflatable{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/briefcase/inflatable{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/briefcase/inflatable{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"KI" = (
+/turf/simulated/wall/shull,
+/area/ship/ert/med)
+"KJ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/structure/railing/grey{
+ dir = 1
+ },
+/obj/structure/table/steel_reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"KM" = (
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"KO" = (
+/obj/machinery/vending/tool,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"KS" = (
+/obj/machinery/door/airlock/centcom{
+ name = "Reactor Access";
+ req_access = list(103)
+ },
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/blast/regular/open{
+ dir = 4;
+ id = "VB_Rear_Blast";
+ name = "Blast Shield"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"KT" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"KW" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/bridge)
+"La" = (
+/obj/item/modular_computer/console/preset/ert{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Lg" = (
+/obj/structure/table/rack/steel,
+/obj/item/taperoll/engineering,
+/obj/item/taperoll/engineering,
+/obj/item/taperoll/engineering,
+/obj/item/taperoll/engineering,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"Lh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"Lk" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/item/weapon/material/knife/tacknife/combatknife,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways)
+"Lq" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/gun/energy/gun/martin{
+ battery_lock = 0
+ },
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"LA" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/shotgun/pump/combat,
+/obj/item/weapon/gun/projectile/shotgun/pump/combat,
+/obj/item/weapon/storage/box/shotgunshells/large,
+/obj/item/weapon/storage/box/shotgunshells/large,
+/obj/item/weapon/storage/box/shotgunammo/large,
+/obj/item/weapon/storage/box/shotgunammo/large,
+/obj/item/weapon/storage/box/empshells/large,
+/obj/item/weapon/storage/box/flashshells/large,
+/obj/item/weapon/storage/box/beanbags/large,
+/obj/item/weapon/storage/box/beanbags/large,
+/obj/item/weapon/storage/box/stunshells/large,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"LB" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"LC" = (
+/obj/structure/table/rack/steel,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"LH" = (
+/obj/machinery/shield_gen/external,
+/obj/effect/floor_decal/corner/white,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"LJ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"LR" = (
+/obj/machinery/door/airlock/external,
+/obj/effect/map_helper/airlock/door/ext_door,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_port)
+"LV" = (
+/obj/structure/table/steel_reinforced,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/button/remote/blast_door{
+ desc = "[OOC] DO NOT TOUCH THIS BUTTON WITHOUT THE EXPLICIT PERMISSION OF AN ADMINISTRATOR.";
+ dir = 1;
+ id = "NRV_DELTA";
+ name = "DELTA ACCESS CONTROL";
+ req_one_access = list(108)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"LZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"Mb" = (
+/obj/machinery/computer/operating{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"Md" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/taser,
+/obj/item/weapon/gun/energy/taser,
+/obj/item/weapon/gun/energy/taser,
+/obj/item/weapon/gun/energy/taser,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"Me" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/automatic/as24,
+/obj/item/weapon/gun/projectile/automatic/as24,
+/obj/item/weapon/storage/box/shotgunshells/large,
+/obj/item/weapon/storage/box/shotgunshells/large,
+/obj/item/weapon/storage/box/shotgunammo/large,
+/obj/item/weapon/storage/box/shotgunammo/large,
+/obj/item/weapon/storage/box/empshells/large,
+/obj/item/weapon/storage/box/flashshells/large,
+/obj/item/weapon/storage/box/beanbags/large,
+/obj/item/weapon/storage/box/beanbags/large,
+/obj/item/weapon/storage/box/stunshells/large,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Mm" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/teleporter)
+"Ms" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"Mt" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/gun/energy/netgun,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_st)
+"Mv" = (
+/obj/item/device/perfect_tele_beacon/stationary{
+ tele_name = "NRV Von Braun Teleporter Room";
+ tele_network = "centcom"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"My" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"MC" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 12;
+ pixel_y = 8
+ },
+/obj/structure/medical_stand,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"MD" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 1
+ },
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"MK" = (
+/obj/structure/sign/nosmoking_1,
+/turf/simulated/wall/rshull,
+/area/ship/ert/engine)
+"ML" = (
+/obj/machinery/door/blast/regular/open{
+ id = "ERT_Shuttle_Rear";
+ name = "Boarding Hatch"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"MQ" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"MT" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"MU" = (
+/obj/structure/window/reinforced,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"MX" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/clothing/accessory/storage/brown_vest,
+/obj/item/clothing/accessory/storage/brown_vest,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"MZ" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/med_surg)
+"Na" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_port)
+"Nb" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Nd" = (
+/obj/effect/floor_decal/corner/white{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Nf" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"Ng" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "ERT_Shuttle_Fore";
+ name = "ERT Deployment Access";
+ pixel_y = 24;
+ req_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Nk" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"Np" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Nz" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/powered/scrubber,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"NH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/effect/catwalk_plated/dark,
+/turf/simulated/floor/plating,
+/area/ship/ert/engine)
+"NI" = (
+/obj/structure/table/rack,
+/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"NJ" = (
+/obj/machinery/optable,
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"NP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/binary/pump/fuel/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"NR" = (
+/obj/machinery/light/no_nightshift,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"NU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"NY" = (
/obj/machinery/door/airlock/glass_command{
req_one_access = list(103)
},
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"HG" = (
-/obj/structure/closet/walllocker/emerglocker{
- pixel_y = -32
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"NZ" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"Oa" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Engineering";
+ req_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"Of" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Og" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/corner/yellow{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"Oh" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"Oi" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"Ok" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/embedded_controller/radio/simple_docking_controller{
+ id_tag = "ert_boarding_shuttle_dock";
+ pixel_y = 22
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"On" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"Oq" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"Ox" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Oy" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/bridge)
+"OE" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/bridge)
+"OF" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"OH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"OO" = (
/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/space/void/responseteam/medical,
-/obj/item/clothing/suit/space/void/responseteam/medical,
-/obj/item/clothing/suit/space/void/responseteam/medical,
-/obj/item/clothing/suit/space/void/responseteam/medical,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
-"TT" = (
+/obj/item/weapon/gun/energy/sniperrifle{
+ battery_lock = 0
+ },
+/obj/item/weapon/gun/energy/sniperrifle{
+ battery_lock = 0
+ },
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/item/weapon/cell/device/weapon/recharge,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"OR" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"OS" = (
+/obj/structure/bed/chair/bay/comfy/captain{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"OT" = (
+/obj/machinery/computer/ship/helm{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"OW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/power/shield_generator/charged,
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/railing/grey{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"OX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"OY" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_star,
+/turf/space,
+/area/space)
+"OZ" = (
+/obj/structure/table/standard,
+/obj/item/weapon/soap,
+/obj/item/weapon/soap,
+/obj/item/weapon/soap,
+/obj/item/weapon/soap,
+/obj/item/weapon/towel{
+ color = "#0000FF"
+ },
+/obj/item/weapon/towel{
+ color = "#0000FF"
+ },
+/obj/item/weapon/towel{
+ color = "#0000FF"
+ },
+/obj/item/weapon/towel{
+ color = "#0000FF"
+ },
+/obj/effect/floor_decal/corner/white,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Pc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Pe" = (
+/obj/machinery/button/remote/blast_door{
+ dir = 1;
+ id = "ERT_Shuttle_Rear";
+ name = "ERT Shuttle Access";
+ pixel_y = -25;
+ req_access = list(103)
+ },
+/obj/machinery/door/blast/regular/open{
+ id = "ERT_Shuttle_Rear";
+ name = "Boarding Hatch"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Pl" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ dir = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Pn" = (
+/obj/item/modular_computer/console/preset/engineering{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Pq" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"PA" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"PC" = (
+/obj/machinery/door/blast/regular{
+ dir = 4;
+ id = "NRV_DELTA"
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"PD" = (
+/obj/structure/sign/department/medbay{
+ name = "MEDICAL OUTFITTING & SUPPLIES"
+ },
+/turf/simulated/wall/shull,
+/area/ship/ert/med)
+"PE" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/eng_storage)
+"PG" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"PH" = (
+/obj/machinery/power/smes/buildable/point_of_interest,
+/obj/structure/cable/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"PS" = (
+/obj/machinery/shield_capacitor,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"PX" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"Qc" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 8;
+ name = "VB APC - West";
+ pixel_x = -24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"Qh" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Ql" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"Qz" = (
+/obj/item/weapon/circuitboard/aiupload,
+/obj/item/weapon/circuitboard/borgupload,
+/obj/item/weapon/circuitboard/smes,
+/obj/item/weapon/aiModule/nanotrasen,
+/obj/item/weapon/aiModule/reset,
+/obj/item/weapon/aiModule/freeformcore,
+/obj/item/weapon/aiModule/protectStation,
+/obj/item/weapon/aiModule/quarantine,
+/obj/item/weapon/aiModule/paladin,
+/obj/item/weapon/aiModule/robocop,
+/obj/item/weapon/aiModule/safeguard,
+/obj/structure/table/steel_reinforced,
+/obj/item/weapon/smes_coil,
+/obj/item/weapon/smes_coil,
+/obj/item/device/t_scanner/advanced,
+/obj/item/device/t_scanner/advanced,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ name = "VB APC - South";
+ pixel_y = -24
+ },
+/obj/structure/cable/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"QE" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/turf/simulated/floor/reinforced,
+/area/ship/ert/hangar)
+"QM" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"QP" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"QR" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"QS" = (
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 4
+ },
+/obj/machinery/button/remote/blast_door{
+ dir = 8;
+ id = "ERT_Blast_Windows";
+ name = "Emergency Blast Shields";
+ pixel_x = 55;
+ req_one_access = list(101)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"QT" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"QX" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/shuttle_control/explore/ert_ship_boat{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"QY" = (
+/obj/structure/table/rack,
+/obj/item/weapon/rig/ert,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"QZ" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"Rc" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4
+ },
+/obj/effect/shuttle_landmark/shuttle_initializer/ert_ship_boat,
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Rd" = (
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engineering)
+"Rh" = (
+/obj/machinery/door/airlock/glass_external,
+/obj/effect/map_helper/airlock/door/int_door,
+/obj/machinery/door/firedoor/multi_tile,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"Rt" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"Rv" = (
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medical Bay";
+ req_access = list(103)
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"Rw" = (
+/obj/machinery/vending/security,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
+"Rz" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/blast/regular{
+ id = "NRV_DELTA"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"RB" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"RC" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"RO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"RQ" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Engineering";
+ req_access = list(103)
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/engineering)
+"RS" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/highsecurity{
+ name = "Teleporter Chamber";
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"RV" = (
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/obj/structure/table/woodentable,
+/obj/item/device/flashlight/lamp,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Sc" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Sj" = (
+/obj/machinery/light_switch{
+ dir = 4;
+ pixel_x = -23
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Sl" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/structure/railing/grey,
+/obj/structure/table/steel_reinforced,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Sp" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/effect/catwalk_plated,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/ship/ert/med)
+"Sr" = (
+/obj/machinery/light/no_nightshift,
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/barracks)
+"St" = (
/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/space/void/responseteam/security,
-/obj/item/clothing/suit/space/void/responseteam/security,
-/obj/item/clothing/suit/space/void/responseteam/security,
-/obj/item/clothing/suit/space/void/responseteam/security,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
+/obj/item/device/flash,
+/obj/item/device/flash,
+/obj/item/device/flash,
+/obj/item/device/flash,
+/obj/item/device/flash,
+/obj/item/device/flash,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways)
+"Sx" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/automatic/p90,
+/obj/item/weapon/gun/projectile/automatic/p90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/weapon/gun/projectile/automatic/p90,
+/obj/item/weapon/gun/projectile/automatic/p90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/item/ammo_magazine/m9mmp90,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Sy" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/gun/projectile/automatic/l6_saw,
+/obj/item/weapon/gun/projectile/automatic/l6_saw,
+/obj/item/ammo_magazine/m545saw,
+/obj/item/ammo_magazine/m545saw,
+/obj/item/ammo_magazine/m545saw,
+/obj/item/ammo_magazine/m545saw,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"Sz" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/dock_star)
+"SA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"SB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"SD" = (
+/obj/structure/table/rack,
+/obj/item/weapon/gun/projectile/deagle,
+/obj/item/ammo_magazine/m44,
+/obj/item/ammo_magazine/m44,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"SE" = (
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"SF" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_st)
+"SG" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"SI" = (
+/obj/machinery/portable_atmospherics/powered/scrubber,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"SJ" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 5
+ },
+/turf/simulated/wall/rshull,
+/area/ship/ert/dock_star)
+"SV" = (
+/obj/structure/table/rack/steel,
+/obj/item/weapon/reagent_containers/hypospray,
+/obj/item/weapon/reagent_containers/hypospray,
+/obj/item/weapon/reagent_containers/hypospray,
+/obj/item/weapon/reagent_containers/hypospray,
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"SZ" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/shuttle/ert_ship_boat)
+"Tl" = (
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"Tx" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"TB" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"TF" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/white,
+/area/ship/ert/med_surg)
+"TG" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"TI" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"TM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways_aft)
+"TR" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/obj/machinery/door/firedoor/border_only,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/armoury_dl)
+"TU" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med)
+"TZ" = (
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"Ul" = (
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/item/modular_computer/console/preset/medical{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"Un" = (
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/airlock/glass{
+ req_one_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"Ut" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/alarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/machinery/porta_turret/industrial/teleport_defense,
+/obj/effect/floor_decal/industrial/outline/red,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"UH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"UJ" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/teleporter)
+"UT" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"UU" = (
+/obj/machinery/shieldwallgen{
+ anchored = 1;
+ name = "secured shield generator";
+ req_access = list(103);
+ state = 1
+ },
+/obj/structure/window/reinforced,
+/obj/effect/floor_decal/industrial/warning,
+/obj/structure/cable/yellow,
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"UY" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/chemical_dispenser/full,
+/obj/item/weapon/reagent_containers/glass/beaker/large,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Vg" = (
+/obj/structure/table/steel_reinforced,
+/obj/machinery/recharger,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"Vm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/light_switch{
+ pixel_y = 23
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Vn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"VB" = (
+/obj/machinery/ntnet_relay,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"VC" = (
+/obj/machinery/power/port_gen/pacman/super/potato,
+/obj/structure/cable/green,
+/obj/machinery/light/no_nightshift,
+/obj/effect/decal/cleanable/greenglow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"VJ" = (
+/obj/machinery/door/firedoor/multi_tile{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medical Bay";
+ req_access = list(103)
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"VO" = (
+/obj/effect/floor_decal/corner/blue{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"VP" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
+"VQ" = (
+/obj/structure/table/rack/steel,
+/obj/effect/floor_decal/corner/red,
+/obj/item/device/radio/off,
+/obj/item/device/radio/off,
+/obj/item/device/radio/off,
+/obj/item/device/radio/off,
+/obj/item/device/radio/off,
+/obj/item/device/radio/off,
+/obj/effect/floor_decal/industrial/outline/grey,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways)
+"Wa" = (
+/obj/structure/closet/walllocker/emerglocker{
+ pixel_y = 32
+ },
+/obj/structure/bed/pod,
+/obj/item/weapon/bedsheet/blue,
+/obj/structure/curtain/open/bed,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"Wj" = (
+/obj/machinery/light/no_nightshift{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Wl" = (
+/obj/structure/table/steel_reinforced,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/item/stack/nanopaste,
+/obj/machinery/light/no_nightshift{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"Wq" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/effect/floor_decal/corner/blue,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"Wu" = (
+/obj/machinery/door/airlock/glass_security{
+ req_one_access = list(103)
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/door/blast/regular{
+ closed_layer = 4;
+ id = "NRV_DELTA";
+ layer = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/armoury_dl)
+"Wv" = (
+/obj/effect/shuttle_landmark/premade/ert_ship_near_star,
+/turf/space,
+/area/space)
+"WA" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"WC" = (
+/turf/simulated/floor/reinforced,
+/area/ship/ert/hangar)
+"WE" = (
+/obj/effect/floor_decal/corner/red{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"WF" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/med)
+"WH" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/barracks)
"WJ" = (
-/obj/structure/table/rack/steel,
-/obj/item/clothing/suit/space/void/responseteam/janitor,
-/obj/item/clothing/suit/space/void/responseteam/janitor,
-/obj/item/clothing/suit/space/void/responseteam/janitor,
-/obj/item/clothing/suit/space/void/responseteam/janitor,
-/obj/item/weapon/storage/belt/janitor,
-/obj/item/weapon/storage/belt/janitor,
-/obj/item/weapon/storage/belt/janitor,
-/obj/item/weapon/storage/belt/janitor,
-/turf/simulated/shuttle/floor/black,
-/area/shuttle/specops/centcom)
+/obj/structure/bed/chair/bay/shuttle{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/shuttle/ert_ship_boat)
+"WK" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 23
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/dock_star)
+"WO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"WR" = (
+/obj/structure/filingcabinet/filingcabinet,
+/turf/simulated/floor/wood,
+/area/ship/ert/commander)
+"WS" = (
+/obj/machinery/computer/ship/engines{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"WV" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/barracks)
+"WX" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 1
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/ship/ert/barracks)
+"Xg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Xh" = (
+/obj/structure/bed/chair/bay/chair/padded/blue,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/hallways_aft)
+"Xo" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"Xu" = (
+/obj/structure/cable/yellow,
+/obj/machinery/power/smes/buildable/point_of_interest,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"Xx" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"XB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"XG" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/eng_storage)
+"XH" = (
+/obj/machinery/alarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"XM" = (
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
+/obj/machinery/airlock_sensor{
+ pixel_x = 24
+ },
+/obj/effect/floor_decal/industrial/warning,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/dock_star)
+"XS" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/firealarm/alarms_hidden{
+ pixel_y = 26
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"XW" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/engineering)
+"XX" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Yd" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/armoury_dl)
+"Ye" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/barracks)
+"Yq" = (
+/obj/machinery/power/apc/hyper{
+ alarms_hidden = 1;
+ dir = 4;
+ name = "VB APC - East";
+ pixel_x = 24
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Yr" = (
+/obj/structure/window/reinforced,
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Ys" = (
+/obj/structure/window/reinforced,
+/obj/effect/floor_decal/industrial/warning,
+/obj/structure/cable/yellow,
+/obj/machinery/shieldwallgen{
+ anchored = 1;
+ name = "secured shield generator";
+ req_access = list(103);
+ state = 1
+ },
+/obj/effect/floor_decal/industrial/outline/blue,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/teleporter)
+"Yt" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/bed/chair/bay/chair/padded/blue{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"Yx" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/bridge)
+"YN" = (
+/obj/structure/sign/warning/radioactive{
+ desc = "WARNING: VON BRAUN PTTOS EMIT RADIATION WHILST OPERATIONAL.";
+ name = "\improper RADIOACTIVE GENERATORS BEHIND THESE DOORS";
+ pixel_x = -16
+ },
+/turf/simulated/wall/shull,
+/area/ship/ert/engineering)
+"YP" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/fuel{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engine)
+"YR" = (
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engineering)
+"YU" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/light/no_nightshift{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"YW" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8
+ },
+/turf/simulated/floor/reinforced,
+/area/shuttle/ert_ship_boat)
+"Zi" = (
+/obj/structure/cable/yellow{
+ 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/tiled/techmaint,
+/area/ship/ert/eng_storage)
+"Zo" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/barracks)
+"Zv" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"Zx" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hangar)
+"ZC" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/bed/chair/bay/chair/padded/blue,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"ZF" = (
+/obj/item/roller_holder,
+/obj/item/roller/adv,
+/obj/item/roller/adv{
+ pixel_y = 6
+ },
+/obj/item/roller/adv{
+ pixel_y = 12
+ },
+/obj/machinery/light/no_nightshift,
+/obj/effect/floor_decal/industrial/outline,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/med)
+"ZI" = (
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/structure/cable/green{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/engineering)
+"ZL" = (
+/obj/machinery/power/pointdefense{
+ id_tag = "vonbraun_pd"
+ },
+/turf/simulated/floor/reinforced/airless,
+/area/ship/ert/engine)
+"ZM" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/bridge)
+"ZP" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"ZT" = (
+/turf/simulated/wall/rshull,
+/area/ship/ert/med)
+"ZU" = (
+/obj/machinery/light/no_nightshift,
+/obj/machinery/firealarm/alarms_hidden{
+ dir = 1;
+ pixel_y = -26
+ },
+/obj/machinery/power/port_gen/pacman/mrs,
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled/techfloor,
+/area/ship/ert/eng_storage)
+"ZW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/med)
+"ZX" = (
+/obj/machinery/door/airlock/glass_command{
+ req_one_access = list(103)
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor/border_only,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/bridge)
+"ZY" = (
+/obj/effect/floor_decal/corner/blue{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techmaint,
+/area/ship/ert/hallways)
(1,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+pf
"}
(2,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
"}
(3,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(4,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(5,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(6,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(7,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ad
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-ee
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(8,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-bU
-cn
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(9,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-ap
-bV
-co
-ap
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(10,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-bD
-bM
-bd
-cp
-cz
-cJ
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(11,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-bE
-bN
-bW
-bd
-cA
-cK
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(12,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-ap
-ap
-cq
-ap
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+cl
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(13,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-bO
-bX
-aH
-cB
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(14,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-ap
-aF
-aS
-ap
-aj
-ap
-ap
-am
-aH
-cC
-ap
-aj
-ap
-dn
-dC
-ap
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(15,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-am
-aG
-ay
-ap
-aj
-ap
-bP
-ap
-aH
-cD
-ap
-aj
-ap
-do
-aH
-am
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(16,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ax
-aH
-aT
-ap
-aj
-ap
-bQ
-bY
-aH
-cE
-ap
-aj
-ap
-dp
-aH
-ay
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(17,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ay
-aH
-ay
-ap
-aj
-ap
-bR
-ap
-cr
-cF
-ap
-aj
-ap
-dq
-aH
-dR
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(18,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ap
-aI
-ap
-ap
-ap
-ap
-am
-bZ
-aH
-WJ
-ap
-ap
-ap
-ap
-dD
-ap
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(19,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-az
-aJ
-az
-ap
-ap
-ap
-ap
-ap
-zV
-ap
-am
-ap
-da
-dr
-aH
-dS
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(20,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-az
-aJ
-aJ
-bh
-ap
-bF
-bS
-ca
-aH
-aH
-cL
-ap
-cX
-aH
-aH
-aH
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(21,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aq
-aA
-aJ
-aU
-aH
-bt
-aH
-aH
-bd
-bd
-aH
-aH
-bt
-aH
-ds
-dE
-dT
-dH
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(22,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ar
-az
-aJ
-aU
-aH
-aH
-aH
-bd
-bd
-bd
-bd
-aH
-aH
-aH
-dt
-dF
-dU
-dI
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(23,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-as
-az
-aJ
-aV
-bi
-ap
-TT
-bd
-cb
-cs
-bd
-rB
-ap
-db
-du
-dG
-dV
-dJ
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(24,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ap
-ap
-ap
-ap
-am
-bG
-bd
-cc
-ct
-bd
-mI
-am
-ap
-ap
-ap
-ap
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(25,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-ap
-ap
-aW
-bj
-bu
-bH
-bd
-cd
-cu
-bd
-bq
-cR
-dc
-dv
-ap
-ap
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(26,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-aq
-aX
-bk
-bv
-aH
-bd
-ce
-cv
-bd
-aH
-cS
-dd
-dw
-dH
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(27,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-ar
-aY
-bl
-bw
-aV
-bd
-cf
-cw
-bd
-cM
-cT
-de
-dx
-dI
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(28,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-aj
-as
-aZ
-bm
-bx
-aH
-bd
-cg
-cx
-bd
-aH
-cU
-df
-dy
-dJ
-aj
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(29,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aj
-ap
-ap
-ba
-bn
-by
-bI
-bd
-ch
-ch
-bd
-cN
-cV
-dg
-dz
-ap
-ap
-aj
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(30,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ap
-ap
-bb
-bo
-bz
-ap
-bd
-ci
-ci
-bd
-ap
-bb
-bo
-bz
-ap
-ap
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(31,1,1) = {"
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-am
-ap
-am
-aK
-bc
-bp
-bA
-ap
-bd
-cj
-cj
-bd
-ap
-cW
-dh
-dA
-dK
-am
-ap
-am
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(32,1,1) = {"
-ac
-af
-af
-af
-af
-ac
-af
-ak
-an
-at
-aB
-aL
-bd
-bd
-bd
-bJ
-bd
-bd
-bd
-bd
-bJ
-bd
-di
-di
-dL
-dW
-ea
-ec
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(33,1,1) = {"
-ac
-af
-af
-af
-ag
-ac
-ag
-ak
-ao
-au
-aB
-aM
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-bd
-dM
-dX
-eb
-ed
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(34,1,1) = {"
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-am
-ap
-am
-aN
-aH
-aH
-HG
-am
-bd
-bd
-bd
-bd
-am
-pn
-aH
-aH
-dN
-am
-ap
-am
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Nk
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(35,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-ap
-ap
-be
-be
-am
-ap
-bd
-ck
-bd
-cH
-ap
-am
-dj
-dj
-ap
-ap
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Do
+yz
+yz
+yz
+Hf
+yz
+yz
+yz
+Do
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(36,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-aq
-aO
-aH
-aH
-aH
-ap
-bK
-bd
-cl
-bd
-bd
-cO
-ap
-dk
-aH
-aH
-dO
-dH
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+lZ
+ZL
+kL
+yz
+yz
+yz
+Hf
+nX
+DN
+JW
+Hf
+nX
+DN
+JW
+Hf
+yz
+yz
+yz
+kL
+ZL
+lZ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(37,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-as
-aP
-aH
-aH
-bq
-ap
-bL
-bd
-bd
-bd
-bd
-cP
-ap
-dl
-aH
-aH
-dP
-dJ
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+lZ
+Hf
+Hf
+nX
+DN
+JW
+Hf
+uh
+et
+tL
+Hf
+uh
+et
+tL
+Hf
+nX
+DN
+JW
+Hf
+Hf
+lZ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(38,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-aj
-ap
-aQ
-aH
-aH
-br
-am
-ap
-bT
-cm
-cy
-cI
-cQ
-ap
-dm
-aH
-aH
-dQ
-ap
-aj
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Do
+Hf
+Hf
+uh
+et
+tL
+Hf
+GI
+rA
+GI
+MK
+GI
+rA
+GI
+Hf
+uh
+et
+tL
+Hf
+Hf
+Do
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(39,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
aj
-ap
-ap
-aC
-aH
-aH
-aH
-bB
-ap
-ap
-ap
-ap
-ap
-ap
-cY
-aH
-aH
-aH
-dY
-ap
-ap
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+Hf
+Hf
+GI
+rA
+GI
+MK
+QZ
+Id
+RB
+Np
+RB
+Id
+QZ
+MK
+GI
+rA
+GI
+Hf
+Hf
+Ia
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(40,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-ap
-ap
-aD
-aR
-bf
-bs
-bC
-ap
-av
-av
-av
-av
-ap
-cZ
-aH
-dB
-aR
-dZ
-ap
-ap
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+lZ
+Hf
+Hf
+ok
+rD
+ux
+zk
+CN
+Ig
+JY
+NH
+RC
+Tx
+WO
+CZ
+Of
+RO
+XH
+Hf
+Hf
+lZ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(41,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-ap
-ap
-ap
-ap
-ap
-am
-ap
-ap
-aw
-aE
-aE
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+lZ
+Hf
+Hf
+op
+uK
+uK
+uK
+rs
+YP
+YP
+NP
+RO
+QZ
+QZ
+QZ
+QZ
+SE
+cY
+Hf
+Hf
+lZ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
bg
-ap
-ap
-ap
-ap
-ap
-ap
-ap
-ap
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+bg
+bg
+bg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(42,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-ap
-av
-av
-av
-av
-ap
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-ap
-av
-av
-av
-av
-ap
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ZL
+Hf
+Hf
+vd
+rR
+vd
+vd
+gR
+Ii
+Kq
+uS
+SE
+QZ
+QZ
+QZ
+QZ
+Hf
+Hf
+Hf
+Hf
+ZL
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(43,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ae
-aj
-ap
-aw
-aE
-aE
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bO
+kJ
+kJ
+kJ
+kJ
+kJ
+kJ
+kJ
+kJ
+kJ
+kJ
+vi
+Fp
+Dh
+Dh
+Dh
+Dh
+Fp
+XW
+XW
+XW
+XW
+YR
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
bg
-ap
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ap
-aw
-aE
-aE
bg
-ap
-aj
-ef
-aa
-aa
-aa
-aa
-aa
-aa
+bg
+bg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bg
+bg
+bg
+bg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(44,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ah
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-al
-eg
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bO
+kJ
+pV
+kP
+kP
+rS
+gA
+gA
+CT
+qR
+pV
+wO
+vX
+zh
+WS
+lB
+Ox
+KS
+JG
+VC
+XW
+XW
+YR
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(45,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bR
+kJ
+pV
+kS
+os
+os
+vg
+bp
+Dn
+gn
+pV
+NR
+vX
+ry
+Xg
+Sc
+Nb
+vX
+XW
+XW
+XW
+XW
+Rd
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(46,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bO
+kJ
+pV
+kT
+gA
+gA
+gA
+gA
+gA
+gN
+nx
+yR
+RQ
+TB
+OH
+nM
+qt
+YN
+XW
+XW
+XW
+XW
+YR
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(47,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+bW
+kJ
+pV
+kY
+oy
+oy
+vg
+bp
+DK
+Io
+pV
+NZ
+vX
+XS
+Xu
+ZI
+mt
+KS
+JG
+VC
+XW
+XW
+BI
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(48,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+wr
+kJ
+pV
+ls
+ls
+ls
+gA
+gA
+DQ
+Ip
+pV
+NZ
+vX
+hN
+PH
+ZI
+My
+vX
+XW
+XW
+XW
+XW
+cu
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(49,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+xx
+DS
+DS
+pV
+pV
+pV
+pV
+pV
+pV
+pV
+pV
+pV
+Oa
+vX
+vX
+vX
+vX
+vX
+vX
+vX
+vX
+vX
+XW
+XW
+cJ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
(50,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ib
+TG
+yl
+tK
+Oq
+ya
+ya
+ya
+ya
+SA
+FW
+Kr
+Og
+Ed
+TM
+TM
+TM
+TM
+TM
+ya
+kh
+Gv
+nY
+TG
+Ib
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(51,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ib
+TG
+pA
+HR
+vv
+DS
+DS
+DS
+DS
+DS
+DS
+DS
+Oh
+DS
+DS
+DS
+DS
+DS
+DS
+DS
+Ai
+Xh
+yG
+TG
+Ib
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(52,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+sB
+DS
+cS
+rM
+lu
+DS
+NI
+oa
+SD
+QY
+ds
+sp
+Oi
+Mm
+tb
+Wj
+UU
+iA
+jA
+DS
+lu
+rM
+cS
+DS
+sB
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(53,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ib
+DS
+DS
+cS
+cS
+oj
+DS
+Qh
+Iv
+Iv
+Iv
+Iv
+sp
+bt
+Mm
+sw
+Xx
+eF
+Ms
+Kf
+DS
+lO
+cS
+DS
+DS
+DS
+Ib
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(54,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+HE
+JB
+iB
+iB
+cS
+lu
+DS
+RV
+Iv
+zP
+Eh
+Ix
+sp
+Oi
+Mm
+Ut
+XB
+vQ
+Ms
+jI
+DS
+lu
+cS
+Sz
+Sz
+Sz
+nC
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(55,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ac
+JB
+cs
+iB
+iB
+Na
+JB
+Wa
+Iv
+zT
+Ez
+IK
+Ks
+Oy
+RS
+UJ
+PX
+TZ
+Mv
+wo
+Sz
+Un
+kW
+kW
+rt
+Sz
+FO
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(56,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ad
+JB
+cW
+dX
+hx
+lL
+JB
+WR
+Iv
+Ah
+EA
+IL
+sp
+xe
+Mm
+Vm
+XX
+lq
+jA
+jA
+Sz
+ck
+uJ
+JJ
+fk
+Sz
+hY
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(57,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+JB
+ak
+dd
+iB
+hH
+lR
+JB
+no
+Iv
+An
+EC
+IZ
+sp
+Oi
+wn
+VB
+Yq
+Ys
+Yr
+jA
+Sz
+uu
+na
+kW
+kX
+SJ
+Sz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(58,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+FF
+yz
+LR
+al
+dg
+dY
+hU
+lV
+JB
+JB
+ZM
+ZM
+ZM
+ZM
+ZM
+JX
+ZM
+ZM
+ZM
+ZM
+ZM
+Sz
+Sz
+Ql
+sC
+Rh
+bJ
+uE
+yo
+yz
+OY
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(59,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ae
+am
+dn
+ee
+ik
+lX
+oV
+sq
+KW
+KW
+KW
+YU
+Wq
+OE
+zB
+YU
+KW
+KW
+KW
+Kt
+tp
+WK
+tA
+ch
+pN
+XM
+lx
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(60,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+JB
+JB
+iB
+JB
+Dx
+iB
+iB
+iB
+ZM
+ZM
+ZM
+ZM
+Kw
+NY
+ZM
+ZM
+ZM
+ZM
+ZM
+kW
+kW
+kW
+ix
+kW
+kW
+Sz
+Sz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(61,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+kO
+Zo
+Bo
+ia
+ip
+mb
+mb
+Bo
+ZM
+ZM
+ED
+Ao
+cP
+Oi
+Sj
+zg
+ED
+ZM
+ZM
+mJ
+Ar
+hP
+Br
+PS
+zc
+XG
+GJ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(62,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Sr
+Zo
+Bo
+ia
+ip
+WH
+Kk
+lv
+ZM
+Aq
+Fg
+FD
+FD
+OF
+ha
+ha
+Yt
+Ul
+ZM
+gk
+Zv
+Zv
+Br
+PS
+zc
+XG
+qF
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(63,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ab
+Zo
+Bo
+ef
+iO
+mj
+Kk
+sz
+ZM
+Av
+us
+FD
+sH
+OS
+HZ
+FD
+Yx
+zo
+ZM
+sS
+Zv
+xC
+sW
+PS
+zc
+XG
+aV
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(64,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Zo
+Bo
+eg
+iR
+mq
+Kk
+lv
+ZM
+AK
+Fz
+FD
+KJ
+OT
+Sl
+FD
+ZC
+uG
+ZM
+Bj
+Zv
+SI
+oO
+SG
+Qz
+XG
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(65,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Zo
+Gw
+Kk
+Jd
+WH
+Kk
+lv
+ZM
+AS
+us
+FD
+Kb
+OW
+Dt
+FD
+Yx
+Pn
+ZM
+um
+Zv
+oC
+Eo
+Zv
+KT
+KB
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(66,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+lv
+Kk
+Jd
+WH
+Kk
+sz
+ZM
+AZ
+FD
+FD
+KM
+OX
+KM
+FD
+ZP
+iy
+ZM
+KO
+Zv
+oC
+Eo
+Zv
+KG
+KB
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(67,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+lv
+Kk
+Jd
+WH
+Kk
+lv
+ZM
+hs
+FD
+La
+La
+sA
+La
+La
+Rt
+Af
+ZM
+yC
+Zv
+Gr
+eI
+Zv
+Lg
+KB
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(68,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+lv
+Kk
+Jd
+mr
+WH
+sF
+wd
+ZM
+FJ
+Jk
+Jk
+Pc
+Jk
+Jk
+ZX
+ZM
+eH
+cV
+Zv
+Gr
+eI
+Zv
+AI
+KB
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(69,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+lv
+Kk
+WX
+mC
+IA
+IA
+wi
+Bb
+FK
+Jl
+GM
+zs
+GM
+VO
+ZY
+FM
+wi
+Zi
+Zi
+Zi
+PE
+Zv
+AI
+XG
+Ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(70,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ab
+Zo
+Gw
+Kk
+Jd
+mF
+ip
+ip
+BW
+Bc
+BW
+Js
+BW
+BW
+BW
+VP
+sX
+Jf
+BW
+Br
+Br
+Br
+eI
+Zv
+ZU
+XG
+aV
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(71,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+pS
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Sr
+Zo
+Bo
+sr
+Jd
+WV
+oW
+sJ
+wU
+Bf
+FN
+Jw
+Lk
+Cn
+St
+VQ
+OR
+vt
+wU
+cv
+LH
+GS
+MQ
+cC
+aD
+XG
+qF
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Wv
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(72,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+kO
+Zo
+Bo
+Bo
+Jd
+mI
+Bo
+tH
+tH
+Bq
+FQ
+Jb
+Jb
+Yd
+TR
+TR
+Ay
+Rz
+Yd
+ZT
+yI
+QT
+pz
+KI
+KI
+ZT
+eD
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(73,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Sr
+Zo
+Zo
+xA
+xA
+Jd
+mF
+Ec
+tH
+gx
+SF
+FR
+FR
+kf
+Pl
+Sx
+On
+FY
+UH
+HB
+ZT
+yp
+pm
+sd
+wt
+pq
+ZT
+ZT
+Fd
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(74,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ab
+Zo
+an
+WH
+WH
+Jd
+mF
+so
+tH
+LC
+SF
+FR
+FR
+wl
+Pl
+xZ
+On
+FY
+UH
+nb
+ZT
+Jc
+QT
+sU
+Pq
+Pq
+ZF
+ZT
+WF
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(75,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+ao
+WH
+Rw
+Jd
+mF
+MX
+tH
+xg
+SF
+FT
+FR
+Lq
+Pl
+pI
+On
+es
+UH
+OO
+ZT
+Di
+QT
+sU
+IF
+Pq
+AL
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(76,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+ap
+WH
+eP
+kM
+mR
+oX
+tH
+xh
+BE
+FX
+FR
+FR
+PC
+On
+On
+LV
+NU
+Bp
+ZT
+Di
+ZW
+lz
+ug
+Pq
+EP
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(77,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+lm
+WH
+eX
+iX
+mT
+oX
+tH
+xi
+BF
+Ga
+FR
+FR
+PC
+On
+On
+Vg
+TI
+Gl
+ZT
+DR
+aI
+ql
+iC
+Pq
+UY
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(78,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+yY
+br
+WH
+ff
+ip
+mV
+pa
+tH
+xr
+BU
+GK
+FR
+LA
+Pl
+Me
+On
+kz
+On
+pW
+ZT
+SV
+DJ
+QT
+jn
+Pq
+sf
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(79,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ab
+Zo
+bI
+WH
+WH
+ip
+mV
+pd
+tH
+xt
+BU
+FR
+FR
+Md
+Pl
+Sy
+On
+FY
+On
+JZ
+ZT
+Wl
+DJ
+QT
+Pq
+Pq
+yJ
+ZT
+WF
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(80,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Sr
+Zo
+Zo
+do
+do
+ip
+mV
+pn
+tH
+xv
+Ce
+FR
+FR
+Mt
+Pl
+gX
+On
+QM
+my
+Fq
+ZT
+DM
+DJ
+QT
+xz
+HC
+ZT
+ZT
+Fd
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(81,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+kO
+Zo
+Bo
+Bo
+ip
+mZ
+Bo
+tH
+tH
+CI
+GO
+GO
+CI
+Yd
+TR
+Wu
+UT
+TR
+Yd
+ZT
+PD
+un
+VJ
+KI
+KI
+ZT
+eD
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(82,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Dd
+dp
+fj
+ip
+mV
+pt
+oi
+xG
+CL
+GR
+GR
+MD
+Qc
+GU
+WE
+hV
+WA
+EB
+oi
+qA
+oQ
+dx
+Nd
+PA
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(83,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Dd
+dr
+fj
+jz
+nc
+pv
+ta
+xM
+CM
+Tl
+Tl
+Tl
+Tl
+Tl
+Tl
+Tl
+Vn
+kG
+rV
+Hp
+Sp
+wX
+Pq
+Pq
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(84,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Dd
+dB
+fj
+jD
+JM
+ip
+Tl
+JE
+Nf
+Nf
+Nf
+Nf
+Nf
+Nf
+Nf
+Nf
+Nf
+yi
+dA
+QT
+Lh
+Xo
+Pq
+Pq
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(85,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Ye
+Dd
+dV
+fj
+ip
+mV
+pG
+tE
+yf
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+Ee
+tE
+OZ
+Cq
+tg
+km
+PA
+kx
+TU
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(86,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+af
+bM
+Cx
+Cx
+jK
+nn
+pK
+Cx
+yj
+WC
+WC
+YW
+WC
+WC
+WC
+YW
+WC
+WC
+dk
+uq
+ga
+po
+Rv
+dq
+dq
+MZ
+Jg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(87,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ag
+bM
+Cx
+fx
+jQ
+np
+pM
+Cx
+yj
+WC
+YW
+HO
+kt
+ML
+Pe
+HO
+YW
+WC
+dk
+dq
+gf
+TF
+ij
+hv
+dq
+MZ
+aC
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(88,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+Cx
+fE
+jQ
+np
+pY
+tX
+yv
+WC
+HO
+HO
+tW
+QP
+tV
+HO
+HO
+WC
+Nz
+nl
+pU
+TF
+ij
+wp
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(89,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+Cx
+fP
+jU
+nt
+qa
+tX
+yx
+WC
+Hu
+mH
+MT
+QR
+MT
+HH
+dT
+WC
+Nz
+nl
+ij
+LB
+xU
+GT
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(90,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ai
+bM
+Cx
+fU
+jY
+nv
+qd
+tX
+xO
+WC
+Hq
+JN
+MT
+QS
+MT
+WJ
+og
+WC
+Nz
+nl
+mh
+LZ
+LJ
+hS
+dq
+MZ
+Cr
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(91,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+Cx
+fZ
+jQ
+np
+qo
+tX
+xO
+WC
+Hu
+JN
+MU
+QX
+SZ
+WJ
+dT
+WC
+Zx
+nl
+pb
+nq
+ij
+MC
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(92,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+bM
+qy
+ki
+nz
+qy
+bM
+xO
+WC
+Hq
+JN
+MU
+Eq
+SZ
+WJ
+og
+WC
+Zx
+nl
+dq
+zb
+PG
+dq
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(93,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+af
+bM
+bM
+gh
+jQ
+np
+qz
+bM
+Ok
+WC
+Hu
+GZ
+MT
+Jx
+MT
+EG
+dT
+WC
+Zx
+nl
+aQ
+nq
+ij
+aQ
+dq
+MZ
+Jg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(94,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+bM
+gw
+jQ
+np
+qD
+bM
+xO
+WC
+HO
+HO
+Ng
+Rc
+Du
+HO
+HO
+WC
+Zx
+nl
+cO
+nq
+ij
+Mb
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(95,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+bM
+gy
+jQ
+np
+qE
+bM
+xO
+WC
+ax
+HO
+yg
+HK
+yg
+HO
+ax
+WC
+Zx
+nl
+NJ
+nq
+ij
+NJ
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(96,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ai
+bM
+bM
+gF
+kl
+nB
+qQ
+bM
+xO
+WC
+WC
+HO
+WC
+WC
+WC
+HO
+WC
+WC
+Zx
+dq
+wZ
+gZ
+CP
+wZ
+dq
+MZ
+Cr
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(97,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+bM
+gW
+jY
+nP
+qS
+bM
+xO
+WC
+WC
+HO
+WC
+WC
+WC
+HO
+WC
+WC
+Zx
+dq
+ij
+nq
+ij
+ij
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(98,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ah
+bM
+bM
+hj
+jQ
+jQ
+qT
+bM
+yB
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+WC
+zr
+dq
+mN
+SB
+tx
+mN
+dq
+MZ
+ci
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(99,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ag
+bM
+bM
+hk
+jQ
+jQ
+rp
+bM
+yD
+QE
+QE
+QE
+QE
+QE
+QE
+QE
+QE
+QE
+Ff
+dq
+vb
+iW
+LJ
+vb
+dq
+MZ
+aC
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(100,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+af
+bM
+bM
+bM
+kn
+nR
+rr
+bM
+yX
+CH
+CH
+CH
+CH
+CH
+CH
+CH
+CH
+CH
+yX
+MZ
+dq
+jv
+ij
+dq
+MZ
+MZ
+Jg
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(101,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ai
+bM
+bM
+bM
+bM
+bM
+bM
+ib
+za
+za
+za
+za
+za
+za
+za
+za
+za
+hW
+MZ
+MZ
+sT
+sT
+MZ
+MZ
+Cr
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(102,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+dW
+bM
+bM
+bM
+bM
+ai
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+Cr
+MZ
+MZ
+MZ
+MZ
+vK
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(103,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ag
+bM
+bM
+bM
+ah
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ci
+MZ
+MZ
+MZ
+aC
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(104,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ai
+bM
+bM
+tZ
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+FP
+MZ
+MZ
+Cr
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(105,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+rO
+bM
+ah
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ci
+MZ
+az
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(106,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+ag
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+aC
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(107,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(108,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(109,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(110,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(111,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(112,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(113,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(114,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(115,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(116,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(117,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(118,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(119,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(120,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(121,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(122,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(123,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(124,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(125,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(126,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(127,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(128,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(129,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+oN
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(130,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(131,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(132,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(133,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(134,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(135,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(136,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(137,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(138,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(139,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+"}
+(140,1,1) = {"
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
+yz
"}
diff --git a/maps/submaps/surface_submaps/mountains/Cliff1.dmm b/maps/submaps/surface_submaps/mountains/Cliff1.dmm
index 2b6f57b9f1..1897f0ab17 100644
--- a/maps/submaps/surface_submaps/mountains/Cliff1.dmm
+++ b/maps/submaps/surface_submaps/mountains/Cliff1.dmm
@@ -1,23 +1,25 @@
"a" = (/turf/template_noop,/area/template_noop)
"b" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"c" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"d" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"f" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"h" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"i" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"j" = (/obj/random/humanoidremains{spawn_nothing_percentage = 70},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
+"c" = (/obj/item/weapon/ore,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"d" = (/obj/random/outcrop,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"e" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"f" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"h" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"i" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"j" = (/obj/random/humanoidremains{spawn_nothing_percentage = 70},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
+"k" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/ore_cliff)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
abbbbabbbbbbbaabbbbbbbbaaabbaa
-aabcbbbdbcbbbbbbdbbcdbbbbcbbaa
-aabefcbbbbbdbbcbbbbbbcghhhibaa
-aabcehhfbbbbbbbbbcghhhibbbcbaa
-aaajbbbehfbcbghhhhibbbcjbbbaaa
-aaaaabbcbehhhibbbbbbcbbbbaaaaa
-aaaaaaacbbbjbbcbbcbbbaaaaaaaaa
+aakckkbdbcbbbbbbdbbcdbbkkckkaa
+aakefckkkbbdbbcbbbkkkcghhhikaa
+aakcehhfkkkkkkkkkcghhhikkkckaa
+aaajkkkehfkckghhhhikkkcjbbbaaa
+aaaaabkckehhhikkkkkkcbbbbaaaaa
+aaaaaaackkkjkkcbbcbbbaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
+
diff --git a/maps/submaps/surface_submaps/mountains/Geyser1.dmm b/maps/submaps/surface_submaps/mountains/Geyser1.dmm
index 32a4bb18d0..c61b3d11a1 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser1.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser1.dmm
@@ -1,10 +1,10 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/random/outcrop,/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/turf/simulated/floor/water/deep{outdoors = 0},/area/template_noop)
-"g" = (/obj/random/turf/lava,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
+"b" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"c" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"d" = (/obj/random/outcrop,/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"e" = (/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
+"f" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/turf/simulated/floor/water/deep{outdoors = 0},/area/submap/geyser_1)
+"g" = (/obj/random/turf/lava,/obj/random/outcrop,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_1)
(1,1,1) = {"
accbdca
diff --git a/maps/submaps/surface_submaps/mountains/Geyser2.dmm b/maps/submaps/surface_submaps/mountains/Geyser2.dmm
index ddc99e4eb4..339736597f 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser2.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser2.dmm
@@ -1,16 +1,16 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/structure/fence{icon_state = "straight"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"g" = (/obj/structure/fence/cut/large,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"h" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"i" = (/obj/structure/fence,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"j" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"k" = (/obj/structure/fence/door/locked,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"l" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"m" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/random/humanoidremains,/obj/random/medical/lite,/turf/simulated/floor/water/deep{outdoors = 0},/area/template_noop)
+"b" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"c" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"d" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"e" = (/obj/structure/fence{icon_state = "straight"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"f" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"g" = (/obj/structure/fence/cut/large,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"h" = (/mob/living/simple_mob/mechanical/viscerator,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"i" = (/obj/structure/fence,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"j" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"k" = (/obj/structure/fence/door/locked,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"l" = (/obj/structure/fence/corner{icon_state = "corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_2)
+"m" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/mist{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/random/humanoidremains,/obj/random/medical/lite,/turf/simulated/floor/water/deep{outdoors = 0},/area/submap/geyser_2)
(1,1,1) = {"
abbcbba
diff --git a/maps/submaps/surface_submaps/mountains/Geyser3.dmm b/maps/submaps/surface_submaps/mountains/Geyser3.dmm
index 00abb7bf98..70047b220a 100644
--- a/maps/submaps/surface_submaps/mountains/Geyser3.dmm
+++ b/maps/submaps/surface_submaps/mountains/Geyser3.dmm
@@ -1,21 +1,21 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"c" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"d" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"f" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"g" = (/turf/simulated/floor/lava,/area/template_noop)
-"h" = (/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"i" = (/obj/structure/cliff/automatic/corner,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"j" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"k" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"l" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/fire{interval_upper_bound = 1200},/turf/simulated/floor/lava,/area/template_noop)
-"m" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"n" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"o" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
-"r" = (/obj/random/multiple/minevault,/turf/simulated/floor/outdoors/rocks/caves,/area/template_noop)
+"b" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"c" = (/obj/structure/cliff/automatic,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"d" = (/obj/random/turf/lava,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"f" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"g" = (/turf/simulated/floor/lava,/area/submap/geyser_3)
+"h" = (/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"i" = (/obj/structure/cliff/automatic/corner,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"j" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"k" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"l" = (/obj/effect/map_effect/interval/effect_emitter/steam,/obj/effect/map_effect/interval/effect_emitter/smoke/bad{interval_lower_bound = 100; interval_upper_bound = 3000},/obj/effect/map_effect/interval/screen_shaker{interval_upper_bound = 600},/obj/effect/map_effect/interval/effect_emitter/smoke/fire{interval_upper_bound = 1200},/turf/simulated/floor/lava,/area/submap/geyser_3)
+"m" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"n" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"o" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
+"r" = (/obj/random/multiple/minevault,/turf/simulated/floor/outdoors/rocks/caves,/area/submap/geyser_3)
(1,1,1) = {"
abcdcea
diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm
index 34f151a17f..83447b714c 100644
--- a/maps/submaps/surface_submaps/mountains/mountains.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains.dm
@@ -25,6 +25,7 @@
#include "vault3.dmm"
#include "vault4.dmm"
#include "vault5.dmm"
+#include "vault6.dmm"
#include "IceCave1A.dmm"
#include "IceCave1B.dmm"
#include "IceCave1C.dmm"
diff --git a/maps/submaps/surface_submaps/mountains/mountains_areas.dm b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
index 04c8568513..d39e38823b 100644
--- a/maps/submaps/surface_submaps/mountains/mountains_areas.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
@@ -96,6 +96,10 @@
name = "POI - Mine Vault"
ambience = AMBIENCE_FOREBODING
+/area/submap/cave/vault6
+ name = "POI - Mine Vault"
+ ambience = AMBIENCE_FOREBODING
+
/area/submap/cave/IceCave1A
name = "POI - Ice Cave 1A"
ambience = AMBIENCE_SPACE
@@ -123,6 +127,22 @@
name = "POI - Crashed Containment Shuttle"
ambience = AMBIENCE_HIGHSEC
+/area/submap/geyser_1
+ name = "POI - Ore-Rich Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/geyser_2
+ name = "POI - Fenced Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/geyser_3
+ name = "POI - Magmatic Geyser"
+ ambience = AMBIENCE_RUINS
+
+/area/submap/ore_cliff
+ name = "POI - Ore-Topped Cliff"
+ ambience = AMBIENCE_RUINS
+
/area/submap/deadspy
name = "POI - Dead Spy"
ambience = AMBIENCE_FOREBODING
diff --git a/maps/submaps/surface_submaps/mountains/vault6.dmm b/maps/submaps/surface_submaps/mountains/vault6.dmm
index b39128369e..c1ae439301 100644
--- a/maps/submaps/surface_submaps/mountains/vault6.dmm
+++ b/maps/submaps/surface_submaps/mountains/vault6.dmm
@@ -1,22 +1,22 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"c" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"d" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"h" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"i" = (/mob/living/simple_mob/humanoid/merc/ranged/grenadier,/turf/simulated/floor/cult,/area/template_noop)
-"j" = (/turf/simulated/floor/cult,/area/template_noop)
-"k" = (/obj/random/tool/power,/obj/random/tech_supply,/turf/simulated/floor/cult,/area/template_noop)
-"l" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"m" = (/obj/structure/bonfire/permanent/sifwood,/obj/structure/grille/rustic,/turf/simulated/floor/cult,/area/template_noop)
-"n" = (/obj/random/multiple/minevault,/turf/simulated/floor/cult,/area/template_noop)
-"o" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"r" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
-"s" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/template_noop)
+"b" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"c" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 2},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"d" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"e" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 6},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"f" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"g" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 10},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"h" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 4},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"i" = (/mob/living/simple_mob/humanoid/merc/ranged/grenadier,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"j" = (/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"k" = (/obj/random/tool/power,/obj/random/tech_supply,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"l" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 8},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"m" = (/obj/structure/bonfire/permanent/sifwood,/obj/structure/grille/rustic,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"n" = (/obj/random/multiple/minevault,/turf/simulated/floor/cult,/area/submap/cave/vault6)
+"o" = (/obj/structure/cliff/automatic/corner,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"p" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 5},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"q" = (/obj/structure/cliff/automatic{icon_state = "cliffbuilder"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"r" = (/obj/structure/cliff/automatic/corner{icon_state = "cliffbuilder-corner"; dir = 9},/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
+"s" = (/obj/structure/cliff/automatic,/turf/simulated/mineral/floor/ignore_mapgen,/area/submap/cave/vault6)
(1,1,1) = {"
aaaaaaaaa
diff --git a/maps/tether/submaps/tether_plains.dmm b/maps/tether/submaps/tether_plains.dmm
index 784fcc9e91..40614ab1eb 100644
--- a/maps/tether/submaps/tether_plains.dmm
+++ b/maps/tether/submaps/tether_plains.dmm
@@ -37,7 +37,6 @@
dir = 1;
id = "wilderness";
name = "Anti-Fauna shutters";
- pixel_x = 0;
pixel_y = -25
},
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
@@ -45,8 +44,7 @@
"aj" = (
/obj/effect/floor_decal/rust,
/obj/machinery/light/small{
- dir = 8;
- pixel_x = 0
+ dir = 8
},
/turf/simulated/floor/tiled/steel_dirty/virgo3b,
/area/tether/outpost/exploration_shed)
@@ -99,7 +97,6 @@
/area/tether/outpost/exploration_shed)
"aq" = (
/obj/machinery/button/remote/blast_door{
- dir = 2;
id = "wilderness";
name = "Anti-Fauna shutters";
pixel_x = -1;
@@ -123,6 +120,9 @@
"bF" = (
/turf/simulated/mineral/virgo3b,
/area/mine/unexplored)
+"Al" = (
+/turf/simulated/mineral/virgo3b,
+/area/mine/explored)
"BE" = (
/mob/living/simple_mob/animal/space/goose/virgo3b,
/turf/simulated/floor/outdoors/grass/sif/virgo3b,
@@ -131,6 +131,9 @@
/mob/living/simple_mob/animal/passive/gaslamp,
/turf/simulated/floor/outdoors/grass/sif/virgo3b,
/area/tether/outpost/exploration_plains)
+"ID" = (
+/turf/simulated/mineral/virgo3b,
+/area/tether/outpost/exploration_shed)
(1,1,1) = {"
as
@@ -418,7 +421,7 @@ ac
"}
(3,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -560,7 +563,7 @@ ac
"}
(4,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -702,7 +705,7 @@ ac
"}
(5,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -844,7 +847,7 @@ ac
"}
(6,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -986,7 +989,7 @@ ac
"}
(7,1,1) = {"
as
-bF
+Al
ad
ad
bF
@@ -1128,7 +1131,7 @@ ac
"}
(8,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -1270,7 +1273,7 @@ ac
"}
(9,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -1412,7 +1415,7 @@ ac
"}
(10,1,1) = {"
as
-ab
+Al
ad
ad
ab
@@ -1554,8 +1557,8 @@ ac
"}
(11,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1696,8 +1699,8 @@ ac
"}
(12,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1838,8 +1841,8 @@ ac
"}
(13,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -1980,8 +1983,8 @@ ac
"}
(14,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2122,8 +2125,8 @@ ac
"}
(15,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2264,8 +2267,8 @@ ac
"}
(16,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2406,8 +2409,8 @@ ac
"}
(17,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2548,8 +2551,8 @@ ac
"}
(18,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2690,8 +2693,8 @@ ac
"}
(19,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2832,8 +2835,8 @@ ac
"}
(20,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -2974,8 +2977,8 @@ ac
"}
(21,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3116,8 +3119,8 @@ ac
"}
(22,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3258,8 +3261,8 @@ ac
"}
(23,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3400,8 +3403,8 @@ ac
"}
(24,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3542,8 +3545,8 @@ ac
"}
(25,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3684,8 +3687,8 @@ ac
"}
(26,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3826,8 +3829,8 @@ ac
"}
(27,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -3968,8 +3971,8 @@ ac
"}
(28,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4110,8 +4113,8 @@ ac
"}
(29,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4252,8 +4255,8 @@ ac
"}
(30,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4394,8 +4397,8 @@ ac
"}
(31,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4536,8 +4539,8 @@ ac
"}
(32,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4678,8 +4681,8 @@ ac
"}
(33,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4820,8 +4823,8 @@ ac
"}
(34,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -4962,8 +4965,8 @@ ac
"}
(35,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5104,8 +5107,8 @@ ac
"}
(36,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5246,8 +5249,8 @@ ac
"}
(37,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
Em
@@ -5388,8 +5391,8 @@ ac
"}
(38,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5530,8 +5533,8 @@ ac
"}
(39,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5672,8 +5675,8 @@ ac
"}
(40,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5814,8 +5817,8 @@ ac
"}
(41,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -5956,8 +5959,8 @@ ac
"}
(42,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6098,8 +6101,8 @@ ac
"}
(43,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6240,8 +6243,8 @@ ac
"}
(44,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6382,8 +6385,8 @@ ac
"}
(45,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6524,8 +6527,8 @@ ac
"}
(46,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6666,8 +6669,8 @@ ac
"}
(47,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6808,8 +6811,8 @@ ac
"}
(48,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -6950,8 +6953,8 @@ ac
"}
(49,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7092,8 +7095,8 @@ ac
"}
(50,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7234,8 +7237,8 @@ ac
"}
(51,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7376,8 +7379,8 @@ ac
"}
(52,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7518,8 +7521,8 @@ ac
"}
(53,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7660,8 +7663,8 @@ ac
"}
(54,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7802,8 +7805,8 @@ ac
"}
(55,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -7944,8 +7947,8 @@ ac
"}
(56,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8086,8 +8089,8 @@ ac
"}
(57,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8228,8 +8231,8 @@ ac
"}
(58,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8370,8 +8373,8 @@ ac
"}
(59,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8512,8 +8515,8 @@ ac
"}
(60,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8654,8 +8657,8 @@ ac
"}
(61,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8796,8 +8799,8 @@ ac
"}
(62,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -8938,7 +8941,7 @@ ac
"}
(63,1,1) = {"
as
-ab
+Al
ad
ad
ab
@@ -9080,7 +9083,7 @@ ac
"}
(64,1,1) = {"
at
-an
+ID
an
an
an
@@ -10784,7 +10787,7 @@ ac
"}
(76,1,1) = {"
at
-an
+ID
an
an
an
@@ -10926,7 +10929,7 @@ ac
"}
(77,1,1) = {"
as
-ad
+Al
ad
ad
ab
@@ -11068,8 +11071,8 @@ ac
"}
(78,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11210,8 +11213,8 @@ ac
"}
(79,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11352,8 +11355,8 @@ ac
"}
(80,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11494,8 +11497,8 @@ ac
"}
(81,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11636,8 +11639,8 @@ ac
"}
(82,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11778,8 +11781,8 @@ ac
"}
(83,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -11920,8 +11923,8 @@ ac
"}
(84,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12062,8 +12065,8 @@ ac
"}
(85,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12204,8 +12207,8 @@ ac
"}
(86,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12346,8 +12349,8 @@ ac
"}
(87,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12488,8 +12491,8 @@ ac
"}
(88,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12630,8 +12633,8 @@ ac
"}
(89,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12772,8 +12775,8 @@ ac
"}
(90,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -12914,8 +12917,8 @@ ac
"}
(91,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13056,8 +13059,8 @@ ac
"}
(92,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13198,8 +13201,8 @@ ac
"}
(93,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13340,8 +13343,8 @@ ac
"}
(94,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13482,8 +13485,8 @@ ac
"}
(95,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13624,8 +13627,8 @@ ac
"}
(96,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13766,8 +13769,8 @@ ac
"}
(97,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -13908,8 +13911,8 @@ ac
"}
(98,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14050,8 +14053,8 @@ ac
"}
(99,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14192,8 +14195,8 @@ ac
"}
(100,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14334,8 +14337,8 @@ ac
"}
(101,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14476,8 +14479,8 @@ ac
"}
(102,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14618,8 +14621,8 @@ ac
"}
(103,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14760,8 +14763,8 @@ ac
"}
(104,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -14902,8 +14905,8 @@ ac
"}
(105,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15044,8 +15047,8 @@ ac
"}
(106,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15186,8 +15189,8 @@ ac
"}
(107,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15328,8 +15331,8 @@ ac
"}
(108,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15470,8 +15473,8 @@ ac
"}
(109,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15612,8 +15615,8 @@ ac
"}
(110,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15754,8 +15757,8 @@ ac
"}
(111,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -15896,8 +15899,8 @@ ac
"}
(112,1,1) = {"
as
-ab
-ab
+Al
+ad
BE
ab
ab
@@ -16038,8 +16041,8 @@ ac
"}
(113,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16180,8 +16183,8 @@ ac
"}
(114,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16322,8 +16325,8 @@ ac
"}
(115,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16464,8 +16467,8 @@ ac
"}
(116,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16606,8 +16609,8 @@ ac
"}
(117,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16748,8 +16751,8 @@ ac
"}
(118,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -16890,8 +16893,8 @@ ac
"}
(119,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17032,8 +17035,8 @@ ac
"}
(120,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17174,8 +17177,8 @@ ac
"}
(121,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17316,8 +17319,8 @@ ac
"}
(122,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17458,8 +17461,8 @@ ac
"}
(123,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17600,8 +17603,8 @@ ac
"}
(124,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
Em
ab
@@ -17742,8 +17745,8 @@ ac
"}
(125,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -17884,8 +17887,8 @@ ac
"}
(126,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18026,8 +18029,8 @@ ac
"}
(127,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18168,8 +18171,8 @@ ac
"}
(128,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18310,8 +18313,8 @@ ac
"}
(129,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18452,8 +18455,8 @@ ac
"}
(130,1,1) = {"
as
-ab
-ab
+Al
+ad
ab
ab
ab
@@ -18594,9 +18597,9 @@ ac
"}
(131,1,1) = {"
as
-ab
-ab
-ab
+Al
+ad
+ad
ab
ab
ab
@@ -18736,9 +18739,9 @@ ac
"}
(132,1,1) = {"
as
-ab
-ab
-ab
+Al
+ad
+ad
ad
ab
ab
@@ -18878,8 +18881,8 @@ ac
"}
(133,1,1) = {"
as
+Al
ad
-ab
ad
ad
ad
@@ -19020,7 +19023,7 @@ ac
"}
(134,1,1) = {"
as
-ad
+Al
ad
ad
ad
@@ -19162,7 +19165,7 @@ ac
"}
(135,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19304,7 +19307,7 @@ ac
"}
(136,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19446,7 +19449,7 @@ ac
"}
(137,1,1) = {"
as
-bF
+Al
bF
bF
bF
@@ -19588,7 +19591,7 @@ ac
"}
(138,1,1) = {"
as
-bF
+Al
bF
bF
bF
diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm
index 23c94f3b30..11972d9de4 100644
--- a/maps/tether/tether_defines.dm
+++ b/maps/tether/tether_defines.dm
@@ -87,7 +87,7 @@
shuttle_recall_message = "The scheduled crew transfer has been cancelled."
shuttle_name = "Automated Tram"
emergency_shuttle_docked_message = "The evacuation tram has arrived at the tram station. You have approximately %ETD% to board the tram."
- emergency_shuttle_leaving_dock = "The emergency tram has left the station. Estimate %ETA% until the shuttle arrives at %dock_name%."
+ emergency_shuttle_leaving_dock = "The emergency tram has left the station. Estimate %ETA% until the tram arrives at %dock_name%."
emergency_shuttle_called_message = "An emergency evacuation has begun, and an off-schedule tram has been called. It will arrive at the tram station in approximately %ETA%."
emergency_shuttle_recall_message = "The evacuation tram has been recalled."
@@ -288,8 +288,8 @@
// For making the 6-in-1 holomap, we calculate some offsets
#define TETHER_MAP_SIZE 140 // Width and height of compiled in tether z levels.
#define TETHER_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns
-#define TETHER_HOLOMAP_MARGIN_X ((HOLOMAP_ICON_SIZE - (2*TETHER_MAP_SIZE) - TETHER_HOLOMAP_CENTER_GUTTER) / 2) // 100
-#define TETHER_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*TETHER_MAP_SIZE)) / 2) // 60
+#define TETHER_HOLOMAP_MARGIN_X ((HOLOMAP_ICON_SIZE - (2*TETHER_MAP_SIZE) - TETHER_HOLOMAP_CENTER_GUTTER) / 2) // 80
+#define TETHER_HOLOMAP_MARGIN_Y ((HOLOMAP_ICON_SIZE - (3*TETHER_MAP_SIZE)) / 2) // 30
// We have a bunch of stuff common to the station z levels
/datum/map_z_level/tether/station
diff --git a/rust_g b/rust_g
deleted file mode 100644
index 57684fff77..0000000000
Binary files a/rust_g and /dev/null differ
diff --git a/rust_g.dll b/rust_g.dll
index 9438c14445..5e60ff2cd4 100644
Binary files a/rust_g.dll and b/rust_g.dll differ
diff --git a/sound/effects/mob_effects/f_scream_1.ogg b/sound/effects/mob_effects/f_scream_1.ogg
new file mode 100644
index 0000000000..c0f80a1408
Binary files /dev/null and b/sound/effects/mob_effects/f_scream_1.ogg differ
diff --git a/sound/effects/mob_effects/f_scream_2.ogg b/sound/effects/mob_effects/f_scream_2.ogg
new file mode 100644
index 0000000000..978a236dd1
Binary files /dev/null and b/sound/effects/mob_effects/f_scream_2.ogg differ
diff --git a/sound/effects/mob_effects/f_scream_3.ogg b/sound/effects/mob_effects/f_scream_3.ogg
new file mode 100644
index 0000000000..30e4150a56
Binary files /dev/null and b/sound/effects/mob_effects/f_scream_3.ogg differ
diff --git a/sound/effects/mob_effects/f_scream_4.ogg b/sound/effects/mob_effects/f_scream_4.ogg
new file mode 100644
index 0000000000..96a08297b2
Binary files /dev/null and b/sound/effects/mob_effects/f_scream_4.ogg differ
diff --git a/sound/effects/mob_effects/m_scream_1.ogg b/sound/effects/mob_effects/m_scream_1.ogg
new file mode 100644
index 0000000000..989b612ab1
Binary files /dev/null and b/sound/effects/mob_effects/m_scream_1.ogg differ
diff --git a/sound/effects/mob_effects/m_scream_2.ogg b/sound/effects/mob_effects/m_scream_2.ogg
new file mode 100644
index 0000000000..902db1c132
Binary files /dev/null and b/sound/effects/mob_effects/m_scream_2.ogg differ
diff --git a/sound/effects/mob_effects/m_scream_3.ogg b/sound/effects/mob_effects/m_scream_3.ogg
new file mode 100644
index 0000000000..62f787d4a7
Binary files /dev/null and b/sound/effects/mob_effects/m_scream_3.ogg differ
diff --git a/sound/effects/mob_effects/m_scream_4.ogg b/sound/effects/mob_effects/m_scream_4.ogg
new file mode 100644
index 0000000000..2aec2c7149
Binary files /dev/null and b/sound/effects/mob_effects/m_scream_4.ogg differ
diff --git a/tgui/packages/tgui/interfaces/CommunicationsConsole.js b/tgui/packages/tgui/interfaces/CommunicationsConsole.js
index d76abba47d..dc2934cbd6 100644
--- a/tgui/packages/tgui/interfaces/CommunicationsConsole.js
+++ b/tgui/packages/tgui/interfaces/CommunicationsConsole.js
@@ -81,7 +81,7 @@ const CommunicationsConsoleMain = (props, context) => {
key={slevel.name}
icon={slevel.icon}
content={slevel.name}
- disabled={!authmax}
+ disabled={!authenticated}
selected={slevel.id === security_level}
onClick={() => act('newalertlevel', { level: slevel.id })} />
);
@@ -89,15 +89,8 @@ const CommunicationsConsoleMain = (props, context) => {
return (
-
+
-
- {alertLevelText}
-
-
- {alertLevelButtons}
-
{
+
+ {alertLevelText}
+
+
+ {alertLevelButtons}
+
35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",c&&"Tooltip--long",a&&"Tooltip--"+a,i&&"Tooltip--scale--"+Math.floor(i)]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(0),r=n(10),a=n(19);t.Dimmer=function(e){var t=e.className,n=e.children,i=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Dimmer"].concat(t))},i,{children:(0,o.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var o=n(0),r=n(10);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,o.createVNode)(1,"div",(0,r.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(0),r=n(10),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.alignContent,l=e.justify,d=e.inline,u=e.spacing,s=void 0===u?0:u,m=e.spacingPrecise,p=void 0===m?0:m,h=i(e,["className","direction","wrap","align","alignContent","justify","inline","spacing","spacingPrecise"]);return Object.assign({className:(0,r.classes)(["Flex",Byond.IS_LTE_IE10&&("column"===n?"Flex--iefix--column":"Flex--iefix"),d&&"Flex--inline",s>0&&"Flex--spacing--"+s,p>0&&"Flex--spacingPrecise--"+p,t]),style:Object.assign({},h.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"align-content":c,"justify-content":l})},h)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.className,n=e.grow,o=e.order,c=e.shrink,l=e.basis,d=void 0===l?e.width:l,u=e.align,s=i(e,["className","grow","order","shrink","basis","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",Byond.IS_LTE_IE10&&"Flex__item--iefix",t]),style:Object.assign({},s.style,{"flex-grow":n,"flex-shrink":c,"flex-basis":(0,a.unit)(d),order:o,"align-self":u})},s)};t.computeFlexItemProps=d;var u=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},d(e))))};t.FlexItem=u,u.defaultHooks=r.pureComponentHooks,l.Item=u},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(0),r=n(10),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.collapsing,c=e.children,l=i(e,["className","collapsing","children"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"table",(0,r.classes)(["Table",n&&"Table--collapsing",t,(0,a.computeBoxClassName)(l)]),(0,o.createVNode)(1,"tbody",null,c,0),2,Object.assign({},(0,a.computeBoxProps)(l))))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"tr",(0,r.classes)(["Table__row",n&&"Table__row--header",t,(0,a.computeBoxClassName)(e)]),null,1,Object.assign({},(0,a.computeBoxProps)(c))))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"td",(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t,(0,a.computeBoxClassName)(e)]),null,1,Object.assign({},(0,a.computeBoxProps)(l))))};t.TableCell=d,d.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=d},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(0),r=n(10),a=n(19),i=n(180),c=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,d=e.textAlign,u=e.verticalAlign,s=e.buttons,m=e.content,p=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,verticalAlign:u,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,textAlign:d,verticalAlign:u,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:s?undefined:2,children:[m,p]}),s&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",s,0)],0)};t.LabeledListItem=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.size?(0,a.unit)(Math.max(0,e.size-1)):0;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=d,d.defaultHooks=r.pureComponentHooks,c.Item=l,c.Divider=d},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var o=n(0),r=n(10),a=n(7),i=n(1),c=n(2),l=n(28),d=n(125),u=n(174),s=n(24),m=n(176),p=n(126);var h=(0,s.createLogger)("Window"),f=[400,600],C=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=(0,i.useBackend)(this.context),t=e.config;if(!e.suspended){h.log("mounting");var n=Object.assign({size:f},t.window);this.props.width&&this.props.height&&(n.size=[this.props.width,this.props.height]),(0,u.setWindowKey)(t.window.key),(0,u.recallWindowGeometry)(t.window.key,n),(0,p.refocusLayout)()}},s.render=function(){var e,t=this.props,n=t.resizable,c=t.theme,s=t.title,f=t.children,C=(0,i.useBackend)(this.context),N=C.config,V=C.suspended,g=(0,d.useDebug)(this.context).debugLayout,v=(0,m.useDispatch)(this.context),k=null==(e=N.window)?void 0:e.fancy,y=N.user.observer?N.status=0||(r[n]=e[n]);return r}(e,["className","fitted","scrollable","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,p.Layout.Content,Object.assign({scrollable:a,className:(0,r.classes)(["Window__content",t])},c,{children:n&&i||(0,o.createVNode)(1,"div","Window__contentPadding",i,0)})))};var N=function(e){switch(e){case l.UI_INTERACTIVE:return"good";case l.UI_UPDATE:return"average";case l.UI_DISABLED:default:return"bad"}},b=function(e,t){var n=e.className,i=e.title,l=e.status,d=e.fancy,u=e.onDragStart,s=e.onClose;(0,m.useDispatch)(t);return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",n]),[(0,o.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",color:N(l),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title","string"==typeof i&&i===i.toLowerCase()&&(0,a.toTitleCase)(i)||i,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&u(e)}}),!1,!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",Byond.IS_LTE_IE8?"x":"\xd7",0,{onclick:s})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(0),r=n(1),a=n(2);t.InterfaceLockNoticeBox=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.siliconUser,d=void 0===l?c.siliconUser:l,u=e.locked,s=void 0===u?c.locked:u,m=e.normallyLocked,p=void 0===m?c.normallyLocked:m,h=e.onLockStatusChange,f=void 0===h?function(){return i("lock")}:h,C=e.accessText,N=void 0===C?"an ID card":C,b=e.deny,V=void 0!==b&&b,g=e.denialMessage;return V?void 0===g?"Error.":g:d?(0,o.createComponentVNode)(2,a.NoticeBox,{color:d&&"grey",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1"}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{m:"0",color:p?"red":"green",icon:p?"lock":"unlock",content:p?"Locked":"Unlocked",onClick:function(){f&&f(!s)}})})]})}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Swipe ",N," ","to ",s?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlContent=t.AtmosControl=void 0;var o=n(0),r=n(8),a=n(3),i=n(2),c=n(1);(0,n(24).createLogger)("fuck");t.AtmosControl=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:600,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n,a=(0,c.useBackend)(t),l=a.act,d=a.data,u=a.config,s=(0,r.sortBy)((function(e){return e.name}))(d.alarms||[]),m=(0,c.useLocalState)(t,"tabIndex",0),p=m[0],h=m[1],f=(0,c.useLocalState)(t,"zoom",1),C=f[0],N=f[1];return 0===p?n=(0,o.createComponentVNode)(2,i.Section,{title:"Alarms",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,color:2===e.danger?"bad":1===e.danger?"average":"",onClick:function(){return l("alarm",{alarm:e.ref})}},e.name)}))}):1===p&&(n=(0,o.createComponentVNode)(2,i.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,o.createComponentVNode)(2,i.NanoMap,{onZoom:function(e){return N(e)},children:s.filter((function(e){return~~e.z==~~u.mapZLevel})).map((function(e){return(0,o.createComponentVNode)(2,i.NanoMap.Marker,{x:e.x,y:e.y,zoom:C,icon:"bell",tooltip:e.name,color:e.danger?"red":"green",onClick:function(){return l("alarm",{alarm:e.ref})}},e.ref)}))})})),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"table"})," Alarm View"]},"AlarmView"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),(0,o.createComponentVNode)(2,i.Box,{m:2,children:n})],4)};t.AtmosControlContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.CameraConsoleSearch=t.CameraConsoleContent=t.CameraConsole=void 0;var o=n(0),r=n(8),a=n(44),i=n(10),c=n(7),l=n(1),d=n(2),u=n(3),s=function(e,t,n){void 0===t&&(t=""),void 0===n&&(n="");var o=(0,c.createSearch)(t,(function(e){return e.name}));return(0,a.flow)([(0,r.filter)((function(e){return null==e?void 0:e.name})),t&&(0,r.filter)(o),n&&(0,r.filter)((function(e){return e.networks.includes(n)})),(0,r.sortBy)((function(e){return e.name}))])(e)};t.CameraConsole=function(e,t){return(0,o.createComponentVNode)(2,u.Window,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,m)})};var m=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,i=(n.config,a.mapRef),c=a.activeCamera,m=function(e,t){var n,o;if(!t)return[];var r=e.findIndex((function(e){return e.name===t.name}));return[null==(n=e[r-1])?void 0:n.name,null==(o=e[r+1])?void 0:o.name]}(s(a.cameras),c);m[0],m[1];return(0,o.createFragment)([(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,u.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,p)}),2),(0,o.createVNode)(1,"div","CameraConsole__right",[(0,o.createVNode)(1,"div","CameraConsole__toolbar",[(0,o.createVNode)(1,"b",null,"Camera: ",16),c&&c.name||"\u2014"],0),(0,o.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-left",onClick:function(){return r("pan",{dir:8})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-up",onClick:function(){return r("pan",{dir:1})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-right",onClick:function(){return r("pan",{dir:4})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-down",onClick:function(){return r("pan",{dir:2})}})],4),(0,o.createComponentVNode)(2,d.ByondUi,{className:"CameraConsole__map",params:{id:i,type:"map"}})],4)],4)};t.CameraConsoleContent=m;var p=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=(0,l.useLocalState)(t,"searchText",""),m=c[0],p=c[1],h=(0,l.useLocalState)(t,"networkFilter",""),f=h[0],C=h[1],N=a.activeCamera,b=a.allNetworks;b.sort();var V=s(a.cameras,m,f);return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Input,{fluid:!0,mb:1,placeholder:"Search for a camera",onInput:function(e,t){return p(t)}}),(0,o.createComponentVNode)(2,d.Dropdown,{mb:1,width:"177px",options:b,placeholder:"No Filter",onSelected:function(e){return C(e)}}),(0,o.createComponentVNode)(2,d.Section,{children:V.map((function(e){return(0,o.createVNode)(1,"div",(0,i.classes)(["Button","Button--fluid","Button--color--transparent","Button--ellipsis",N&&e.name===N.name&&"Button--selected"]),e.name,0,{title:e.name,onClick:function(){(0,u.refocusLayout)(),r("switch_camera",{name:e.name})}},e.name)}))})],4)};t.CameraConsoleSearch=p},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(0),r=n(2),a=n(493),i=function(e){var t=e.beakerLoaded,n=e.beakerContents,a=void 0===n?[]:n,i=e.buttons;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===a.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),a.map((function(e,t){return(0,o.createComponentVNode)(2,r.Box,{width:"100%",children:[(0,o.createComponentVNode)(2,r.Box,{color:"label",display:"inline",verticalAlign:"middle",children:[(n=e.volume,n+" unit"+(1===n?"":"s"))," of ",e.name]}),!!i&&(0,o.createComponentVNode)(2,r.Box,{float:"right",display:"inline",children:i(e,t)}),(0,o.createComponentVNode)(2,r.Box,{clear:"both"})]},e.name);var n}))]})};t.BeakerContents=i,i.propTypes={beakerLoaded:a.bool,beakerContents:a.array,buttons:a.arrayOf(a.element)}},function(e,t,n){"use strict";t.__esModule=!0,t.CommunicationsConsoleContent=t.CommunicationsConsole=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.CommunicationsConsole=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.menu_state),c=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["ERRROR. Unknown menu_state: ",i,"Please report this to NT Technical Support."]});return 1===i?c=(0,o.createComponentVNode)(2,l):2===i?c=(0,o.createComponentVNode)(2,s):3===i&&(c=(0,o.createComponentVNode)(2,u)),(0,o.createFragment)([(0,o.createComponentVNode)(2,d),c],0)};t.CommunicationsConsoleContent=c;var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.messages,d=c.msg_cooldown,u=c.emagged,s=c.cc_cooldown,m=c.str_security_level,p=c.levels,h=c.authmax,f=c.security_level,C=c.security_level_color,N=c.authenticated,b=c.atcsquelch,V=c.boss_short,g="View ("+l.length+")",v="Make Priority Announcement";d>0&&(v+=" ("+d+"s)");var k=u?"Message [UNKNOWN]":"Message "+V;s>0&&(k+=" ("+s+"s)");var y=m,_=p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.icon,content:e.name,disabled:!h,selected:e.id===f,onClick:function(){return i("newalertlevel",{level:e.id})}},e.name)}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Site Director-Only Actions",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Alert",color:C,children:y}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Change Alert",children:_}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Announcement",children:(0,o.createComponentVNode)(2,a.Button,{icon:"bullhorn",content:v,disabled:!h||d>0,onClick:function(){return i("announce")}})}),!!u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transmit",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"broadcast-tower",color:"red",content:k,disabled:!h||s>0,onClick:function(){return i("MessageSyndicate")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!h,onClick:function(){return i("RestoreBackup")}})]})||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transmit",children:(0,o.createComponentVNode)(2,a.Button,{icon:"broadcast-tower",content:k,disabled:!h||s>0,onClick:function(){return i("MessageCentCom")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Command Staff Actions",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Displays",children:(0,o.createComponentVNode)(2,a.Button,{icon:"tv",content:"Change Status Displays",disabled:!N,onClick:function(){return i("status")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Incoming Messages",children:(0,o.createComponentVNode)(2,a.Button,{icon:"folder-open",content:g,disabled:!N,onClick:function(){return i("messagelist")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Misc",children:(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:b?"ATC Relay Disabled":"ATC Relay Enabled",disabled:!N,selected:b,onClick:function(){return i("toggleatc")}})})]})})],4)},d=function(e,t){var n,i=(0,r.useBackend)(t),c=i.act,l=i.data,d=l.authenticated,u=l.is_ai,s=l.esc_status,m=l.esc_callable,p=l.esc_recallable;return n=d?u?"AI":1===d?"Command":2===d?"Site Director":"ERROR: Report This Bug!":"Not Logged In",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Authentication",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Level",children:"AI"})||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"sign-out-alt":"id-card",selected:d,content:d?"Log Out ("+n+")":"Log In",onClick:function(){return c("auth")}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Escape Shuttle",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!s&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:s}),!!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"rocket",content:"Call Shuttle",disabled:!d,onClick:function(){return c("callshuttle")}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Recall Shuttle",disabled:!d||u,onClick:function(){return c("cancelshuttle")}})})]})})],4)},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.message_current,d=c.message_deletion_allowed,u=c.authenticated,s=c.messages;if(l)return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Return To Message List",disabled:!u,onClick:function(){return i("messagelist")}}),children:(0,o.createComponentVNode)(2,a.Box,{children:l.contents})});var m=s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View",disabled:!u||l&&l.title===e.title,onClick:function(){return i("messagelist",{msgid:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Delete",disabled:!u||!d,onClick:function(){return i("delmessage",{msgid:e.id})}})]},e.id)}));return(0,o.createComponentVNode)(2,a.Section,{title:"Messages Received",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){return i("main")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.length&&m||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"404",color:"bad",children:"No messages."})})})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.stat_display,d=c.authenticated,u=l.presets.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.label,selected:e.name===l.type,disabled:!d,onClick:function(){return i("setstat",{statdisp:e.name})}},e.name)}));return(0,o.createComponentVNode)(2,a.Section,{title:"Modify Status Screens",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){return i("main")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Line 1",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:l.line_1,disabled:!d,onClick:function(){return i("setmsg1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Line 2",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:l.line_2,disabled:!d,onClick:function(){return i("setmsg2")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitorContent=t.CrewMonitor=void 0;var o=n(0),r=n(8),a=n(44),i=n(1),c=n(3),l=n(2),d=function(e){return e.dead?"Deceased":1===parseInt(e.stat,10)?"Unconscious":"Living"},u=function(e){return e.dead?"red":1===parseInt(e.stat,10)?"orange":"green"};t.CrewMonitor=function(){return(0,o.createComponentVNode)(2,c.Window,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,s)})})};var s=function(e,t){var n,c=(0,i.useBackend)(t),s=c.act,p=c.data,h=(c.config,(0,i.useLocalState)(t,"tabIndex",0)),f=h[0],C=h[1],N=(0,a.flow)([(0,r.sortBy)((function(e){return e.name})),(0,r.sortBy)((function(e){return null==e?void 0:e.x})),(0,r.sortBy)((function(e){return null==e?void 0:e.y})),(0,r.sortBy)((function(e){return null==e?void 0:e.realZ}))])(p.crewmembers||[]),b=(0,i.useLocalState)(t,"zoom",1);b[0],b[1];return n=0===f?(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Location"})]}),N.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:u(e),children:d(e)}),e.sensor_type>=2?(0,o.createComponentVNode)(2,l.Box,{inline:!0,children:["(",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:3===e.sensor_type?p.isAI?(0,o.createComponentVNode)(2,l.Button,{fluid:!0,icon:"location-arrow",content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+", "+e.z+")":"Not Available"})]},e.ref)}))]}):1===f?(0,o.createComponentVNode)(2,m):"ERROR",(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Tabs,{children:[(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:0===f,onClick:function(){return C(0)},children:[(0,o.createComponentVNode)(2,l.Icon,{name:"table"})," Data View"]},"DataView"),(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:1===f,onClick:function(){return C(1)},children:[(0,o.createComponentVNode)(2,l.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),(0,o.createComponentVNode)(2,l.Box,{m:2,children:n})],4)};t.CrewMonitorContent=s;var m=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.config),a=n.data,c=(0,i.useLocalState)(t,"zoom",1),d=c[0],s=c[1];return(0,o.createComponentVNode)(2,l.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,o.createComponentVNode)(2,l.NanoMap,{onZoom:function(e){return s(e)},children:a.crewmembers.filter((function(e){return 3===e.sensor_type&&~~e.realZ==~~r.mapZLevel})).map((function(e){return(0,o.createComponentVNode)(2,l.NanoMap.Marker,{x:e.x,y:e.y,zoom:d,icon:"circle",tooltip:e.name+" ("+e.assignment+")",color:u(e)},e.ref)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CryoStorageItems=t.CryoStorageCrew=t.CryoStorage=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.CryoStorage=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=d.real_name,s=d.allow_items,m=(0,r.useLocalState)(t,"tab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Crew"}),!!s&&(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Items"})]}),(0,o.createComponentVNode)(2,a.NoticeBox,{info:!0,children:["Welcome, ",u,"."]}),0===p&&(0,o.createComponentVNode)(2,c),!!s&&1===p&&(0,o.createComponentVNode)(2,l)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.crew);return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Crew",children:i.length&&i.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e},e)}))||(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No crew currently stored."})})};t.CryoStorageCrew=c;var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.items;return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"hand-rock",onClick:function(){return i("allitems")},children:"Claim All"}),children:c.length&&c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"hand-rock",onClick:function(){return i("item",{ref:e.ref})},children:e.name},e.ref)}))||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No items stored."})})};t.CryoStorageItems=l},function(e,t,n){"use strict";t.__esModule=!0,t.RankIcon=void 0;var o=n(0),r=n(2),a={"Colony Director":"user-tie","Site Manager":"user-tie",Overseer:"user-tie","Head of Personnel":"briefcase","Crew Resources Officer":"briefcase","Deputy Director":"briefcase","Command Secretary":"user-tie","Head of Security":"user-shield","Security Commander":"user-shield","Chief of Security":"user-shield",Warden:["city","shield-alt"],Detective:"search","Forensic Technician":"search","Security Officer":"user-shield","Junior Officer":"user-shield","Chief Engineer":"toolbox","Atmospheric Technician":"wind","Station Engineer":"toolbox","Maintenance Technician":"wrench","Engine Technician":"toolbox",Electrician:"toolbox","Chief Medical Officer":"user-md",Chemist:"mortar-pestle",Pharmacist:"mortar-pestle","Medical Doctor":"user-md",Surgeon:"user-md","Emergency Physician":"user-md",Nurse:"user-md",Virologist:"disease",Paramedic:"ambulance","Emergency Medical Technician":"ambulance",Psychiatrist:"couch",Psychologist:"couch","Research Director":"user-graduate","Research Supervisor":"user-graduate",Roboticist:"robot","Biomechanical Engineer":["wrench","heartbeat"],"Mechatronic Engineer":"wrench",Scientist:"flask",Xenoarchaeologist:"flask",Anomalist:"flask","Phoron Researcher":"flask","Circuit Designer":"car-battery",Xenobiologist:"meteor",Xenobotanist:["biohazard","seedling"],Quartermaster:"box-open","Supply Chief":"warehouse","Cargo Technician":"box-open","Shaft Miner":"hard-hat","Drill Technician":"hard-hat",Pathfinder:"binoculars",Explorer:"user-astronaut","Field Medic":["user-md","user-astronaut"],Pilot:"space-shuttle",Bartender:"glass-martini",Barista:"coffee",Botanist:"leaf",Gardener:"leaf",Chaplain:"place-of-worship",Counselor:"couch",Chef:"utensils",Cook:"utensils",Entertainer:"smile-beam",Performer:"smile-beam",Musician:"guitar",Stagehand:"smile-beam",Intern:"school","Apprentice Engineer":["school","wrench"],"Medical Intern":["school","user-md"],"Lab Assistant":["school","flask"],"Security Cadet":["school","shield-alt"],"Jr. Cargo Tech":["school","box"],"Jr. Explorer":["school","user-astronaut"],Server:["school","utensils"],"Internal Affairs Agent":"balance-scale",Janitor:"broom",Custodian:"broom","Sanitation Technician":"hand-sparkles",Maid:"broom",Librarian:"book",Journalist:"newspaper",Writer:"book",Historian:"chalkboard-teacher",Professor:"chalkboard-teacher",Visitor:"user","Emergency Responder":"fighter-jet"};t.RankIcon=function(e,t){var n=e.rank,i=e.color,c=void 0===i?"label":i,l=a[n];return"string"==typeof l?(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:l,size:2}):Array.isArray(l)?l.map((function(e){return(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:e,size:2},e)})):(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:"user",size:2})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningUser=void 0;var o=n(0),r=n(1),a=n(2);t.MiningUser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.insertIdText,d=c.has_id,u=c.id;return(0,o.createComponentVNode)(2,a.NoticeBox,{success:d,children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",u.name,".",(0,o.createVNode)(1,"br"),"You have ",u.points.toLocaleString("en-US")," points."]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){return i("logoff")}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})],4):l})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosEmailClientViewMessage=t.NtosEmailClient=void 0;var o=n(0),r=n(1),a=n(2),i=n(3),c=n(5);t.NtosEmailClient=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.PC_device_theme,u=a.error,s=a.downloading,m=a.current_account,p=(0,o.createComponentVNode)(2,f);return u?p=(0,o.createComponentVNode)(2,h,{error:u}):s?p=(0,o.createComponentVNode)(2,l):m&&(p=(0,o.createComponentVNode)(2,d)),(0,o.createComponentVNode)(2,i.NtosWindow,{resizable:!0,theme:c,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:p})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),l=i.down_filename,d=i.down_progress,u=i.down_size,s=i.down_speed;return(0,o.createComponentVNode)(2,a.Section,{title:"Downloading...",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"File",children:[l," (",u," GQ)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Speed",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," GQ/s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:d,maxValue:u,children:[d,"/",u," (",(0,c.round)(d/u*100,1),"%)"]})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.current_account,d=c.addressbook,h=c.new_message,f=c.cur_title,C=(0,o.createComponentVNode)(2,u);return d?C=(0,o.createComponentVNode)(2,m):h?C=(0,o.createComponentVNode)(2,p):f&&(C=(0,o.createComponentVNode)(2,s)),(0,o.createComponentVNode)(2,a.Section,{title:"Logged in as: "+l,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"plus",tooltip:"New Message",tooltipPosition:"left",onClick:function(){return i("new_message")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"cogs",tooltip:"Change Password",tooltipPosition:"left",onClick:function(){return i("changepassword")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",tooltip:"Log Out",tooltipPosition:"left",onClick:function(){return i("logout")}})],4),children:C})},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=(c.current_account,c.folder),d=c.messagecount,u=c.messages;return(0,o.createComponentVNode)(2,a.Section,{level:2,noTopPadding:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Inbox"===l,onClick:function(){return i("set_folder",{set_folder:"Inbox"})},children:"Inbox"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Spam"===l,onClick:function(){return i("set_folder",{set_folder:"Spam"})},children:"Spam"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Deleted"===l,onClick:function(){return i("set_folder",{set_folder:"Deleted"})},children:"Deleted"})]}),d&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Source"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Title"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Received At"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Actions"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.source}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.title}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.timestamp}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return i("view",{view:e.uid})},tooltip:"View"}),(0,o.createComponentVNode)(2,a.Button,{icon:"share",onClick:function(){return i("reply",{reply:e.uid})},tooltip:"Reply"}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"trash",onClick:function(){return i("delete",{"delete":e.uid})},tooltip:"Delete"})]})]},e.timestamp+e.title)}))]})})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["No emails found in ",l,"."]})]})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.administrator,d=c.cur_title,u=c.cur_source,s=c.cur_timestamp,m=c.cur_body,p=c.cur_hasattachment,h=c.cur_attachment_filename,f=c.cur_attachment_size,C=c.cur_uid;return(0,o.createComponentVNode)(2,a.Section,{title:d,buttons:l?(0,o.createComponentVNode)(2,a.Button,{icon:"times",onClick:function(){return i("back")}}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"share",tooltip:"Reply",tooltipPosition:"left",onClick:function(){return i("reply",{reply:C})}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"trash",tooltip:"Delete",tooltipPosition:"left",onClick:function(){return i("delete",{"delete":C})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",tooltip:"Save To Disk",tooltipPosition:"left",onClick:function(){return i("save",{save:C})}}),p&&(0,o.createComponentVNode)(2,a.Button,{icon:"paperclip",tooltip:"Save Attachment",tooltipPosition:"left",onClick:function(){return i("downloadattachment")}})||null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",tooltip:"Close",tooltipPosition:"left",onClick:function(){return i("cancel",{cancel:C})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"From",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"At",children:s}),p&&!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",color:"average",children:[h," (",f,"GQ)"]})||null,(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:m}})})})]})})};t.NtosEmailClientViewMessage=s;var m=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,a.Section,{title:"Address Book",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("set_recipient",{set_recipient:null})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.login,fluid:!0,onClick:function(){return i("set_recipient",{set_recipient:e.login})}},e.login)}))})},p=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=(c.current_account,c.msg_title),d=c.msg_recipient,u=c.msg_body,s=c.msg_hasattachment,m=c.msg_attachment_filename,p=c.msg_attachment_size;return(0,o.createComponentVNode)(2,a.Section,{title:"New Message",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"share",onClick:function(){return i("send")},children:"Send Message"}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("cancel")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:l,onInput:function(e,t){return i("edit_title",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recipient",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onInput:function(e,t){return i("edit_recipient",{val:t})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"address-book",onClick:function(){return i("addressbook")},tooltip:"Find Receipients",tooltipPosition:"left"})})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachments",buttons:s&&(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("remove_attachment")},children:"Remove Attachment"})||(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("addattachment")},children:"Add Attachment"}),children:s&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[m," (",p,"GQ)"]})||null}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Section,{width:"99%",inline:!0,children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:u}})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{verticalAlign:"top",onClick:function(){return i("edit_body")},icon:"pen",tooltip:"Edit Message",tooltipPosition:"left"})})]})})]})})},h=function(e,t){var n=(0,r.useBackend)(t).act,i=e.error;return(0,o.createComponentVNode)(2,a.Section,{title:"Notification",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return n("reset")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:i})})},f=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.stored_login,d=c.stored_password;return(0,o.createComponentVNode)(2,a.Section,{title:"Please Log In",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Email address",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:l,onInput:function(e,t){return i("edit_login",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Password",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onInput:function(e,t){return i("edit_password",{val:t})}})})]}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",onClick:function(){return i("login")},children:"Log In"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapNavigationContent=t.OvermapNavigation=void 0;var o=n(0),r=(n(5),n(1)),a=n(2),i=n(3),c=n(134);t.OvermapNavigation=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:380,height:530,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.sector,u=l.s_x,s=l.s_y,m=l.sector_info,p=l.viewing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Current Location",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eye",selected:p,onClick:function(){return i("viewing")},children:"Map View"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Location",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Coordiantes",children:[u," : ",s]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Additional Information",children:m})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Flight Data",children:(0,o.createComponentVNode)(2,c.OvermapFlightData,{disableLimiterControls:!0})})],4)};t.OvermapNavigationContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RCONContent=t.RCON=void 0;var o=n(0),r=n(5),a=n(1),i=n(2),c=n(3);t.RCON=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:630,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n,r=(0,a.useLocalState)(t,"tabIndex",0),c=r[0],l=r[1];return 0===c?n=(0,o.createComponentVNode)(2,d):1===c&&(n=(0,o.createComponentVNode)(2,u)),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===c,onClick:function(){return l(0)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"power-off"})," SMESs"]},"SMESs"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===c,onClick:function(){return l(1)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"bolt"})," Breakers"]},"Breakers")]}),(0,o.createComponentVNode)(2,i.Box,{m:2,children:n})],4)};t.RCONContent=l;var d=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data.smes_info;return(0,o.createComponentVNode)(2,i.Section,{title:"SMESs",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:l?l.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.RCON_tag,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:.01*e.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[(0,r.round)(e.charge/6e4,1)," kWh / ",(0,r.round)(e.capacity/6e4)," kWh (",e.capacityPercent,"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return c("smes_in_toggle",{smes:e.RCON_tag})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return c("smes_in_set",{smes:e.RCON_tag})}})],4),children:[e.input_val," kW - ",e.input_set?"ON":"OFF"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return c("smes_out_toggle",{smes:e.RCON_tag})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return c("smes_out_set",{smes:e.RCON_tag})}})],4),children:[e.output_val," kW - ",e.output_set?"ONLINE":"OFFLINE"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Load",children:[e.output_load," kW"]})]})]},e.RCON_tag)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No SMESs detected."})})})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data.breaker_info;return(0,o.createComponentVNode)(2,i.Section,{title:"Breakers",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:c?c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.RCON_tag,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.enabled?"Enabled":"Disabled",selected:e.enabled,color:e.enabled?null:"bad",onClick:function(){return r("toggle_breaker",{breaker:e.RCON_tag})}})},e.RCON_tag)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No breakers detected."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShutoffMonitorContent=t.ShutoffMonitor=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.ShutoffMonitor=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.valves;return(0,o.createComponentVNode)(2,i.Section,{title:"Valves",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Open"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Mode"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Actions"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.open?"Yes":"No"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.enabled?"Auto":"Manual"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.open?"Opened":"Closed",selected:e.open,disabled:!e.enabled,onClick:function(){return a("toggle_open",{valve:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.enabled?"Auto":"Manual",selected:e.enabled,onClick:function(){return a("toggle_enable",{valve:e.ref})}})]})]},e.name)}))]})})};t.ShutoffMonitorContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsoleContent=t.StationAlertConsole=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.StationAlertConsole=function(){return(0,o.createComponentVNode)(2,i.Window,{width:425,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.categories;return(void 0===c?[]:c).map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.category,children:(0,o.createVNode)(1,"ul",null,[0===e.alarms.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),e.alarms.map((function(e){var t="";return e.has_cameras?t=(0,o.createComponentVNode)(2,a.Section,{children:e.cameras.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{disabled:e.deact,content:e.name+(e.deact?" (deactived)":""),icon:"video",onClick:function(){return i("switchTo",{camera:e.camera})}},e.name)}))}):e.lost_sources&&(t=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["Lost Alarm Sources: ",e.lost_sources]})),(0,o.createVNode)(1,"li",null,[e.name,e.origin_lost?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Alarm Origin Lost."}):"",t],0,null,e.name)}))],0)},e.category)}))};t.StationAlertConsoleContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.SupermatterMonitorContent=t.SupermatterMonitor=void 0;var o=n(0),r=n(1),a=n(2),i=(n(20),n(3)),c=n(5),l=n(7);t.SupermatterMonitor=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t);n.act;return n.data.active?(0,o.createComponentVNode)(2,s):(0,o.createComponentVNode)(2,u)};t.SupermatterMonitorContent=d;var u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.supermatters;return(0,o.createComponentVNode)(2,a.Section,{title:"Supermatters Detected",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Refresh",icon:"sync",onClick:function(){return i("refresh")}}),children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"49%",grow:t%2,children:(0,o.createComponentVNode)(2,a.Section,{title:e.area_name+" (#"+e.uid+")",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:[e.integrity," %"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Details",onClick:function(){return i("set",{set:e.uid})}})})]})})},t)}))})})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.data,u=d.SM_area,s=d.SM_integrity,m=d.SM_power,p=d.SM_ambienttemp,h=d.SM_ambientpressure,f=d.SM_EPR,C=d.SM_gas_O2,N=d.SM_gas_CO2,b=d.SM_gas_N2,V=d.SM_gas_PH,g=d.SM_gas_N2O;return(0,o.createComponentVNode)(2,a.Section,{title:(0,l.toTitleCase)(u),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return to Menu",onClick:function(){return i("clear")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Core Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{animated:!0,value:s,minValue:0,maxValue:100,ranges:{good:[100,100],average:[50,100],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,a.Box,{color:(m>300?"bad":m>150&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" MeV/cm\xb3"},value:m})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,a.Box,{color:(p>5e3?"bad":p>4e3&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" K"},value:p})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.Box,{color:(h>1e4?"bad":h>5e3&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" kPa"},value:h})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chamber EPR",children:(0,o.createComponentVNode)(2,a.Box,{color:(f>4?"bad":f>1&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)},value:f})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gas Composition",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"O\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:C}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"CO\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"N\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:b}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"PH",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"N\xb2O",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:g}),"%"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SignalerContent=t.Signaler=void 0;var o=n(0),r=n(5),a=n(1),i=n(2),c=n(3);t.Signaler=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:280,height:132,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data,d=l.code,u=l.frequency,s=l.minFrequency,m=l.maxFrequency;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:m/10,value:u/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return c("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return c("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:d,width:"80px",onDrag:function(e,t){return c("code",{code:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return c("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return c("signal")}})})})]})};t.SignalerContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=t.ICON_BY_CATEGORY_NAME=void 0;var o=n(0),r=n(10),a=n(7),i=n(1),c=n(2),l=n(3),d=["Atmospherics","Disposals"],u={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Insulated pipes":"snowflake","Station Equipment":"microchip"};t.ICON_BY_CATEGORY_NAME=u;var s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e,t){var n=(0,i.useBackend)(t),m=n.act,p=n.data,h=p.category,f=p.categories,C=void 0===f?[]:f,N=p.selected_color,b=p.paint_colors,V=p.piping_layer,g=p.pipe_layers,v=p.mode,k=p.preview_rows.flatMap((function(e){return e.previews})),y=(0,i.useLocalState)(t,"categoryName"),_=y[0],L=y[1],B=C.find((function(e){return e.cat_name===_}))||C[0];return(0,o.createComponentVNode)(2,l.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Category",children:d.map((function(e,t){return(0,o.createComponentVNode)(2,c.Button,{selected:h===t,icon:u[e],color:"transparent",content:e,onClick:function(){return m("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:v&e.bitmask,content:e.name,onClick:function(){return m("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:"64px",color:b[N],children:(0,a.capitalize)(N)}),Object.keys(b).map((function(e){return(0,o.createComponentVNode)(2,c.ColorBox,{ml:1,color:b[e],onClick:function(){return m("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,c.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,c.Section,{children:[0===h&&(0,o.createComponentVNode)(2,c.Box,{mb:1,children:Object.keys(g).map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,checked:g[e]===V,content:e,onClick:function(){return m("piping_layer",{piping_layer:g[e]})}},e)}))}),(0,o.createComponentVNode)(2,c.Box,{width:"108px",children:k.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return m("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:C.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{fluid:!0,icon:u[e.cat_name],selected:e.cat_name===B.cat_name,onClick:function(){return L(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==B?void 0:B.recipes.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:e.selected,content:e.pipe_name,title:e.pipe_name,onClick:function(){return m("pipe_type",{pipe_type:e.pipe_index,category:B.cat_name})}},e.pipe_index)}))]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableBasicInfo=void 0;var o=n(0),r=n(1),a=n(2);t.PortableBasicInfo=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.connected,d=c.holding,u=c.on,s=c.pressure,m=c.powerDraw,p=c.cellCharge,h=c.cellMaxCharge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return i("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:l?"good":"average",children:l?"Connected":"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",children:[m," W"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:h,ranges:{good:[.5*h,Infinity],average:[.25*h,.5*h],bad:[-Infinity,.25*h]},children:[p," W"]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!d,onClick:function(){return i("eject")}}),children:d?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:d.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)}},function(e,t,n){e.exports=n(204)},function(e,t,n){"use strict";n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(218),n(219),n(220),n(221),n(222),n(223),n(224),n(225),n(226),n(227),n(228),n(230),n(232),n(233),n(234),n(150),n(236),n(237),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(260),n(261),n(262),n(263),n(264),n(265),n(266),n(267),n(268),n(269),n(270),n(271),n(272),n(273),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(289),n(290),n(291),n(292),n(293),n(294),n(296),n(297),n(299),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(325),n(326),n(327),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(167),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(388),n(389),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417);var o=n(0);n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434);var r=n(172),a=(n(173),n(1)),i=n(174),c=n(24),l=n(176);
+ */t.vecAdd=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",c&&"Tooltip--long",a&&"Tooltip--"+a,i&&"Tooltip--scale--"+Math.floor(i)]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(0),r=n(10),a=n(19);t.Dimmer=function(e){var t=e.className,n=e.children,i=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Dimmer"].concat(t))},i,{children:(0,o.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var o=n(0),r=n(10);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,o.createVNode)(1,"div",(0,r.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(0),r=n(10),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.alignContent,l=e.justify,d=e.inline,u=e.spacing,s=void 0===u?0:u,m=e.spacingPrecise,p=void 0===m?0:m,h=i(e,["className","direction","wrap","align","alignContent","justify","inline","spacing","spacingPrecise"]);return Object.assign({className:(0,r.classes)(["Flex",Byond.IS_LTE_IE10&&("column"===n?"Flex--iefix--column":"Flex--iefix"),d&&"Flex--inline",s>0&&"Flex--spacing--"+s,p>0&&"Flex--spacingPrecise--"+p,t]),style:Object.assign({},h.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"align-content":c,"justify-content":l})},h)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.className,n=e.grow,o=e.order,c=e.shrink,l=e.basis,d=void 0===l?e.width:l,u=e.align,s=i(e,["className","grow","order","shrink","basis","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",Byond.IS_LTE_IE10&&"Flex__item--iefix",t]),style:Object.assign({},s.style,{"flex-grow":n,"flex-shrink":c,"flex-basis":(0,a.unit)(d),order:o,"align-self":u})},s)};t.computeFlexItemProps=d;var u=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},d(e))))};t.FlexItem=u,u.defaultHooks=r.pureComponentHooks,l.Item=u},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(0),r=n(10),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.collapsing,c=e.children,l=i(e,["className","collapsing","children"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"table",(0,r.classes)(["Table",n&&"Table--collapsing",t,(0,a.computeBoxClassName)(l)]),(0,o.createVNode)(1,"tbody",null,c,0),2,Object.assign({},(0,a.computeBoxProps)(l))))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"tr",(0,r.classes)(["Table__row",n&&"Table__row--header",t,(0,a.computeBoxClassName)(e)]),null,1,Object.assign({},(0,a.computeBoxProps)(c))))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"td",(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t,(0,a.computeBoxClassName)(e)]),null,1,Object.assign({},(0,a.computeBoxProps)(l))))};t.TableCell=d,d.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=d},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(0),r=n(10),a=n(19),i=n(180),c=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,d=e.textAlign,u=e.verticalAlign,s=e.buttons,m=e.content,p=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,verticalAlign:u,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,textAlign:d,verticalAlign:u,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:s?undefined:2,children:[m,p]}),s&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",s,0)],0)};t.LabeledListItem=l,l.defaultHooks=r.pureComponentHooks;var d=function(e){var t=e.size?(0,a.unit)(Math.max(0,e.size-1)):0;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=d,d.defaultHooks=r.pureComponentHooks,c.Item=l,c.Divider=d},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var o=n(0),r=n(10),a=n(7),i=n(1),c=n(2),l=n(28),d=n(125),u=n(174),s=n(24),m=n(176),p=n(126);var h=(0,s.createLogger)("Window"),f=[400,600],C=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=(0,i.useBackend)(this.context),t=e.config;if(!e.suspended){h.log("mounting");var n=Object.assign({size:f},t.window);this.props.width&&this.props.height&&(n.size=[this.props.width,this.props.height]),(0,u.setWindowKey)(t.window.key),(0,u.recallWindowGeometry)(t.window.key,n),(0,p.refocusLayout)()}},s.render=function(){var e,t=this.props,n=t.resizable,c=t.theme,s=t.title,f=t.children,C=(0,i.useBackend)(this.context),N=C.config,V=C.suspended,g=(0,d.useDebug)(this.context).debugLayout,v=(0,m.useDispatch)(this.context),k=null==(e=N.window)?void 0:e.fancy,y=N.user.observer?N.status=0||(r[n]=e[n]);return r}(e,["className","fitted","scrollable","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,p.Layout.Content,Object.assign({scrollable:a,className:(0,r.classes)(["Window__content",t])},c,{children:n&&i||(0,o.createVNode)(1,"div","Window__contentPadding",i,0)})))};var N=function(e){switch(e){case l.UI_INTERACTIVE:return"good";case l.UI_UPDATE:return"average";case l.UI_DISABLED:default:return"bad"}},b=function(e,t){var n=e.className,i=e.title,l=e.status,d=e.fancy,u=e.onDragStart,s=e.onClose;(0,m.useDispatch)(t);return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",n]),[(0,o.createComponentVNode)(2,c.Icon,{className:"TitleBar__statusIcon",color:N(l),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title","string"==typeof i&&i===i.toLowerCase()&&(0,a.toTitleCase)(i)||i,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&u(e)}}),!1,!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",Byond.IS_LTE_IE8?"x":"\xd7",0,{onclick:s})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(0),r=n(1),a=n(2);t.InterfaceLockNoticeBox=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.siliconUser,d=void 0===l?c.siliconUser:l,u=e.locked,s=void 0===u?c.locked:u,m=e.normallyLocked,p=void 0===m?c.normallyLocked:m,h=e.onLockStatusChange,f=void 0===h?function(){return i("lock")}:h,C=e.accessText,N=void 0===C?"an ID card":C,b=e.deny,V=void 0!==b&&b,g=e.denialMessage;return V?void 0===g?"Error.":g:d?(0,o.createComponentVNode)(2,a.NoticeBox,{color:d&&"grey",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1"}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{m:"0",color:p?"red":"green",icon:p?"lock":"unlock",content:p?"Locked":"Unlocked",onClick:function(){f&&f(!s)}})})]})}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Swipe ",N," ","to ",s?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlContent=t.AtmosControl=void 0;var o=n(0),r=n(8),a=n(3),i=n(2),c=n(1);(0,n(24).createLogger)("fuck");t.AtmosControl=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:600,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n,a=(0,c.useBackend)(t),l=a.act,d=a.data,u=a.config,s=(0,r.sortBy)((function(e){return e.name}))(d.alarms||[]),m=(0,c.useLocalState)(t,"tabIndex",0),p=m[0],h=m[1],f=(0,c.useLocalState)(t,"zoom",1),C=f[0],N=f[1];return 0===p?n=(0,o.createComponentVNode)(2,i.Section,{title:"Alarms",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,color:2===e.danger?"bad":1===e.danger?"average":"",onClick:function(){return l("alarm",{alarm:e.ref})}},e.name)}))}):1===p&&(n=(0,o.createComponentVNode)(2,i.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,o.createComponentVNode)(2,i.NanoMap,{onZoom:function(e){return N(e)},children:s.filter((function(e){return~~e.z==~~u.mapZLevel})).map((function(e){return(0,o.createComponentVNode)(2,i.NanoMap.Marker,{x:e.x,y:e.y,zoom:C,icon:"bell",tooltip:e.name,color:e.danger?"red":"green",onClick:function(){return l("alarm",{alarm:e.ref})}},e.ref)}))})})),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"table"})," Alarm View"]},"AlarmView"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),(0,o.createComponentVNode)(2,i.Box,{m:2,children:n})],4)};t.AtmosControlContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.CameraConsoleSearch=t.CameraConsoleContent=t.CameraConsole=void 0;var o=n(0),r=n(8),a=n(44),i=n(10),c=n(7),l=n(1),d=n(2),u=n(3),s=function(e,t,n){void 0===t&&(t=""),void 0===n&&(n="");var o=(0,c.createSearch)(t,(function(e){return e.name}));return(0,a.flow)([(0,r.filter)((function(e){return null==e?void 0:e.name})),t&&(0,r.filter)(o),n&&(0,r.filter)((function(e){return e.networks.includes(n)})),(0,r.sortBy)((function(e){return e.name}))])(e)};t.CameraConsole=function(e,t){return(0,o.createComponentVNode)(2,u.Window,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,m)})};var m=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,i=(n.config,a.mapRef),c=a.activeCamera,m=function(e,t){var n,o;if(!t)return[];var r=e.findIndex((function(e){return e.name===t.name}));return[null==(n=e[r-1])?void 0:n.name,null==(o=e[r+1])?void 0:o.name]}(s(a.cameras),c);m[0],m[1];return(0,o.createFragment)([(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,u.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,p)}),2),(0,o.createVNode)(1,"div","CameraConsole__right",[(0,o.createVNode)(1,"div","CameraConsole__toolbar",[(0,o.createVNode)(1,"b",null,"Camera: ",16),c&&c.name||"\u2014"],0),(0,o.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-left",onClick:function(){return r("pan",{dir:8})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-up",onClick:function(){return r("pan",{dir:1})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-right",onClick:function(){return r("pan",{dir:4})}}),(0,o.createComponentVNode)(2,d.Button,{icon:"chevron-down",onClick:function(){return r("pan",{dir:2})}})],4),(0,o.createComponentVNode)(2,d.ByondUi,{className:"CameraConsole__map",params:{id:i,type:"map"}})],4)],4)};t.CameraConsoleContent=m;var p=function(e,t){var n=(0,l.useBackend)(t),r=n.act,a=n.data,c=(0,l.useLocalState)(t,"searchText",""),m=c[0],p=c[1],h=(0,l.useLocalState)(t,"networkFilter",""),f=h[0],C=h[1],N=a.activeCamera,b=a.allNetworks;b.sort();var V=s(a.cameras,m,f);return(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Input,{fluid:!0,mb:1,placeholder:"Search for a camera",onInput:function(e,t){return p(t)}}),(0,o.createComponentVNode)(2,d.Dropdown,{mb:1,width:"177px",options:b,placeholder:"No Filter",onSelected:function(e){return C(e)}}),(0,o.createComponentVNode)(2,d.Section,{children:V.map((function(e){return(0,o.createVNode)(1,"div",(0,i.classes)(["Button","Button--fluid","Button--color--transparent","Button--ellipsis",N&&e.name===N.name&&"Button--selected"]),e.name,0,{title:e.name,onClick:function(){(0,u.refocusLayout)(),r("switch_camera",{name:e.name})}},e.name)}))})],4)};t.CameraConsoleSearch=p},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(0),r=n(2),a=n(493),i=function(e){var t=e.beakerLoaded,n=e.beakerContents,a=void 0===n?[]:n,i=e.buttons;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===a.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),a.map((function(e,t){return(0,o.createComponentVNode)(2,r.Box,{width:"100%",children:[(0,o.createComponentVNode)(2,r.Box,{color:"label",display:"inline",verticalAlign:"middle",children:[(n=e.volume,n+" unit"+(1===n?"":"s"))," of ",e.name]}),!!i&&(0,o.createComponentVNode)(2,r.Box,{float:"right",display:"inline",children:i(e,t)}),(0,o.createComponentVNode)(2,r.Box,{clear:"both"})]},e.name);var n}))]})};t.BeakerContents=i,i.propTypes={beakerLoaded:a.bool,beakerContents:a.array,buttons:a.arrayOf(a.element)}},function(e,t,n){"use strict";t.__esModule=!0,t.CommunicationsConsoleContent=t.CommunicationsConsole=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.CommunicationsConsole=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.menu_state),c=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["ERRROR. Unknown menu_state: ",i,"Please report this to NT Technical Support."]});return 1===i?c=(0,o.createComponentVNode)(2,l):2===i?c=(0,o.createComponentVNode)(2,s):3===i&&(c=(0,o.createComponentVNode)(2,u)),(0,o.createFragment)([(0,o.createComponentVNode)(2,d),c],0)};t.CommunicationsConsoleContent=c;var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.messages,d=c.msg_cooldown,u=c.emagged,s=c.cc_cooldown,m=c.str_security_level,p=c.levels,h=c.authmax,f=c.security_level,C=c.security_level_color,N=c.authenticated,b=c.atcsquelch,V=c.boss_short,g="View ("+l.length+")",v="Make Priority Announcement";d>0&&(v+=" ("+d+"s)");var k=u?"Message [UNKNOWN]":"Message "+V;s>0&&(k+=" ("+s+"s)");var y=m,_=p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.icon,content:e.name,disabled:!N,selected:e.id===f,onClick:function(){return i("newalertlevel",{level:e.id})}},e.name)}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Site Manager-Only Actions",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Announcement",children:(0,o.createComponentVNode)(2,a.Button,{icon:"bullhorn",content:v,disabled:!h||d>0,onClick:function(){return i("announce")}})}),!!u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transmit",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"broadcast-tower",color:"red",content:k,disabled:!h||s>0,onClick:function(){return i("MessageSyndicate")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!h,onClick:function(){return i("RestoreBackup")}})]})||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transmit",children:(0,o.createComponentVNode)(2,a.Button,{icon:"broadcast-tower",content:k,disabled:!h||s>0,onClick:function(){return i("MessageCentCom")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Command Staff Actions",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Alert",color:C,children:y}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Change Alert",children:_}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Displays",children:(0,o.createComponentVNode)(2,a.Button,{icon:"tv",content:"Change Status Displays",disabled:!N,onClick:function(){return i("status")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Incoming Messages",children:(0,o.createComponentVNode)(2,a.Button,{icon:"folder-open",content:g,disabled:!N,onClick:function(){return i("messagelist")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Misc",children:(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:b?"ATC Relay Disabled":"ATC Relay Enabled",disabled:!N,selected:b,onClick:function(){return i("toggleatc")}})})]})})],4)},d=function(e,t){var n,i=(0,r.useBackend)(t),c=i.act,l=i.data,d=l.authenticated,u=l.is_ai,s=l.esc_status,m=l.esc_callable,p=l.esc_recallable;return n=d?u?"AI":1===d?"Command":2===d?"Site Director":"ERROR: Report This Bug!":"Not Logged In",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Authentication",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Level",children:"AI"})||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"sign-out-alt":"id-card",selected:d,content:d?"Log Out ("+n+")":"Log In",onClick:function(){return c("auth")}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Escape Shuttle",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!s&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:s}),!!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"rocket",content:"Call Shuttle",disabled:!d,onClick:function(){return c("callshuttle")}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Recall Shuttle",disabled:!d||u,onClick:function(){return c("cancelshuttle")}})})]})})],4)},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.message_current,d=c.message_deletion_allowed,u=c.authenticated,s=c.messages;if(l)return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Return To Message List",disabled:!u,onClick:function(){return i("messagelist")}}),children:(0,o.createComponentVNode)(2,a.Box,{children:l.contents})});var m=s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View",disabled:!u||l&&l.title===e.title,onClick:function(){return i("messagelist",{msgid:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Delete",disabled:!u||!d,onClick:function(){return i("delmessage",{msgid:e.id})}})]},e.id)}));return(0,o.createComponentVNode)(2,a.Section,{title:"Messages Received",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){return i("main")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.length&&m||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"404",color:"bad",children:"No messages."})})})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.stat_display,d=c.authenticated,u=l.presets.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.label,selected:e.name===l.type,disabled:!d,onClick:function(){return i("setstat",{statdisp:e.name})}},e.name)}));return(0,o.createComponentVNode)(2,a.Section,{title:"Modify Status Screens",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){return i("main")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Line 1",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:l.line_1,disabled:!d,onClick:function(){return i("setmsg1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Line 2",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:l.line_2,disabled:!d,onClick:function(){return i("setmsg2")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitorContent=t.CrewMonitor=void 0;var o=n(0),r=n(8),a=n(44),i=n(1),c=n(3),l=n(2),d=function(e){return e.dead?"Deceased":1===parseInt(e.stat,10)?"Unconscious":"Living"},u=function(e){return e.dead?"red":1===parseInt(e.stat,10)?"orange":"green"};t.CrewMonitor=function(){return(0,o.createComponentVNode)(2,c.Window,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,s)})})};var s=function(e,t){var n,c=(0,i.useBackend)(t),s=c.act,p=c.data,h=(c.config,(0,i.useLocalState)(t,"tabIndex",0)),f=h[0],C=h[1],N=(0,a.flow)([(0,r.sortBy)((function(e){return e.name})),(0,r.sortBy)((function(e){return null==e?void 0:e.x})),(0,r.sortBy)((function(e){return null==e?void 0:e.y})),(0,r.sortBy)((function(e){return null==e?void 0:e.realZ}))])(p.crewmembers||[]),b=(0,i.useLocalState)(t,"zoom",1);b[0],b[1];return n=0===f?(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Location"})]}),N.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:u(e),children:d(e)}),e.sensor_type>=2?(0,o.createComponentVNode)(2,l.Box,{inline:!0,children:["(",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,o.createComponentVNode)(2,l.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:3===e.sensor_type?p.isAI?(0,o.createComponentVNode)(2,l.Button,{fluid:!0,icon:"location-arrow",content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+", "+e.z+")":"Not Available"})]},e.ref)}))]}):1===f?(0,o.createComponentVNode)(2,m):"ERROR",(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Tabs,{children:[(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:0===f,onClick:function(){return C(0)},children:[(0,o.createComponentVNode)(2,l.Icon,{name:"table"})," Data View"]},"DataView"),(0,o.createComponentVNode)(2,l.Tabs.Tab,{selected:1===f,onClick:function(){return C(1)},children:[(0,o.createComponentVNode)(2,l.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),(0,o.createComponentVNode)(2,l.Box,{m:2,children:n})],4)};t.CrewMonitorContent=s;var m=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.config),a=n.data,c=(0,i.useLocalState)(t,"zoom",1),d=c[0],s=c[1];return(0,o.createComponentVNode)(2,l.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,o.createComponentVNode)(2,l.NanoMap,{onZoom:function(e){return s(e)},children:a.crewmembers.filter((function(e){return 3===e.sensor_type&&~~e.realZ==~~r.mapZLevel})).map((function(e){return(0,o.createComponentVNode)(2,l.NanoMap.Marker,{x:e.x,y:e.y,zoom:d,icon:"circle",tooltip:e.name+" ("+e.assignment+")",color:u(e)},e.ref)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CryoStorageItems=t.CryoStorageCrew=t.CryoStorage=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.CryoStorage=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=d.real_name,s=d.allow_items,m=(0,r.useLocalState)(t,"tab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,i.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Crew"}),!!s&&(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Items"})]}),(0,o.createComponentVNode)(2,a.NoticeBox,{info:!0,children:["Welcome, ",u,"."]}),0===p&&(0,o.createComponentVNode)(2,c),!!s&&1===p&&(0,o.createComponentVNode)(2,l)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.crew);return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Crew",children:i.length&&i.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e},e)}))||(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No crew currently stored."})})};t.CryoStorageCrew=c;var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.items;return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"hand-rock",onClick:function(){return i("allitems")},children:"Claim All"}),children:c.length&&c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"hand-rock",onClick:function(){return i("item",{ref:e.ref})},children:e.name},e.ref)}))||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No items stored."})})};t.CryoStorageItems=l},function(e,t,n){"use strict";t.__esModule=!0,t.RankIcon=void 0;var o=n(0),r=n(2),a={"Colony Director":"user-tie","Site Manager":"user-tie",Overseer:"user-tie","Head of Personnel":"briefcase","Crew Resources Officer":"briefcase","Deputy Director":"briefcase","Command Secretary":"user-tie","Head of Security":"user-shield","Security Commander":"user-shield","Chief of Security":"user-shield",Warden:["city","shield-alt"],Detective:"search","Forensic Technician":"search","Security Officer":"user-shield","Junior Officer":"user-shield","Chief Engineer":"toolbox","Atmospheric Technician":"wind","Station Engineer":"toolbox","Maintenance Technician":"wrench","Engine Technician":"toolbox",Electrician:"toolbox","Chief Medical Officer":"user-md",Chemist:"mortar-pestle",Pharmacist:"mortar-pestle","Medical Doctor":"user-md",Surgeon:"user-md","Emergency Physician":"user-md",Nurse:"user-md",Virologist:"disease",Paramedic:"ambulance","Emergency Medical Technician":"ambulance",Psychiatrist:"couch",Psychologist:"couch","Research Director":"user-graduate","Research Supervisor":"user-graduate",Roboticist:"robot","Biomechanical Engineer":["wrench","heartbeat"],"Mechatronic Engineer":"wrench",Scientist:"flask",Xenoarchaeologist:"flask",Anomalist:"flask","Phoron Researcher":"flask","Circuit Designer":"car-battery",Xenobiologist:"meteor",Xenobotanist:["biohazard","seedling"],Quartermaster:"box-open","Supply Chief":"warehouse","Cargo Technician":"box-open","Shaft Miner":"hard-hat","Drill Technician":"hard-hat",Pathfinder:"binoculars",Explorer:"user-astronaut","Field Medic":["user-md","user-astronaut"],Pilot:"space-shuttle",Bartender:"glass-martini",Barista:"coffee",Botanist:"leaf",Gardener:"leaf",Chaplain:"place-of-worship",Counselor:"couch",Chef:"utensils",Cook:"utensils",Entertainer:"smile-beam",Performer:"smile-beam",Musician:"guitar",Stagehand:"smile-beam",Intern:"school","Apprentice Engineer":["school","wrench"],"Medical Intern":["school","user-md"],"Lab Assistant":["school","flask"],"Security Cadet":["school","shield-alt"],"Jr. Cargo Tech":["school","box"],"Jr. Explorer":["school","user-astronaut"],Server:["school","utensils"],"Internal Affairs Agent":"balance-scale",Janitor:"broom",Custodian:"broom","Sanitation Technician":"hand-sparkles",Maid:"broom",Librarian:"book",Journalist:"newspaper",Writer:"book",Historian:"chalkboard-teacher",Professor:"chalkboard-teacher",Visitor:"user","Emergency Responder":"fighter-jet"};t.RankIcon=function(e,t){var n=e.rank,i=e.color,c=void 0===i?"label":i,l=a[n];return"string"==typeof l?(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:l,size:2}):Array.isArray(l)?l.map((function(e){return(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:e,size:2},e)})):(0,o.createComponentVNode)(2,r.Icon,{inline:!0,color:c,name:"user",size:2})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningUser=void 0;var o=n(0),r=n(1),a=n(2);t.MiningUser=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.insertIdText,d=c.has_id,u=c.id;return(0,o.createComponentVNode)(2,a.NoticeBox,{success:d,children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",u.name,".",(0,o.createVNode)(1,"br"),"You have ",u.points.toLocaleString("en-US")," points."]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){return i("logoff")}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})],4):l})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosEmailClientViewMessage=t.NtosEmailClient=void 0;var o=n(0),r=n(1),a=n(2),i=n(3),c=n(5);t.NtosEmailClient=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.PC_device_theme,u=a.error,s=a.downloading,m=a.current_account,p=(0,o.createComponentVNode)(2,f);return u?p=(0,o.createComponentVNode)(2,h,{error:u}):s?p=(0,o.createComponentVNode)(2,l):m&&(p=(0,o.createComponentVNode)(2,d)),(0,o.createComponentVNode)(2,i.NtosWindow,{resizable:!0,theme:c,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:p})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),l=i.down_filename,d=i.down_progress,u=i.down_size,s=i.down_speed;return(0,o.createComponentVNode)(2,a.Section,{title:"Downloading...",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"File",children:[l," (",u," GQ)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Speed",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," GQ/s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:d,maxValue:u,children:[d,"/",u," (",(0,c.round)(d/u*100,1),"%)"]})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.current_account,d=c.addressbook,h=c.new_message,f=c.cur_title,C=(0,o.createComponentVNode)(2,u);return d?C=(0,o.createComponentVNode)(2,m):h?C=(0,o.createComponentVNode)(2,p):f&&(C=(0,o.createComponentVNode)(2,s)),(0,o.createComponentVNode)(2,a.Section,{title:"Logged in as: "+l,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"plus",tooltip:"New Message",tooltipPosition:"left",onClick:function(){return i("new_message")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"cogs",tooltip:"Change Password",tooltipPosition:"left",onClick:function(){return i("changepassword")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",tooltip:"Log Out",tooltipPosition:"left",onClick:function(){return i("logout")}})],4),children:C})},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=(c.current_account,c.folder),d=c.messagecount,u=c.messages;return(0,o.createComponentVNode)(2,a.Section,{level:2,noTopPadding:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Inbox"===l,onClick:function(){return i("set_folder",{set_folder:"Inbox"})},children:"Inbox"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Spam"===l,onClick:function(){return i("set_folder",{set_folder:"Spam"})},children:"Spam"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:"Deleted"===l,onClick:function(){return i("set_folder",{set_folder:"Deleted"})},children:"Deleted"})]}),d&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Source"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Title"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Received At"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Actions"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.source}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.title}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.timestamp}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return i("view",{view:e.uid})},tooltip:"View"}),(0,o.createComponentVNode)(2,a.Button,{icon:"share",onClick:function(){return i("reply",{reply:e.uid})},tooltip:"Reply"}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"trash",onClick:function(){return i("delete",{"delete":e.uid})},tooltip:"Delete"})]})]},e.timestamp+e.title)}))]})})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["No emails found in ",l,"."]})]})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=e.administrator,d=c.cur_title,u=c.cur_source,s=c.cur_timestamp,m=c.cur_body,p=c.cur_hasattachment,h=c.cur_attachment_filename,f=c.cur_attachment_size,C=c.cur_uid;return(0,o.createComponentVNode)(2,a.Section,{title:d,buttons:l?(0,o.createComponentVNode)(2,a.Button,{icon:"times",onClick:function(){return i("back")}}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"share",tooltip:"Reply",tooltipPosition:"left",onClick:function(){return i("reply",{reply:C})}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"trash",tooltip:"Delete",tooltipPosition:"left",onClick:function(){return i("delete",{"delete":C})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",tooltip:"Save To Disk",tooltipPosition:"left",onClick:function(){return i("save",{save:C})}}),p&&(0,o.createComponentVNode)(2,a.Button,{icon:"paperclip",tooltip:"Save Attachment",tooltipPosition:"left",onClick:function(){return i("downloadattachment")}})||null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",tooltip:"Close",tooltipPosition:"left",onClick:function(){return i("cancel",{cancel:C})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"From",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"At",children:s}),p&&!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",color:"average",children:[h," (",f,"GQ)"]})||null,(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:m}})})})]})})};t.NtosEmailClientViewMessage=s;var m=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,a.Section,{title:"Address Book",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("set_recipient",{set_recipient:null})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.login,fluid:!0,onClick:function(){return i("set_recipient",{set_recipient:e.login})}},e.login)}))})},p=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=(c.current_account,c.msg_title),d=c.msg_recipient,u=c.msg_body,s=c.msg_hasattachment,m=c.msg_attachment_filename,p=c.msg_attachment_size;return(0,o.createComponentVNode)(2,a.Section,{title:"New Message",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"share",onClick:function(){return i("send")},children:"Send Message"}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("cancel")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:l,onInput:function(e,t){return i("edit_title",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recipient",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onInput:function(e,t){return i("edit_recipient",{val:t})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"address-book",onClick:function(){return i("addressbook")},tooltip:"Find Receipients",tooltipPosition:"left"})})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachments",buttons:s&&(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"times",onClick:function(){return i("remove_attachment")},children:"Remove Attachment"})||(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("addattachment")},children:"Add Attachment"}),children:s&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[m," (",p,"GQ)"]})||null}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Section,{width:"99%",inline:!0,children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:u}})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{verticalAlign:"top",onClick:function(){return i("edit_body")},icon:"pen",tooltip:"Edit Message",tooltipPosition:"left"})})]})})]})})},h=function(e,t){var n=(0,r.useBackend)(t).act,i=e.error;return(0,o.createComponentVNode)(2,a.Section,{title:"Notification",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return n("reset")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:i})})},f=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.stored_login,d=c.stored_password;return(0,o.createComponentVNode)(2,a.Section,{title:"Please Log In",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Email address",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:l,onInput:function(e,t){return i("edit_login",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Password",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onInput:function(e,t){return i("edit_password",{val:t})}})})]}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",onClick:function(){return i("login")},children:"Log In"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapNavigationContent=t.OvermapNavigation=void 0;var o=n(0),r=(n(5),n(1)),a=n(2),i=n(3),c=n(134);t.OvermapNavigation=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:380,height:530,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=l.sector,u=l.s_x,s=l.s_y,m=l.sector_info,p=l.viewing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Current Location",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eye",selected:p,onClick:function(){return i("viewing")},children:"Map View"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Location",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Coordiantes",children:[u," : ",s]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Additional Information",children:m})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Flight Data",children:(0,o.createComponentVNode)(2,c.OvermapFlightData,{disableLimiterControls:!0})})],4)};t.OvermapNavigationContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RCONContent=t.RCON=void 0;var o=n(0),r=n(5),a=n(1),i=n(2),c=n(3);t.RCON=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:630,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n,r=(0,a.useLocalState)(t,"tabIndex",0),c=r[0],l=r[1];return 0===c?n=(0,o.createComponentVNode)(2,d):1===c&&(n=(0,o.createComponentVNode)(2,u)),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===c,onClick:function(){return l(0)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"power-off"})," SMESs"]},"SMESs"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===c,onClick:function(){return l(1)},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"bolt"})," Breakers"]},"Breakers")]}),(0,o.createComponentVNode)(2,i.Box,{m:2,children:n})],4)};t.RCONContent=l;var d=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data.smes_info;return(0,o.createComponentVNode)(2,i.Section,{title:"SMESs",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:l?l.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.RCON_tag,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:.01*e.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[(0,r.round)(e.charge/6e4,1)," kWh / ",(0,r.round)(e.capacity/6e4)," kWh (",e.capacityPercent,"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return c("smes_in_toggle",{smes:e.RCON_tag})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return c("smes_in_set",{smes:e.RCON_tag})}})],4),children:[e.input_val," kW - ",e.input_set?"ON":"OFF"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return c("smes_out_toggle",{smes:e.RCON_tag})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return c("smes_out_set",{smes:e.RCON_tag})}})],4),children:[e.output_val," kW - ",e.output_set?"ONLINE":"OFFLINE"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Load",children:[e.output_load," kW"]})]})]},e.RCON_tag)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No SMESs detected."})})})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data.breaker_info;return(0,o.createComponentVNode)(2,i.Section,{title:"Breakers",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:c?c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.RCON_tag,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.enabled?"Enabled":"Disabled",selected:e.enabled,color:e.enabled?null:"bad",onClick:function(){return r("toggle_breaker",{breaker:e.RCON_tag})}})},e.RCON_tag)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No breakers detected."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShutoffMonitorContent=t.ShutoffMonitor=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.ShutoffMonitor=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.valves;return(0,o.createComponentVNode)(2,i.Section,{title:"Valves",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Open"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Mode"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Actions"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.open?"Yes":"No"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.enabled?"Auto":"Manual"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.open?"Opened":"Closed",selected:e.open,disabled:!e.enabled,onClick:function(){return a("toggle_open",{valve:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:e.enabled?"Auto":"Manual",selected:e.enabled,onClick:function(){return a("toggle_enable",{valve:e.ref})}})]})]},e.name)}))]})})};t.ShutoffMonitorContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsoleContent=t.StationAlertConsole=void 0;var o=n(0),r=n(1),a=n(2),i=n(3);t.StationAlertConsole=function(){return(0,o.createComponentVNode)(2,i.Window,{width:425,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.categories;return(void 0===c?[]:c).map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.category,children:(0,o.createVNode)(1,"ul",null,[0===e.alarms.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),e.alarms.map((function(e){var t="";return e.has_cameras?t=(0,o.createComponentVNode)(2,a.Section,{children:e.cameras.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{disabled:e.deact,content:e.name+(e.deact?" (deactived)":""),icon:"video",onClick:function(){return i("switchTo",{camera:e.camera})}},e.name)}))}):e.lost_sources&&(t=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["Lost Alarm Sources: ",e.lost_sources]})),(0,o.createVNode)(1,"li",null,[e.name,e.origin_lost?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Alarm Origin Lost."}):"",t],0,null,e.name)}))],0)},e.category)}))};t.StationAlertConsoleContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.SupermatterMonitorContent=t.SupermatterMonitor=void 0;var o=n(0),r=n(1),a=n(2),i=(n(20),n(3)),c=n(5),l=n(7);t.SupermatterMonitor=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t);n.act;return n.data.active?(0,o.createComponentVNode)(2,s):(0,o.createComponentVNode)(2,u)};t.SupermatterMonitorContent=d;var u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.supermatters;return(0,o.createComponentVNode)(2,a.Section,{title:"Supermatters Detected",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Refresh",icon:"sync",onClick:function(){return i("refresh")}}),children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"49%",grow:t%2,children:(0,o.createComponentVNode)(2,a.Section,{title:e.area_name+" (#"+e.uid+")",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:[e.integrity," %"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Details",onClick:function(){return i("set",{set:e.uid})}})})]})})},t)}))})})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.data,u=d.SM_area,s=d.SM_integrity,m=d.SM_power,p=d.SM_ambienttemp,h=d.SM_ambientpressure,f=d.SM_EPR,C=d.SM_gas_O2,N=d.SM_gas_CO2,b=d.SM_gas_N2,V=d.SM_gas_PH,g=d.SM_gas_N2O;return(0,o.createComponentVNode)(2,a.Section,{title:(0,l.toTitleCase)(u),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return to Menu",onClick:function(){return i("clear")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Core Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{animated:!0,value:s,minValue:0,maxValue:100,ranges:{good:[100,100],average:[50,100],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,a.Box,{color:(m>300?"bad":m>150&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" MeV/cm\xb3"},value:m})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,a.Box,{color:(p>5e3?"bad":p>4e3&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" K"},value:p})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.Box,{color:(h>1e4?"bad":h>5e3&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)+" kPa"},value:h})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chamber EPR",children:(0,o.createComponentVNode)(2,a.Box,{color:(f>4?"bad":f>1&&"average")||"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,c.round)(e,2)},value:f})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gas Composition",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"O\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:C}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"CO\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"N\xb2",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:b}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"PH",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V}),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"N\xb2O",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:g}),"%"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SignalerContent=t.Signaler=void 0;var o=n(0),r=n(5),a=n(1),i=n(2),c=n(3);t.Signaler=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:280,height:132,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data,d=l.code,u=l.frequency,s=l.minFrequency,m=l.maxFrequency;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:m/10,value:u/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return c("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return c("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:d,width:"80px",onDrag:function(e,t){return c("code",{code:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return c("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return c("signal")}})})})]})};t.SignalerContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=t.ICON_BY_CATEGORY_NAME=void 0;var o=n(0),r=n(10),a=n(7),i=n(1),c=n(2),l=n(3),d=["Atmospherics","Disposals"],u={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Insulated pipes":"snowflake","Station Equipment":"microchip"};t.ICON_BY_CATEGORY_NAME=u;var s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e,t){var n=(0,i.useBackend)(t),m=n.act,p=n.data,h=p.category,f=p.categories,C=void 0===f?[]:f,N=p.selected_color,b=p.paint_colors,V=p.piping_layer,g=p.pipe_layers,v=p.mode,k=p.preview_rows.flatMap((function(e){return e.previews})),y=(0,i.useLocalState)(t,"categoryName"),_=y[0],L=y[1],B=C.find((function(e){return e.cat_name===_}))||C[0];return(0,o.createComponentVNode)(2,l.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Category",children:d.map((function(e,t){return(0,o.createComponentVNode)(2,c.Button,{selected:h===t,icon:u[e],color:"transparent",content:e,onClick:function(){return m("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:v&e.bitmask,content:e.name,onClick:function(){return m("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,c.Box,{inline:!0,width:"64px",color:b[N],children:(0,a.capitalize)(N)}),Object.keys(b).map((function(e){return(0,o.createComponentVNode)(2,c.ColorBox,{ml:1,color:b[e],onClick:function(){return m("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,c.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,c.Section,{children:[0===h&&(0,o.createComponentVNode)(2,c.Box,{mb:1,children:Object.keys(g).map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,checked:g[e]===V,content:e,onClick:function(){return m("piping_layer",{piping_layer:g[e]})}},e)}))}),(0,o.createComponentVNode)(2,c.Box,{width:"108px",children:k.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return m("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,c.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,c.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:C.map((function(e,t){return(0,o.createComponentVNode)(2,c.Tabs.Tab,{fluid:!0,icon:u[e.cat_name],selected:e.cat_name===B.cat_name,onClick:function(){return L(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==B?void 0:B.recipes.map((function(e){return(0,o.createComponentVNode)(2,c.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:e.selected,content:e.pipe_name,title:e.pipe_name,onClick:function(){return m("pipe_type",{pipe_type:e.pipe_index,category:B.cat_name})}},e.pipe_index)}))]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableBasicInfo=void 0;var o=n(0),r=n(1),a=n(2);t.PortableBasicInfo=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.connected,d=c.holding,u=c.on,s=c.pressure,m=c.powerDraw,p=c.cellCharge,h=c.cellMaxCharge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return i("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:l?"good":"average",children:l?"Connected":"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",children:[m," W"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:h,ranges:{good:[.5*h,Infinity],average:[.25*h,.5*h],bad:[-Infinity,.25*h]},children:[p," W"]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!d,onClick:function(){return i("eject")}}),children:d?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:d.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)}},function(e,t,n){e.exports=n(204)},function(e,t,n){"use strict";n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(218),n(219),n(220),n(221),n(222),n(223),n(224),n(225),n(226),n(227),n(228),n(230),n(232),n(233),n(234),n(150),n(236),n(237),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(260),n(261),n(262),n(263),n(264),n(265),n(266),n(267),n(268),n(269),n(270),n(271),n(272),n(273),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(289),n(290),n(291),n(292),n(293),n(294),n(296),n(297),n(299),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(325),n(326),n(327),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(167),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(388),n(389),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417);var o=n(0);n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434);var r=n(172),a=(n(173),n(1)),i=n(174),c=n(24),l=n(176);
/**
* @file
* @copyright 2020 Aleksej Komarov
diff --git a/vorestation.dme b/vorestation.dme
index 56905efa0a..f08d40e4b8 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -78,6 +78,7 @@
#include "code\__defines\qdel.dm"
#include "code\__defines\research.dm"
#include "code\__defines\roguemining_vr.dm"
+#include "code\__defines\rust_g.dm"
#include "code\__defines\shields.dm"
#include "code\__defines\shuttle.dm"
#include "code\__defines\sound.dm"
@@ -1290,6 +1291,7 @@
#include "code\game\objects\items\weapons\shields_vr.dm"
#include "code\game\objects\items\weapons\stunbaton.dm"
#include "code\game\objects\items\weapons\surgery_tools.dm"
+#include "code\game\objects\items\weapons\surgery_tools_ch.dm"
#include "code\game\objects\items\weapons\swords_axes_etc.dm"
#include "code\game\objects\items\weapons\syndie.dm"
#include "code\game\objects\items\weapons\tape.dm"
@@ -2722,6 +2724,7 @@
#include "code\modules\mob\living\carbon\human\species\species.dm"
#include "code\modules\mob\living\carbon\human\species\species_attack.dm"
#include "code\modules\mob\living\carbon\human\species\species_attack_vr.dm"
+#include "code\modules\mob\living\carbon\human\species\species_ch.dm"
#include "code\modules\mob\living\carbon\human\species\species_getters.dm"
#include "code\modules\mob\living\carbon\human\species\species_getters_vr.dm"
#include "code\modules\mob\living\carbon\human\species\species_helpers.dm"
@@ -2759,10 +2762,13 @@
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_powers.dm"
#include "code\modules\mob\living\carbon\human\species\station\protean_vr\protean_species.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative.dm"
+#include "code\modules\mob\living\carbon\human\species\station\traits_vr\negative_ch.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\neutral.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\neutral_ch.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\positive.dm"
+#include "code\modules\mob\living\carbon\human\species\station\traits_vr\positive_ch.dm"
#include "code\modules\mob\living\carbon\human\species\station\traits_vr\trait.dm"
+#include "code\modules\mob\living\carbon\human\species\station\traits_vr\trait_ch.dm"
#include "code\modules\mob\living\carbon\human\species\virtual_reality\avatar.dm"
#include "code\modules\mob\living\carbon\human\species\virtual_reality\opaque_form.dm"
#include "code\modules\mob\living\carbon\human\species\xenomorphs\alien_powers.dm"
@@ -3021,6 +3027,7 @@
#include "code\modules\mob\living\simple_mob\subtypes\vore\hippo.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\horse.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\jelly.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\vore\lamia.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\lizardman.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\mimic.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\oregrub.dm"
@@ -3058,6 +3065,7 @@
#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\honkelemental.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\mobs_monsters\clowns\regularclowns.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\morph\morph.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\vore\plants_ch\pitcher.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\_defines.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_objects.dm"
#include "code\modules\mob\living\simple_mob\subtypes\vore\shadekin\ability_procs.dm"
@@ -3365,6 +3373,7 @@
#include "code\modules\power\fusion\core\core_control.dm"
#include "code\modules\power\fusion\core\core_field.dm"
#include "code\modules\power\fusion\fuel_assembly\fuel_assembly.dm"
+#include "code\modules\power\fusion\fuel_assembly\fuel_assembly_ch.dm"
#include "code\modules\power\fusion\fuel_assembly\fuel_compressor.dm"
#include "code\modules\power\fusion\fuel_assembly\fuel_control.dm"
#include "code\modules\power\fusion\fuel_assembly\fuel_injector.dm"
@@ -3748,6 +3757,7 @@
#include "code\modules\spells\targeted\projectile\magic_missile.dm"
#include "code\modules\spells\targeted\projectile\projectile.dm"
#include "code\modules\surgery\_defines.dm"
+#include "code\modules\surgery\additions_ch.dm"
#include "code\modules\surgery\bones.dm"
#include "code\modules\surgery\encased.dm"
#include "code\modules\surgery\external_repair.dm"