From 899c9243019b8890ece5970bb6328a9cd34a4d54 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Fri, 23 Sep 2022 16:19:03 -0700
Subject: [PATCH 01/64] Update text.dm
---
code/__HELPERS/text.dm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index dec44653af..cc44e98b2c 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -53,6 +53,36 @@
/proc/sanitize(t,list/repl_chars = null)
return html_encode(sanitize_simple(t,repl_chars))
+//Used for preprocessing entered text
+/proc/sanitize_rp(var/input, var/max_length = MAX_MESSAGE_LEN, var/encode = 1, var/trim = 1, var/extra = 1)
+ if(!input)
+ return
+
+ if(max_length)
+ input = copytext(input,1,max_length)
+
+ if(extra)
+ var/temp_input = replace_characters(input, list("\n"=" ","\t"=" "))//one character is replaced by two
+ if(length_char(input) < (length_char(temp_input) - 12)) //12 is the number of linebreaks allowed per message
+ input = replace_characters(temp_input,list(" "=" "))//replace again, this time the double spaces with single ones
+
+ if(encode)
+ // The below \ escapes have a space inserted to attempt to enable Travis auto-checking of span class usage. Please do not remove the space.
+ //In addition to processing html, html_encode removes byond formatting codes like "\ red", "\ i" and other.
+ //It is important to avoid double-encode text, it can "break" quotes and some other characters.
+ //Also, keep in mind that escaped characters don't work in the interface (window titles, lower left corner of the main window, etc.)
+ input = html_encode(input)
+ else
+ //If not need encode text, simply remove < and >
+ //note: we can also remove here byond formatting codes: 0xFF + next byte
+ input = replace_characters(input, list("<"=" ", ">"=" "))
+
+ if(trim)
+ //Maybe, we need trim text twice? Here and before copytext?
+ input = trim(input)
+
+ return input
+
//Runs sanitize and strip_html_simple
//I believe strip_html_simple() is required to run first to prevent '<' from displaying as '<' after sanitize() calls byond's html_encode()
/proc/strip_html(t,limit=MAX_MESSAGE_LEN)
From c6d908f578637b983d7a400a25bab4037c8e6ce2 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Fri, 23 Sep 2022 16:27:24 -0700
Subject: [PATCH 02/64] Update say.dm
---
code/modules/mob/say.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index d8ef440ef9..ace632f3ed 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -54,7 +54,7 @@
to_chat(usr, "^^^----- The preceeding message has been DISCARDED for being over the maximum length of [MAX_MESSAGE_LEN]. It has NOT been sent! -----^^^")
return
- message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))
+ message = trim(copytext_char(sanitize_rp(message), 1, MAX_MESSAGE_LEN))
clear_typing_indicator() // clear it immediately!
client?.last_activity = world.time
From 2b2aa2820796de8bb9484e40f20fa5cf68d809a6 Mon Sep 17 00:00:00 2001
From: VM_USER
Date: Sun, 25 Sep 2022 20:00:36 -0700
Subject: [PATCH 03/64] this is better
---
code/__HELPERS/text.dm | 30 ------------------------------
code/modules/mob/say.dm | 2 +-
2 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index cc44e98b2c..dec44653af 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -53,36 +53,6 @@
/proc/sanitize(t,list/repl_chars = null)
return html_encode(sanitize_simple(t,repl_chars))
-//Used for preprocessing entered text
-/proc/sanitize_rp(var/input, var/max_length = MAX_MESSAGE_LEN, var/encode = 1, var/trim = 1, var/extra = 1)
- if(!input)
- return
-
- if(max_length)
- input = copytext(input,1,max_length)
-
- if(extra)
- var/temp_input = replace_characters(input, list("\n"=" ","\t"=" "))//one character is replaced by two
- if(length_char(input) < (length_char(temp_input) - 12)) //12 is the number of linebreaks allowed per message
- input = replace_characters(temp_input,list(" "=" "))//replace again, this time the double spaces with single ones
-
- if(encode)
- // The below \ escapes have a space inserted to attempt to enable Travis auto-checking of span class usage. Please do not remove the space.
- //In addition to processing html, html_encode removes byond formatting codes like "\ red", "\ i" and other.
- //It is important to avoid double-encode text, it can "break" quotes and some other characters.
- //Also, keep in mind that escaped characters don't work in the interface (window titles, lower left corner of the main window, etc.)
- input = html_encode(input)
- else
- //If not need encode text, simply remove < and >
- //note: we can also remove here byond formatting codes: 0xFF + next byte
- input = replace_characters(input, list("<"=" ", ">"=" "))
-
- if(trim)
- //Maybe, we need trim text twice? Here and before copytext?
- input = trim(input)
-
- return input
-
//Runs sanitize and strip_html_simple
//I believe strip_html_simple() is required to run first to prevent '<' from displaying as '<' after sanitize() calls byond's html_encode()
/proc/strip_html(t,limit=MAX_MESSAGE_LEN)
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index ace632f3ed..8261c5ae8e 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -54,7 +54,7 @@
to_chat(usr, "^^^----- The preceeding message has been DISCARDED for being over the maximum length of [MAX_MESSAGE_LEN]. It has NOT been sent! -----^^^")
return
- message = trim(copytext_char(sanitize_rp(message), 1, MAX_MESSAGE_LEN))
+ message = trim(html_encode(message), MAX_MESSAGE_LEN)
clear_typing_indicator() // clear it immediately!
client?.last_activity = world.time
From 1015987d1223e59f91c3db986a056b6bacc6f097 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Thu, 6 Oct 2022 23:38:16 -0600
Subject: [PATCH 04/64] driderman, driderman, does whatever a spider can
---
code/__DEFINES/inventory.dm | 3 ++-
.../sprite_accessories/legs_and_taurs.dm | 1 +
.../human/innate_abilities/customization.dm | 15 ++++++++++++++-
code/modules/mob/living/carbon/human/species.dm | 13 +++++++++++++
.../living/carbon/human/species_types/arachnid.dm | 4 ----
5 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm
index 6c83a46514..344ccc1b9b 100644
--- a/code/__DEFINES/inventory.dm
+++ b/code/__DEFINES/inventory.dm
@@ -103,11 +103,12 @@
#define STYLE_SNEK_TAURIC (1<<2) //taur-friendly suits
#define STYLE_PAW_TAURIC (1<<3)
#define STYLE_HOOF_TAURIC (1<<4)
-#define STYLE_ALL_TAURIC (STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC|STYLE_HOOF_TAURIC)
+#define STYLE_ALL_TAURIC (STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC|STYLE_HOOF_TAURIC|STYLE_ARACHNID_TAURIC)
#define STYLE_NO_ANTHRO_ICON (1<<5) //When digis fit the default sprite fine and need no copypasted states. This is the case of skirts and winter coats, for example.
#define USE_SNEK_CLIP_MASK (1<<6)
#define USE_QUADRUPED_CLIP_MASK (1<<7)
#define USE_TAUR_CLIP_MASK (USE_SNEK_CLIP_MASK|USE_QUADRUPED_CLIP_MASK)
+#define STYLE_ARACHNID_TAURIC (1<<8)
//digitigrade legs settings.
#define NOT_DIGITIGRADE 0
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm
index 11fde50a37..843082265e 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm
@@ -97,6 +97,7 @@
icon_state = "drider"
color_src = MUTCOLORS
extra = TRUE
+ taur_mode = STYLE_ARACHNID_TAURIC
/datum/sprite_accessory/taur/eevee
name = "Eevee"
diff --git a/code/modules/mob/living/carbon/human/innate_abilities/customization.dm b/code/modules/mob/living/carbon/human/innate_abilities/customization.dm
index 621dc58650..59786c9200 100644
--- a/code/modules/mob/living/carbon/human/innate_abilities/customization.dm
+++ b/code/modules/mob/living/carbon/human/innate_abilities/customization.dm
@@ -116,7 +116,7 @@
if(new_snout)
H.dna.features["mam_snouts"] = new_snout
H.update_body()
-
+
else if (select_alteration == "Wings")
var/new_color = input(owner, "Choose your wing color:", "Race change","#"+H.dna.features["wings_color"]) as color|null
if(new_color)
@@ -167,6 +167,10 @@
H.dna.features["mam_tail"] = new_tail
if(new_tail != "None")
H.dna.features["taur"] = "None"
+ var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
+ var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
+ SC?.Remove(H)
+ SW?.Remove(H)
H.update_body()
else if (select_alteration == "Taur body")
@@ -182,7 +186,16 @@
var/new_taur
new_taur = input(owner, "Choose your character's tauric body:", "Tauric Alteration") as null|anything in snowflake_taur_list
if(new_taur)
+ var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
+ var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
+ SC?.Remove(H)
+ SW?.Remove(H)
H.dna.features["taur"] = new_taur
+ if(new_taur == "Drider")
+ SW = new
+ SC = new
+ SC.Grant(H)
+ SW.Grant(H)
if(new_taur != "None")
H.dna.features["mam_tail"] = "None"
H.update_body()
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index afceabf2a6..8855137c99 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -527,6 +527,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
H.physiology.footstep_type = FOOTSTEP_MOB_CLAW
if(STYLE_SNEK_TAURIC)
H.physiology.footstep_type = FOOTSTEP_MOB_CRAWL
+ if(STYLE_ARACHNID_TAURIC)
+ if(!istype(H.dna.species,/datum/species/arachnid))
+ var/datum/action/innate/spin_web/SW = new
+ var/datum/action/innate/spin_cocoon/SC = new
+ SC.Grant(H)
+ SW.Grant(H)
else
H.physiology.footstep_type = null
else
@@ -602,6 +608,13 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if((TRAIT_ROBOTIC_ORGANISM in inherent_traits) && C.hud_used)
C.hud_used.coolant_display.clear()
+ if(ishuman(C))
+ var/mob/living/carbon/human/H = C
+ var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
+ var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
+ SC?.Remove(H)
+ SW?.Remove(H)
+
SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src)
// shamelessly inspired by antag_datum.remove_blacklisted_quirks()
diff --git a/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/code/modules/mob/living/carbon/human/species_types/arachnid.dm
index 7495e2500e..5358f9fee5 100644
--- a/code/modules/mob/living/carbon/human/species_types/arachnid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/arachnid.dm
@@ -54,10 +54,6 @@
/datum/species/arachnid/on_species_loss(mob/living/carbon/human/H)
. = ..()
- var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
- var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
- SC?.Remove(H)
- SW?.Remove(H)
/datum/action/innate/spin_web
name = "Spin Web"
From 2b3084267212a8350daef3b85d804fd53b9cdf8c Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Wed, 12 Oct 2022 07:41:20 -0600
Subject: [PATCH 05/64] =?UTF-8?q?yeah,=20im=20arachnophobic=20=F0=9F=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
code/__SPLURTCODE/DEFINES/traits.dm | 2 +
modular_splurt/code/datums/traits/good.dm | 142 ++++++++++++++++++++++
2 files changed, 144 insertions(+)
diff --git a/code/__SPLURTCODE/DEFINES/traits.dm b/code/__SPLURTCODE/DEFINES/traits.dm
index 44edc21426..ff75772bee 100644
--- a/code/__SPLURTCODE/DEFINES/traits.dm
+++ b/code/__SPLURTCODE/DEFINES/traits.dm
@@ -18,3 +18,5 @@
#define TRAIT_CHOKE_SLUT "choke_slut"
#define BLOODFLEDGE "BloodFledge"//splurt change
+
+#define TRAIT_ARACHNID "Arachnid"
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index f775cdc35b..545f92ec28 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -106,3 +106,145 @@
if(.)
TIMER_COOLDOWN_START(quirk_holder, COOLDOWN_DOMINANT_SNAP, DOMINANT_SNAP_COOLDOWN)
+
+/datum/quirk/arachnid
+ name = "Arachnid"
+ desc = "Your bodily anatomy allows you to spin webs and cocoons, even if you aren't an arachnid! (Note that this quirk does nothing for members of the arachnid species)"
+ value = 1
+ medical_record_text = "Patient has attempted to cover the room in webs, claiming to be \"making a nest\"."
+ mob_trait = TRAIT_ARACHNID
+ gain_text = "You feel a strange sensation near your anus..."
+ lose_text = "You feel like you can't spin webs anymore..."
+ processing_quirk = TRUE
+
+/datum/quirk/arachnid/add()
+ . = ..()
+ var/mob/living/carbon/human/H = quirk_holder
+ if(istype(H.dna.species,/datum/species/arachnid))
+ to_chat(H, "As an arachnid, this quirk does nothing for you, as these abilities are innate to your species.")
+ else
+ var/datum/action/innate/spin_web_quirk/SW = new
+ var/datum/action/innate/spin_cocoon_quirk/SC = new
+ SC.Grant(H)
+ SW.Grant(H)
+
+/datum/quirk/arachnid/remove()
+ . = ..()
+ var/mob/living/carbon/human/H = quirk_holder
+ if(!istype(H.dna.species,/datum/species/arachnid))
+ var/datum/action/innate/spin_web_quirk/SW = locate(/datum/action/innate/spin_web_quirk) in H.actions
+ var/datum/action/innate/spin_cocoon_quirk/SC = locate(/datum/action/innate/spin_cocoon_quirk) in H.actions
+ SC?.Remove(H)
+ SW?.Remove(H)
+
+// Unfortunately, some copy-paste work needed doing. Web spinning and cocoon spinning relied on variables innate to the arachnid species. Also unsure of how to make the cooldown work between both actions ¯\_(ツ)_/¯
+/datum/action/innate/spin_web_quirk
+ name = "Spin Web"
+ check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
+ icon_icon = 'icons/mob/actions/actions_animal.dmi'
+ button_icon_state = "lay_web"
+ var/web_cooldown = 200
+ var/web_ready = TRUE
+ var/spinner_rate = 25
+
+/datum/action/innate/spin_cocoon_quirk
+ name = "Spin Cocoon"
+ check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
+ icon_icon = 'icons/mob/actions/actions_animal.dmi'
+ button_icon_state = "wrap_0"
+ var/web_cooldown = 200
+ var/web_ready = TRUE
+ var/spinner_rate = 25
+
+/datum/action/innate/spin_web_quirk/Activate()
+ var/mob/living/carbon/human/H = owner
+ if(H.stat == "DEAD")
+ return
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait a while to regenerate web fluid.")
+ return
+ var/turf/T = get_turf(H)
+ if(!T)
+ to_chat(H, "There's no room to spin your web here!")
+ return
+ var/obj/structure/spider/stickyweb/W = locate() in T
+ var/obj/structure/arachnid/W2 = locate() in T
+ if(W || W2)
+ to_chat(H, "There's already a web here!")
+ return
+ // Should have some minimum amount of food before trying to activate
+ var/nutrition_threshold = NUTRITION_LEVEL_FED
+ if (H.nutrition >= nutrition_threshold)
+ to_chat(H, "You begin spinning some web...")
+ if(!do_after(H, 10 SECONDS, 1, T))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(-spinner_rate)
+ addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
+ to_chat(H, "You use up a fair amount of energy weaving a web on the ground with your spinneret!")
+ new /obj/structure/arachnid(T, owner)
+
+ else
+ to_chat(H, "You're too hungry to spin web right now, eat something first!")
+ return
+/*
+ This took me far too long to figure out so I'm gonna document it here.
+ 1) Create an innate action for the species
+ 2) Have that action trigger a RegisterSignal for mob clicking
+ 3) Trigger the cocoonAtom proc on that signal
+ 4) Validate the target then start spinning
+ 5) if you're not interrupted, force move the target to the cocoon created at their location.
+*/
+/datum/action/innate/spin_cocoon_quirk/Activate()
+ var/mob/living/carbon/human/H = owner
+ if(H.stat == "DEAD")
+ return
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait awhile to regenerate web fluid.")
+ return
+ var/nutrition_threshold = NUTRITION_LEVEL_FED
+ if (H.nutrition >= nutrition_threshold)
+ to_chat(H, "You pull out a strand from your spinneret, ready to wrap a target.
\
+ (Press ALT+CLICK on the target to start wrapping.)")
+ H.adjust_nutrition(spinner_rate * -0.5)
+ addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
+ RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom)
+ return
+ else
+ to_chat(H, "You're too hungry to spin web right now, eat something first!")
+ return
+
+/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
+ UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
+ if (!H)
+ return COMSIG_MOB_CANCEL_CLICKON
+ else
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait awhile to regenerate web fluid.")
+ return
+ if(!H.Adjacent(A)) //No.
+ return
+ if(!isliving(A) && A.anchored)
+ to_chat(H, "[A] is bolted to the floor!")
+ return
+ if(istype(A, /obj/structure/arachnid))
+ to_chat(H, "No double wrapping.")
+ return
+ if(istype(A, /obj/effect))
+ to_chat(H, "You cannot wrap this.")
+ return
+ H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
+ if(!do_after(H, 10 SECONDS, 1, A))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(spinner_rate * -3)
+ var/obj/structure/arachnid/cocoon/C = new(A.loc)
+ if(isliving(A))
+ C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a large cocoon!")
+ return
+ else
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a cocoon!")
+ return
From 14cbca098f82b33621834f1df135120db245d5f4 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Wed, 12 Oct 2022 11:02:54 -0600
Subject: [PATCH 06/64] s u c c the cocoon
---
code/__SPLURTCODE/DEFINES/is_helpers.dm | 2 ++
modular_splurt/code/datums/traits/good.dm | 2 +-
modular_splurt/code/datums/traits/neutral.dm | 8 ++++++--
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/code/__SPLURTCODE/DEFINES/is_helpers.dm b/code/__SPLURTCODE/DEFINES/is_helpers.dm
index 9b2e1d6afe..e5da36f6cc 100644
--- a/code/__SPLURTCODE/DEFINES/is_helpers.dm
+++ b/code/__SPLURTCODE/DEFINES/is_helpers.dm
@@ -6,3 +6,5 @@
#define iswendigo(A) (istype(A, /mob/living/carbon/wendigo))
#define iscloudturf(A) (istype(A, /turf/open/chasm/cloud))
+
+#define isarachnid(A) (is_species(A, /datum/species/arachnid) || HAS_TRAIT(A, TRAIT_ARACHNID))
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 545f92ec28..9a460c305f 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -216,7 +216,7 @@
/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
- if (!H)
+ if (!H || !isarachnid(H))
return COMSIG_MOB_CANCEL_CLICKON
else
if(web_ready == FALSE)
diff --git a/modular_splurt/code/datums/traits/neutral.dm b/modular_splurt/code/datums/traits/neutral.dm
index c4a70a2329..94e2de296f 100644
--- a/modular_splurt/code/datums/traits/neutral.dm
+++ b/modular_splurt/code/datums/traits/neutral.dm
@@ -462,8 +462,12 @@
H.adjustStaminaLoss(-20)
H.adjust_nutrition(-20)
H.resting = TRUE
- if(H.pulling && iscarbon(H.pulling))
- var/mob/living/carbon/victim = H.pulling
+ if(H.pulling && (iscarbon(H.pulling) || (istype(H.pulling,/obj/structure/arachnid/cocoon) && locate(/mob/living/carbon) in H.pulling.contents)))
+ var/mob/living/carbon/victim
+ if(iscarbon(H.pulling))
+ victim = H.pulling
+ else if(istype(H.pulling,/obj/structure/arachnid/cocoon))
+ victim = locate(/mob/living/carbon) in H.pulling.contents
drain_cooldown = world.time + 25
if(victim.anti_magic_check(FALSE, TRUE, FALSE, 0))
to_chat(victim, "[H] tries to bite you, but stops before touching you!")
From 5bcd1fe2ae020368753274de5acfeed92fd32a87 Mon Sep 17 00:00:00 2001
From: deathride58
Date: Wed, 12 Oct 2022 21:49:46 -0400
Subject: [PATCH 07/64] Updates DreamAnnotate to v2
---
.github/workflows/ci_suite.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml
index 34c1ec1b0e..dc93324bff 100644
--- a/.github/workflows/ci_suite.yml
+++ b/.github/workflows/ci_suite.yml
@@ -45,7 +45,7 @@ jobs:
tools/bootstrap/python -m mapmerge2.dmm_test
~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1
- name: Annotate Lints
- uses: yogstation13/DreamAnnotate@v1
+ uses: yogstation13/DreamAnnotate@v2
if: always()
with:
outputFile: output-annotations.txt
From bb6aa48f446a4f422fab1b4a75cd3b1348a6ca54 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Thu, 13 Oct 2022 02:15:03 -0600
Subject: [PATCH 08/64] Use `is_species`, comment out old `isarachnid`
---
code/__DEFINES/is_helpers.dm | 2 +-
modular_splurt/code/datums/traits/good.dm | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index b15075addc..9949defa4b 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -88,7 +88,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isinsect(A) (is_species(A, /datum/species/insect))
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define isstartjelly(A) (is_species(A, /datum/species/jelly/roundstartslime))
-#define isarachnid(A) (is_species(A, /datum/species/arachnid))
+// SPLURT Edit: Overwritten later, complains if this line exists // #define isarachnid(A) (is_species(A, /datum/species/arachnid))
//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 9a460c305f..14b2ec8385 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -120,7 +120,7 @@
/datum/quirk/arachnid/add()
. = ..()
var/mob/living/carbon/human/H = quirk_holder
- if(istype(H.dna.species,/datum/species/arachnid))
+ if(is_species(H,/datum/species/arachnid))
to_chat(H, "As an arachnid, this quirk does nothing for you, as these abilities are innate to your species.")
else
var/datum/action/innate/spin_web_quirk/SW = new
@@ -131,7 +131,7 @@
/datum/quirk/arachnid/remove()
. = ..()
var/mob/living/carbon/human/H = quirk_holder
- if(!istype(H.dna.species,/datum/species/arachnid))
+ if(!is_species(H,/datum/species/arachnid))
var/datum/action/innate/spin_web_quirk/SW = locate(/datum/action/innate/spin_web_quirk) in H.actions
var/datum/action/innate/spin_cocoon_quirk/SC = locate(/datum/action/innate/spin_cocoon_quirk) in H.actions
SC?.Remove(H)
From e513965abad831e5334ff428870b4e72bc2b0a65 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Sat, 15 Oct 2022 12:01:46 -0600
Subject: [PATCH 09/64] oops, this should be better
---
code/__DEFINES/is_helpers.dm | 2 +-
code/__SPLURTCODE/DEFINES/is_helpers.dm | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 9949defa4b..c1a3583634 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -88,7 +88,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isinsect(A) (is_species(A, /datum/species/insect))
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define isstartjelly(A) (is_species(A, /datum/species/jelly/roundstartslime))
-// SPLURT Edit: Overwritten later, complains if this line exists // #define isarachnid(A) (is_species(A, /datum/species/arachnid))
+#define isarachnid(A) (is_species(A, /datum/species/arachnid) || HAS_TRAIT(A, TRAIT_ARACHNID)) // SPLURT Edit: for the Arachnid trait
//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))
diff --git a/code/__SPLURTCODE/DEFINES/is_helpers.dm b/code/__SPLURTCODE/DEFINES/is_helpers.dm
index e5da36f6cc..9b2e1d6afe 100644
--- a/code/__SPLURTCODE/DEFINES/is_helpers.dm
+++ b/code/__SPLURTCODE/DEFINES/is_helpers.dm
@@ -6,5 +6,3 @@
#define iswendigo(A) (istype(A, /mob/living/carbon/wendigo))
#define iscloudturf(A) (istype(A, /turf/open/chasm/cloud))
-
-#define isarachnid(A) (is_species(A, /datum/species/arachnid) || HAS_TRAIT(A, TRAIT_ARACHNID))
From 9d1529796633056ebe1dd3d9068336e2b5ecf7f6 Mon Sep 17 00:00:00 2001
From: KathrinBailey
Date: Sun, 16 Oct 2022 23:06:38 +0100
Subject: [PATCH 10/64] boxstation engines
two new engines:
diy - blank canvas to build your own stuff
diy_sm - an empty room with a crystal in it, make your own chamber!!
config changes
---
.../StationRuins/Box/Engine/splurt/diy.dmm | 1736 +++++++++++++++
.../StationRuins/Box/Engine/splurt/diy_sm.dmm | 1931 +++++++++++++++++
config/entries/general.txt | 14 +-
modular_splurt/code/datums/ruins/station.dm | 12 +
4 files changed, 3687 insertions(+), 6 deletions(-)
create mode 100644 _maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
create mode 100644 _maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
create mode 100644 modular_splurt/code/datums/ruins/station.dm
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
new file mode 100644
index 0000000000..6fabaa6b62
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
@@ -0,0 +1,1736 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"am" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"aB" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/stack/cable_coil/yellow{
+ pixel_y = 10
+ },
+/obj/item/stack/cable_coil/yellow{
+ pixel_y = 5
+ },
+/obj/item/stack/cable_coil/yellow,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"aW" = (
+/obj/machinery/light,
+/turf/open/floor/plating,
+/area/engineering/main)
+"bu" = (
+/turf/open/floor/plating,
+/area/engineering/main)
+"bG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall,
+/area/engineering/main)
+"bV" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"bY" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"cn" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/box,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/rods/fifty,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"cx" = (
+/turf/closed/wall,
+/area/engineering/main)
+"cH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"cY" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"dx" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"dB" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"dO" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/engineering/main)
+"eq" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ez" = (
+/obj/structure/cable,
+/obj/machinery/power/floodlight,
+/turf/open/floor/plating,
+/area/engineering/main)
+"eF" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-6"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-10"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"eG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "boxengine_diyshutters_equipment";
+ name = "Shutter Control";
+ pixel_y = -20;
+ req_access_txt = "10"
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "boxengine_diyshutters_equipment"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"gg" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"gC" = (
+/obj/structure/cable{
+ icon_state = "6-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"iA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"iP" = (
+/obj/effect/turf_decal/box,
+/obj/structure/closet/crate/engineering/electrical{
+ name = "solar panel crate"
+ },
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/cable_coil/yellow,
+/obj/item/stack/cable_coil/yellow,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"iV" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-9"
+ },
+/obj/structure/cable/yellow,
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/plating,
+/area/engineering/main)
+"iX" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ji" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"jI" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"jK" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-9"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"kh" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"kn" = (
+/obj/structure/table,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/item/construction/rld/mini,
+/obj/item/pipe_dispenser,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"kD" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"kR" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"ld" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"lG" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"lO" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"mn" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 5
+ },
+/obj/item/tank/internals/emergency_oxygen/double,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"mt" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"mO" = (
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/mineral/uranium{
+ amount = 40
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"nw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"nL" = (
+/obj/structure/closet/radiation,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/geiger_counter,
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"op" = (
+/obj/effect/turf_decal/box,
+/obj/structure/closet/crate/secure/engineering,
+/obj/item/construction/rcd/loaded/upgraded{
+ custom_range = 2;
+ matter = 200;
+ max_matter = 200;
+ name = "Super RCD";
+ pixel_y = -5;
+ ranged = 1
+ },
+/obj/item/construction/rcd/loaded/upgraded{
+ custom_range = 2;
+ matter = 200;
+ max_matter = 200;
+ name = "Super RCD";
+ ranged = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"pj" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"qc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"qV" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"rh" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"ry" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"rH" = (
+/obj/effect/turf_decal/box,
+/obj/structure/closet/crate/solarpanel_small,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/light/small,
+/obj/item/stack/cable_coil/yellow,
+/obj/item/stack/cable_coil/yellow,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"rO" = (
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/turf/open/floor/plating,
+/area/engineering/main)
+"rS" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"sj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/yellow{
+ pixel_y = 5
+ },
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"sn" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"sA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"sH" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"sV" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"to" = (
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"tw" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"tE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"tJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"tM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"tV" = (
+/obj/effect/spawner/structure/window,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ur" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"uE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"wC" = (
+/obj/structure/cable/yellow,
+/obj/machinery/power/port_gen/pacman/super,
+/turf/open/floor/plating,
+/area/engineering/main)
+"xc" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Power Generation";
+ req_access_txt = "10"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"xj" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"xX" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"yk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"yN" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zH" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zL" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zN" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zS" = (
+/turf/open/space/basic,
+/area/space)
+"Be" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset/anchored,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Cc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Cm" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ct" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"CB" = (
+/obj/machinery/space_heater,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"CP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Dd" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Dy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"DL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"DX" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Eh" = (
+/obj/machinery/autolathe,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"EI" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Fl" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Gc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"GG" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-5"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Hu" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Ie" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Power Generation";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"In" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Ka" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Kh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/caution/stand_clear{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "boxengine_diyshutters_equipment"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Kz" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Le" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Lg" = (
+/obj/structure/cable{
+ icon_state = "2-9"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Mp" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"MD" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-10"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-6"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"MO" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Nd" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ng" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"NP" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Oj" = (
+/turf/closed/wall/r_wall,
+/area/space/nearstation)
+"OV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"Qr" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"QX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Rh" = (
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"RG" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space/basic,
+/area/space/nearstation)
+"RY" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Sn" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"SL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/engineering/main)
+"SO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"Td" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-5"
+ },
+/obj/structure/cable/yellow,
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/plating,
+/area/engineering/main)
+"TR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Un" = (
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"UY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"VN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Power Generation";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"XN" = (
+/obj/structure/table,
+/obj/item/clothing/glasses/welding{
+ pixel_x = -9;
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/food/drinks/soda_cans/cola{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"XX" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Yg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"YZ" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space,
+/area/space/nearstation)
+"Zp" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Zt" = (
+/obj/effect/spawner/structure/window,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Zz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ZA" = (
+/obj/effect/turf_decal/siding/yellow{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"ZF" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"ZT" = (
+/turf/template_noop,
+/area/template_noop)
+
+(1,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+zS
+Rh
+zS
+zS
+Rh
+zS
+zS
+Rh
+zS
+zS
+zS
+YZ
+YZ
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(2,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+zS
+tw
+zS
+zS
+tw
+zS
+zS
+tw
+zS
+zS
+zS
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(3,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Le
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(4,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(5,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Le
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(6,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(7,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+cx
+cx
+to
+Le
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+Rh
+Rh
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+zS
+"}
+(8,1,1) = {"
+ZT
+ZT
+mt
+Qr
+cx
+Be
+to
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+Le
+Le
+tw
+YZ
+YZ
+YZ
+tw
+zS
+zS
+zS
+zS
+"}
+(9,1,1) = {"
+ZT
+ZT
+rh
+Un
+gg
+bY
+rS
+Le
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+tw
+Rh
+Rh
+Rh
+zS
+tw
+zS
+zS
+zS
+zS
+zS
+"}
+(10,1,1) = {"
+ZT
+sA
+ZF
+ld
+cx
+cx
+to
+to
+ry
+aa
+aa
+SO
+aa
+aa
+aa
+SO
+SO
+tE
+zS
+zS
+Rh
+zS
+zS
+zS
+zS
+zS
+"}
+(11,1,1) = {"
+Cc
+Ka
+ZF
+kh
+kn
+cx
+uE
+qc
+UY
+bu
+bu
+bV
+bu
+bu
+bu
+bu
+bu
+tJ
+zS
+RG
+YZ
+RG
+zS
+zS
+zS
+zS
+"}
+(12,1,1) = {"
+xX
+NP
+dB
+cY
+aB
+tV
+am
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+Nd
+tJ
+tw
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(13,1,1) = {"
+yk
+Ka
+jI
+Un
+Eh
+cx
+zH
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+zN
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(14,1,1) = {"
+bG
+EI
+xc
+dO
+cx
+cx
+kD
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+iX
+Cm
+tw
+YZ
+Oj
+YZ
+Rh
+zS
+zS
+zS
+"}
+(15,1,1) = {"
+dO
+Sn
+gC
+dx
+Yg
+Yg
+Yg
+Yg
+Yg
+DL
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+DX
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(16,1,1) = {"
+Ie
+zL
+QX
+Lg
+ez
+mO
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+aW
+to
+tw
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(17,1,1) = {"
+dO
+zL
+QX
+GG
+Td
+wC
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+DX
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(18,1,1) = {"
+cx
+eq
+MD
+eF
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+DX
+tw
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(19,1,1) = {"
+dO
+Dy
+QX
+jK
+iV
+wC
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+DX
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(20,1,1) = {"
+Ie
+Dy
+QX
+xj
+bu
+bu
+bu
+rO
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+aW
+to
+tw
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(21,1,1) = {"
+dO
+Dy
+sV
+yN
+qc
+qc
+qc
+qc
+qc
+Ct
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+DX
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(22,1,1) = {"
+cx
+SL
+VN
+dO
+cx
+cx
+kD
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+Zz
+Mp
+tw
+YZ
+Oj
+YZ
+Rh
+zS
+zS
+zS
+"}
+(23,1,1) = {"
+CB
+sj
+Cc
+Un
+mn
+cx
+Fl
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+MO
+zS
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(24,1,1) = {"
+Un
+kR
+CP
+Zp
+Gc
+Zt
+cH
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+bu
+Nd
+Ng
+tw
+YZ
+Oj
+YZ
+zS
+zS
+zS
+zS
+"}
+(25,1,1) = {"
+Un
+ur
+Cc
+In
+XN
+cx
+TR
+ji
+bu
+bu
+bu
+lG
+bu
+bu
+bu
+bu
+qV
+Ng
+zS
+YZ
+YZ
+YZ
+zS
+zS
+zS
+zS
+"}
+(26,1,1) = {"
+iA
+tM
+pj
+ld
+cx
+cx
+cx
+Kh
+eG
+bG
+nw
+nw
+Kz
+Kz
+Kz
+nw
+nw
+OV
+zS
+zS
+Rh
+zS
+zS
+zS
+zS
+zS
+"}
+(27,1,1) = {"
+ZT
+ZT
+ZT
+RY
+nL
+cx
+sH
+ZA
+ZA
+lO
+to
+zS
+zS
+zS
+tw
+zS
+tw
+tw
+Rh
+Rh
+Rh
+zS
+zS
+zS
+zS
+zS
+"}
+(28,1,1) = {"
+ZT
+ZT
+ZT
+sn
+Dd
+cx
+cn
+op
+iP
+rH
+to
+zS
+zS
+zS
+tw
+zS
+Rh
+zS
+Rh
+YZ
+YZ
+Rh
+zS
+zS
+zS
+zS
+"}
+(29,1,1) = {"
+ZT
+ZT
+ZT
+XX
+Hu
+to
+to
+to
+to
+to
+to
+zS
+zS
+zS
+Rh
+Rh
+Rh
+Rh
+Rh
+Oj
+YZ
+zS
+zS
+zS
+zS
+zS
+"}
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
new file mode 100644
index 0000000000..c9c668a19e
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
@@ -0,0 +1,1931 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Fore";
+ network = list("ss13","engine");
+ pixel_x = 23
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ab" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ac" = (
+/obj/effect/turf_decal/caution/stand_clear,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ad" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"af" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-10"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ag" = (
+/obj/structure/rack,
+/obj/item/pipe_dispenser{
+ pixel_y = 5
+ },
+/obj/item/pipe_dispenser,
+/obj/item/pipe_dispenser{
+ pixel_y = -5
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"ah" = (
+/obj/structure/rack,
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 5
+ },
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/stack/cable_coil/yellow,
+/obj/item/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/flashlight,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"at" = (
+/obj/structure/closet/crate/bin,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/item/cartridge/atmos,
+/turf/open/floor/plating,
+/area/engineering/main)
+"av" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"aA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"aV" = (
+/obj/structure/fluff/railing/corner{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"aX" = (
+/obj/structure/fluff/railing/corner{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"bH" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/binary/valve{
+ dir = 4;
+ name = "Output to Waste"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"bI" = (
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/plasmarglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/plasmarglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 50
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"bT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ck" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"cp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"cP" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"cS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/poster/official/safety_eye_protection,
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"dl" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"dw" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space/nearstation)
+"dD" = (
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"ej" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ey" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Aft";
+ dir = 1;
+ network = list("ss13","engine");
+ pixel_x = 23
+ },
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ez" = (
+/obj/structure/reflector/box{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"fj" = (
+/obj/machinery/power/emitter{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"fq" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"fK" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/power/emitter{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"fW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"gf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"gQ" = (
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/effect/turf_decal/box/corners,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"hJ" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"in" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"iC" = (
+/obj/structure/rack,
+/obj/item/storage/toolbox/artistic{
+ icon_state = "yellow";
+ item_state = "toolbox_yellow";
+ name = "Cable Toolbox";
+ pixel_y = 6
+ },
+/obj/item/storage/toolbox/artistic{
+ icon_state = "yellow";
+ item_state = "toolbox_yellow";
+ name = "Cable Toolbox";
+ pixel_y = -4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"iD" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"iJ" = (
+/obj/structure/fluff/railing/corner,
+/turf/open/floor/plating,
+/area/engineering/main)
+"jg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/machinery/power/rad_collector,
+/obj/effect/turf_decal/box/corners{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"jp" = (
+/obj/structure/fluff/railing,
+/obj/effect/turf_decal/caution,
+/turf/open/floor/plating,
+/area/engineering/main)
+"kg" = (
+/obj/effect/turf_decal/box/corners{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"kA" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engineering/main)
+"kW" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/obj/structure/closet/crate/large,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"ln" = (
+/obj/machinery/power/rad_collector,
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"lw" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"mj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"mH" = (
+/obj/structure/sign/poster/official/safety_eye_protection,
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"mU" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"mX" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plating,
+/area/engineering/main)
+"nz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"nR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"ou" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"oC" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"oS" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engineering/main)
+"qc" = (
+/obj/machinery/power/rad_collector,
+/obj/effect/turf_decal/box/corners{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"qe" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"qr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"rJ" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
+"rY" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"sn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"so" = (
+/obj/structure/fluff/railing{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"td" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"tn" = (
+/obj/machinery/power/supermatter_crystal/engine,
+/turf/open/floor/plating,
+/area/engineering/main)
+"tw" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"tJ" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"uR" = (
+/obj/structure/fluff/railing{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"vN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"vX" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"wt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/closet/radiation,
+/obj/item/clothing/suit/radiation,
+/obj/item/clothing/head/radiation,
+/obj/item/geiger_counter,
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"wG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"wS" = (
+/turf/open/space,
+/area/space/nearstation)
+"xo" = (
+/obj/item/construction/rcd/loaded/upgraded{
+ custom_range = 2;
+ matter = 200;
+ max_matter = 200;
+ name = "Super RCD";
+ ranged = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"yd" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"yf" = (
+/turf/open/space/basic,
+/area/space/nearstation)
+"yD" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zh" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"zF" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"zS" = (
+/turf/open/space/basic,
+/area/space)
+"Ab" = (
+/obj/structure/rack,
+/obj/item/flashlight/seclite,
+/obj/item/flashlight,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"AH" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine,
+/area/engineering/main)
+"Bc" = (
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Bl" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"BD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/binary/valve/digital/on{
+ dir = 4;
+ name = "Output Release"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"CH" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"CT" = (
+/obj/structure/fluff/railing/corner{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"DC" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Ef" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ei" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Es" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ex" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"EL" = (
+/turf/closed/wall,
+/area/engineering/main)
+"EM" = (
+/obj/item/wrench,
+/obj/structure/rack,
+/obj/item/weldingtool/hugetank{
+ toolspeed = 0.5
+ },
+/obj/item/clothing/head/welding{
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/item/clothing/head/welding{
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/item/clothing/glasses/welding,
+/obj/item/clothing/glasses/welding,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"FG" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"GB" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"GI" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"GK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Port";
+ dir = 4;
+ network = list("ss13","engine")
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"GX" = (
+/obj/structure/cable/yellow,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Hn" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/engineering/main)
+"Hz" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"In" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"IE" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Jn" = (
+/obj/machinery/light,
+/obj/machinery/power/rad_collector,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"JV" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Laser Room";
+ req_access_txt = "10"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ke" = (
+/obj/structure/table,
+/obj/item/stack/cable_coil/yellow{
+ pixel_y = 10
+ },
+/obj/item/stack/cable_coil/yellow{
+ pixel_y = 5
+ },
+/obj/item/stack/cable_coil/yellow,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Kv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Lg" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Lw" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"LJ" = (
+/obj/machinery/light,
+/turf/open/floor/plating,
+/area/engineering/main)
+"LS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plating/airless,
+/area/engineering/main)
+"ME" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"MI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"MJ" = (
+/turf/open/floor/plating,
+/area/engineering/main)
+"MP" = (
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"Ne" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Np" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ND" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "Engineering External Access";
+ req_access_txt = "10;13"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"NK" = (
+/obj/structure/closet/crate/large,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/rods/fifty,
+/obj/item/stack/rods/fifty,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"NZ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Oj" = (
+/turf/closed/wall/r_wall,
+/area/space/nearstation)
+"Ok" = (
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"OK" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"OU" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel,
+/area/engineering/main)
+"Py" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating,
+/area/engineering/main)
+"Qn" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible,
+/obj/machinery/meter,
+/turf/open/floor/plating,
+/area/engineering/main)
+"QD" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Rh" = (
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"SR" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"SX" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Tk" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset/anchored,
+/turf/open/floor/plating,
+/area/engineering/main)
+"TB" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Starboard";
+ dir = 8;
+ network = list("ss13","engine")
+ },
+/obj/effect/turf_decal/box/corners{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"TC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Ub" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"Uq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"Ur" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Uu" = (
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"UM" = (
+/obj/structure/fluff/railing{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"UN" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"Vn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"WB" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space/basic,
+/area/space/nearstation)
+"WI" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"XA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
+"XK" = (
+/obj/machinery/power/rad_collector,
+/obj/effect/turf_decal/box/corners,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"YB" = (
+/obj/structure/cable{
+ icon_state = "0-5"
+ },
+/obj/machinery/power/floodlight,
+/turf/open/floor/plating,
+/area/engineering/main)
+"YX" = (
+/obj/item/stack/rods/fifty,
+/turf/open/floor/plating,
+/area/engineering/main)
+"YZ" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/open/space,
+/area/space/nearstation)
+"Zn" = (
+/obj/structure/sign/warning/vacuum/external{
+ pixel_x = 32
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ZH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
+"ZT" = (
+/turf/template_noop,
+/area/template_noop)
+
+(1,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+yf
+Rh
+yf
+yf
+Rh
+yf
+yf
+Rh
+yf
+yf
+yf
+YZ
+YZ
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(2,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Rh
+Rh
+Rh
+Rh
+Rh
+Rh
+Rh
+Rh
+Rh
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(3,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(4,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(5,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+Rh
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(6,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+ZT
+wS
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+yf
+yf
+YZ
+Oj
+YZ
+ZT
+ZT
+ZT
+ZT
+ZT
+"}
+(7,1,1) = {"
+ZT
+ZT
+ZT
+ZT
+EL
+EL
+MP
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+Rh
+YZ
+Oj
+YZ
+yf
+yf
+yf
+yf
+zS
+"}
+(8,1,1) = {"
+ZT
+ZT
+cP
+Ke
+EL
+Tk
+MP
+wS
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+yf
+yf
+YZ
+Oj
+YZ
+yf
+yf
+Rh
+yf
+yf
+"}
+(9,1,1) = {"
+ZT
+ZT
+dl
+Ok
+ND
+Zn
+Ei
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+dw
+Rh
+Rh
+Rh
+YZ
+YZ
+YZ
+tw
+Rh
+Rh
+Rh
+yf
+"}
+(10,1,1) = {"
+ZT
+nR
+AH
+iD
+MP
+MP
+MP
+MP
+aA
+rJ
+gf
+rJ
+rJ
+td
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+"}
+(11,1,1) = {"
+oC
+GB
+UN
+sn
+sn
+ad
+sn
+GK
+wG
+TC
+mj
+fW
+at
+XA
+td
+MP
+MP
+MP
+MP
+MP
+MP
+yf
+WB
+YZ
+WB
+yf
+"}
+(12,1,1) = {"
+cS
+hJ
+qe
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+yD
+Ex
+ck
+iC
+ez
+kW
+ez
+EM
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(13,1,1) = {"
+ME
+qr
+Hz
+GX
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+QD
+SR
+SX
+Vn
+Vn
+cp
+Uu
+Uu
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(14,1,1) = {"
+Ne
+yd
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+YX
+MJ
+MJ
+MJ
+WI
+IE
+JV
+Bc
+MJ
+MJ
+MJ
+LJ
+MP
+Rh
+YZ
+Oj
+YZ
+Rh
+"}
+(15,1,1) = {"
+MP
+zh
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Ef
+iD
+MJ
+MJ
+MJ
+MJ
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(16,1,1) = {"
+MP
+Bl
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+ej
+MP
+Lw
+MJ
+MJ
+MJ
+MJ
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(17,1,1) = {"
+oS
+Bl
+QD
+MJ
+MJ
+MJ
+iJ
+so
+aV
+MJ
+MJ
+MJ
+MJ
+Py
+iD
+MJ
+MJ
+MJ
+MJ
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(18,1,1) = {"
+iD
+aa
+QD
+YX
+MJ
+MJ
+jp
+tn
+uR
+MJ
+MJ
+MJ
+ac
+ey
+iD
+MJ
+MJ
+xo
+MJ
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(19,1,1) = {"
+oS
+Bl
+QD
+MJ
+MJ
+MJ
+CT
+UM
+aX
+MJ
+MJ
+MJ
+MJ
+Py
+iD
+MJ
+MJ
+MJ
+MJ
+MJ
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(20,1,1) = {"
+MP
+Bl
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+ej
+MP
+Lw
+MJ
+MJ
+MJ
+MJ
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(21,1,1) = {"
+MP
+Bl
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+Np
+Ef
+iD
+MJ
+MJ
+MJ
+MJ
+MJ
+MP
+yf
+YZ
+Oj
+YZ
+yf
+"}
+(22,1,1) = {"
+iD
+Bl
+QD
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+MJ
+YX
+MJ
+lw
+bH
+JV
+Bc
+MJ
+MJ
+MJ
+LJ
+MP
+Rh
+YZ
+Oj
+YZ
+Rh
+"}
+(23,1,1) = {"
+iD
+vX
+Hz
+GX
+MJ
+MJ
+MJ
+YB
+MJ
+MJ
+MJ
+MJ
+rY
+Qn
+ab
+ZH
+ZH
+MI
+Uu
+Uu
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(24,1,1) = {"
+mH
+bT
+Lg
+OK
+OK
+OK
+af
+OK
+OK
+OK
+OK
+OK
+mX
+BD
+Uq
+zF
+fj
+fK
+fj
+Ab
+MP
+Rh
+YZ
+Oj
+YZ
+yf
+"}
+(25,1,1) = {"
+iD
+mU
+in
+Ur
+Es
+Kv
+Ur
+Ur
+Ur
+Ur
+Ur
+vN
+nz
+In
+Ub
+MP
+MP
+MP
+MP
+MP
+MP
+yf
+YZ
+YZ
+YZ
+yf
+"}
+(26,1,1) = {"
+wt
+av
+kA
+iD
+MP
+MP
+ag
+Uu
+kg
+bI
+Uu
+jg
+qc
+fq
+LS
+Hn
+dw
+yf
+Rh
+yf
+yf
+yf
+yf
+Rh
+yf
+yf
+"}
+(27,1,1) = {"
+ZT
+ZT
+ZT
+ou
+DC
+iD
+ah
+Uu
+tJ
+NK
+Uu
+dD
+Jn
+MP
+dw
+dw
+dw
+Rh
+Rh
+Rh
+Rh
+tw
+Rh
+Rh
+Rh
+Rh
+"}
+(28,1,1) = {"
+ZT
+ZT
+ZT
+OU
+Ok
+CH
+GI
+Uu
+TB
+gQ
+Uu
+ln
+XK
+MP
+yf
+yf
+Rh
+yf
+Rh
+Oj
+YZ
+yf
+yf
+Rh
+yf
+yf
+"}
+(29,1,1) = {"
+ZT
+ZT
+ZT
+FG
+NZ
+MP
+MP
+MP
+MP
+MP
+iD
+iD
+iD
+MP
+Rh
+Rh
+Rh
+Rh
+Rh
+Oj
+YZ
+yf
+yf
+Rh
+yf
+zS
+"}
diff --git a/config/entries/general.txt b/config/entries/general.txt
index b86d56cc44..b0d80af990 100644
--- a/config/entries/general.txt
+++ b/config/entries/general.txt
@@ -485,15 +485,17 @@ DYNAMIC_CONFIG_ENABLED
## Choose which Engine to start the round with. Weight is after the comma. Setting the weight to 0 removes the engine from rotation.
BOX_RANDOM_ENGINE Box SM,3
BOX_RANDOM_ENGINE Box Tesla,3
-BOX_RANDOM_ENGINE Box Singulo,3
-BOX_RANDOM_ENGINE Box SM 1x3,1
-BOX_RANDOM_ENGINE Box SM 5x5,1
+BOX_RANDOM_ENGINE Box Singulo,2
+BOX_RANDOM_ENGINE Box SM 1x3,0
+BOX_RANDOM_ENGINE Box SM 5x5,0
BOX_RANDOM_ENGINE Box SM 3x,0
-BOX_RANDOM_ENGINE Box TEG,3
+BOX_RANDOM_ENGINE Box TEG,2
BOX_RANDOM_ENGINE Box Empty,0
-BOX_RANDOM_ENGINE Box Antimatter,1
-BOX_RANDOM_ENGINE Box P.A.C.M.A.N,1
+BOX_RANDOM_ENGINE Box Antimatter,0
+BOX_RANDOM_ENGINE Box P.A.C.M.A.N,0
BOX_RANDOM_ENGINE Box RBMK,0
+BOX_RANDOM_ENGINE Box DIY,2
+BOX_RANDOM_ENGINE Box DIY_SM,1
## Whether the suicide verb is allowed.
diff --git a/modular_splurt/code/datums/ruins/station.dm b/modular_splurt/code/datums/ruins/station.dm
new file mode 100644
index 0000000000..60ec0b0398
--- /dev/null
+++ b/modular_splurt/code/datums/ruins/station.dm
@@ -0,0 +1,12 @@
+// Boxstation
+ // Engine
+
+/datum/map_template/ruin/station/box/engine/diy
+ id = "engine_diy"
+ suffix = "Box/Engine/splurt/diy.dmm"
+ name = "Box DIY"
+
+/datum/map_template/ruin/station/box/engine/diy_sm
+ id = "engine_diysm"
+ suffix = "Box/Engine/splurt/diy_sm.dmm"
+ name = "Box DIY_SM"
From 35a2cfd959f6b47c559977dd4ed099ac223e7a0b Mon Sep 17 00:00:00 2001
From: KathrinBailey
Date: Sun, 16 Oct 2022 23:31:02 +0100
Subject: [PATCH 11/64] Additional wallmounts and piping
Moves some piping out of the DIY zone on the SM map because piping space is valuable.
---
.../StationRuins/Box/Engine/splurt/diy.dmm | 42 ++++-
.../StationRuins/Box/Engine/splurt/diy_sm.dmm | 164 +++++++++++++-----
2 files changed, 162 insertions(+), 44 deletions(-)
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
index 6fabaa6b62..37c9005360 100644
--- a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy.dmm
@@ -417,6 +417,13 @@
/obj/machinery/meter,
/turf/open/floor/plasteel,
/area/engineering/main)
+"su" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/radio/intercom{
+ pixel_x = -25
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"sA" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -484,6 +491,12 @@
},
/turf/open/floor/plating,
/area/engineering/main)
+"we" = (
+/obj/item/radio/intercom{
+ pixel_x = 25
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"wC" = (
/obj/structure/cable/yellow,
/obj/machinery/power/port_gen/pacman/super,
@@ -602,6 +615,13 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/open/floor/plasteel,
/area/engineering/main)
+"Dt" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 22
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"Dy" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -652,6 +672,9 @@
/obj/machinery/atmospherics/pipe/simple/orange/visible{
dir = 5
},
+/obj/item/radio/intercom{
+ pixel_y = -25
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"Ie" = (
@@ -771,6 +794,14 @@
},
/turf/closed/wall/r_wall,
/area/engineering/main)
+"Qq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"Qr" = (
/obj/structure/table,
/obj/item/storage/toolbox/mechanical{
@@ -784,6 +815,9 @@
pixel_x = 1;
pixel_y = 5
},
+/obj/item/radio/intercom{
+ pixel_y = -25
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"QX" = (
@@ -1210,7 +1244,7 @@ kh
kn
cx
uE
-qc
+su
UY
bu
bu
@@ -1319,7 +1353,7 @@ dO
Sn
gC
dx
-Yg
+Qq
Yg
Yg
Yg
@@ -1605,12 +1639,12 @@ TR
ji
bu
bu
-bu
+Dt
lG
bu
bu
bu
-bu
+we
qV
Ng
zS
diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
index c9c668a19e..55cfc9a704 100644
--- a/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
+++ b/_maps/RandomRuins/StationRuins/Box/Engine/splurt/diy_sm.dmm
@@ -72,6 +72,7 @@
pixel_y = 5
},
/obj/item/flashlight,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"at" = (
@@ -83,11 +84,10 @@
/turf/open/floor/plating,
/area/engineering/main)
"av" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
/turf/open/floor/plating,
/area/engineering/main)
"aA" = (
@@ -186,6 +186,7 @@
/area/space/nearstation)
"dD" = (
/obj/machinery/power/rad_collector,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"ej" = (
@@ -275,13 +276,12 @@
/turf/open/floor/plating,
/area/engineering/main)
"in" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
/turf/open/floor/plating,
/area/engineering/main)
"iC" = (
@@ -298,6 +298,9 @@
name = "Cable Toolbox";
pixel_y = -4
},
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"iD" = (
@@ -309,9 +312,6 @@
/turf/open/floor/plating,
/area/engineering/main)
"jg" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
/obj/machinery/power/rad_collector,
/obj/effect/turf_decal/box/corners{
dir = 4
@@ -331,12 +331,12 @@
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"kA" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/engineering/glass{
name = "Supermatter Engine Room";
req_access_txt = "10"
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/engine,
/area/engineering/main)
"kW" = (
@@ -383,10 +383,11 @@
/turf/closed/wall/r_wall,
/area/engineering/main)
"mU" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
/turf/open/floor/plating,
/area/engineering/main)
"mX" = (
@@ -400,7 +401,9 @@
/obj/effect/turf_decal/stripes/line{
dir = 6
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
/turf/open/floor/plating,
/area/engineering/main)
"nR" = (
@@ -439,6 +442,9 @@
/obj/effect/turf_decal/box/corners{
dir = 1
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"qe" = (
@@ -514,6 +520,7 @@
/area/space/nearstation)
"tJ" = (
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"uR" = (
@@ -522,15 +529,6 @@
},
/turf/open/floor/plating,
/area/engineering/main)
-"vN" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/engineering/main)
"vX" = (
/obj/structure/cable/yellow{
icon_state = "2-8"
@@ -544,12 +542,14 @@
/turf/open/floor/plating,
/area/engineering/main)
"wt" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/closet/radiation,
/obj/item/clothing/suit/radiation,
/obj/item/clothing/head/radiation,
/obj/item/geiger_counter,
/obj/item/clothing/glasses/meson,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"wG" = (
@@ -568,6 +568,12 @@
"wS" = (
/turf/open/space,
/area/space/nearstation)
+"xe" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/main)
"xo" = (
/obj/item/construction/rcd/loaded/upgraded{
custom_range = 2;
@@ -662,6 +668,9 @@
dir = 4;
name = "Output Release"
},
+/obj/item/radio/intercom{
+ pixel_y = -25
+ },
/turf/open/floor/plating,
/area/engineering/main)
"CH" = (
@@ -689,6 +698,9 @@
pixel_x = -3;
pixel_y = -3
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"Ef" = (
@@ -709,7 +721,6 @@
/turf/open/floor/plating,
/area/engineering/main)
"Es" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -723,6 +734,25 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
+"ED" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/radio/intercom{
+ pixel_y = 25
+ },
/turf/open/floor/plating,
/area/engineering/main)
"EL" = (
@@ -750,6 +780,7 @@
/obj/machinery/atmospherics/pipe/simple/orange/visible{
dir = 10
},
+/obj/machinery/meter,
/turf/open/floor/plasteel,
/area/engineering/main)
"GB" = (
@@ -780,6 +811,9 @@
dir = 4;
network = list("ss13","engine")
},
+/obj/item/radio/intercom{
+ pixel_x = -25
+ },
/turf/open/floor/plating,
/area/engineering/main)
"GX" = (
@@ -821,6 +855,9 @@
"Jn" = (
/obj/machinery/light,
/obj/machinery/power/rad_collector,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"JV" = (
@@ -843,10 +880,12 @@
pixel_y = 5
},
/obj/item/stack/cable_coil/yellow,
+/obj/item/radio/intercom{
+ pixel_y = -25
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"Kv" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -881,6 +920,13 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/turf/open/floor/plating/airless,
/area/engineering/main)
+"My" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"ME" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
@@ -928,12 +974,16 @@
/obj/item/stack/rods/fifty,
/obj/item/stack/rods/fifty,
/obj/item/stack/rods/fifty,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"NZ" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible{
dir = 5
},
+/obj/item/radio/intercom{
+ pixel_y = -25
+ },
/turf/open/floor/plasteel,
/area/engineering/main)
"Oj" = (
@@ -942,6 +992,11 @@
"Ok" = (
/turf/open/floor/plasteel,
/area/engineering/main)
+"OB" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/engineering/main)
"OK" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -955,6 +1010,12 @@
/obj/machinery/meter,
/turf/open/floor/plasteel,
/area/engineering/main)
+"Pp" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
"Py" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 4
@@ -1029,6 +1090,13 @@
},
/turf/closed/wall/r_wall,
/area/engineering/main)
+"Uo" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 22
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
"Uq" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -1036,7 +1104,6 @@
/turf/closed/wall/r_wall,
/area/engineering/main)
"Ur" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -1065,6 +1132,17 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/engineering/main)
+"VG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plating,
+/area/engineering/main)
"WB" = (
/obj/structure/lattice,
/obj/structure/grille,
@@ -1076,6 +1154,12 @@
},
/turf/open/floor/plating,
/area/engineering/main)
+"WP" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/engineering/main)
"XA" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
@@ -1402,7 +1486,7 @@ oC
GB
UN
sn
-sn
+VG
ad
sn
GK
@@ -1679,7 +1763,7 @@ yf
"}
(21,1,1) = {"
MP
-Bl
+ED
QD
MJ
MJ
@@ -1790,7 +1874,7 @@ YZ
yf
"}
(25,1,1) = {"
-iD
+My
mU
in
Ur
@@ -1801,7 +1885,7 @@ Ur
Ur
Ur
Ur
-vN
+Ur
nz
In
Ub
@@ -1821,11 +1905,11 @@ yf
wt
av
kA
-iD
-MP
+OB
+xe
MP
ag
-Uu
+WP
kg
bI
Uu
@@ -1851,12 +1935,12 @@ ZT
ZT
ou
DC
-iD
+OB
ah
-Uu
+Pp
tJ
NK
-Uu
+ZH
dD
Jn
MP
@@ -1881,7 +1965,7 @@ OU
Ok
CH
GI
-Uu
+Uo
TB
gQ
Uu
From 99f19b730870b8879d22430f00016686d6f17048 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Mon, 17 Oct 2022 03:58:31 -0600
Subject: [PATCH 12/64] Use returns
---
modular_splurt/code/datums/traits/good.dm | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 14b2ec8385..3a0b222f8b 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -122,20 +122,21 @@
var/mob/living/carbon/human/H = quirk_holder
if(is_species(H,/datum/species/arachnid))
to_chat(H, "As an arachnid, this quirk does nothing for you, as these abilities are innate to your species.")
- else
- var/datum/action/innate/spin_web_quirk/SW = new
- var/datum/action/innate/spin_cocoon_quirk/SC = new
- SC.Grant(H)
- SW.Grant(H)
+ return
+ var/datum/action/innate/spin_web_quirk/SW = new
+ var/datum/action/innate/spin_cocoon_quirk/SC = new
+ SC.Grant(H)
+ SW.Grant(H)
/datum/quirk/arachnid/remove()
. = ..()
var/mob/living/carbon/human/H = quirk_holder
- if(!is_species(H,/datum/species/arachnid))
- var/datum/action/innate/spin_web_quirk/SW = locate(/datum/action/innate/spin_web_quirk) in H.actions
- var/datum/action/innate/spin_cocoon_quirk/SC = locate(/datum/action/innate/spin_cocoon_quirk) in H.actions
- SC?.Remove(H)
- SW?.Remove(H)
+ if(is_species(H,/datum/species/arachnid))
+ return
+ var/datum/action/innate/spin_web_quirk/SW = locate(/datum/action/innate/spin_web_quirk) in H.actions
+ var/datum/action/innate/spin_cocoon_quirk/SC = locate(/datum/action/innate/spin_cocoon_quirk) in H.actions
+ SC?.Remove(H)
+ SW?.Remove(H)
// Unfortunately, some copy-paste work needed doing. Web spinning and cocoon spinning relied on variables innate to the arachnid species. Also unsure of how to make the cooldown work between both actions ¯\_(ツ)_/¯
/datum/action/innate/spin_web_quirk
From d009af107f98756ee8d580f1919e66cc222469d9 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Tue, 18 Oct 2022 10:17:25 -0600
Subject: [PATCH 13/64] prefbreak alert
---
modular_splurt/code/datums/traits/good.dm | 42 +++++++++++++++--------
1 file changed, 27 insertions(+), 15 deletions(-)
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 3a0b222f8b..3f1d9f77ce 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -209,13 +209,13 @@
(Press ALT+CLICK on the target to start wrapping.)")
H.adjust_nutrition(spinner_rate * -0.5)
addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
- RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom)
+ RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonCheck)
return
else
to_chat(H, "You're too hungry to spin web right now, eat something first!")
return
-/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
+/datum/action/innate/spin_cocoon_quirk/proc/cocoonCheck(mob/living/carbon/human/H, atom/movable/A)
UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
if (!H || !isarachnid(H))
return COMSIG_MOB_CANCEL_CLICKON
@@ -234,18 +234,30 @@
if(istype(A, /obj/effect))
to_chat(H, "You cannot wrap this.")
return
- H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
- if(!do_after(H, 10 SECONDS, 1, A))
- to_chat(H, "Your web spinning was interrupted!")
- return
- H.adjust_nutrition(spinner_rate * -3)
- var/obj/structure/arachnid/cocoon/C = new(A.loc)
if(isliving(A))
- C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a large cocoon!")
- return
+ to_chat(H, "You prepare to wrap [A] in a cocoon...")
+ var/response = alert(A, "Do you wish to be wrapped in a cocoon?", "Cocooning", "No", "Yes")
+ if(response == "No")
+ to_chat(H, "[A] resists your attempts to wrap [A.p_them()]!")
+ return
+ else
+ cocoonAtom(H,A)
else
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a cocoon!")
- return
+ cocoonAtom(H,A)
+
+/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
+ H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
+ if(!do_after(H, 10 SECONDS, 1, A))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(spinner_rate * -3)
+ var/obj/structure/arachnid/cocoon/C = new(A.loc)
+ if(isliving(A))
+ C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a large cocoon!")
+ return
+ else
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a cocoon!")
+ return
From 5ea1bd92c3e9c95acadbde531306940e336a74d6 Mon Sep 17 00:00:00 2001
From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com>
Date: Tue, 18 Oct 2022 22:08:11 -0400
Subject: [PATCH 14/64] Update leash.dm
---
modular_splurt/code/game/objects/items/lewd_items/leash.dm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
index 0e0fc5531c..2809f27731 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
@@ -92,7 +92,7 @@ Icons, maybe?
if(C.has_status_effect(/datum/status_effect/leash_pet)) //If the pet is already leashed, do not leash them. For the love of god.
to_chat(user, "[C] has already been leashed.")
return
- if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar))
+ if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar, /obj/item/clothing/neck/necklace/cowbell, /obj/item/clothing/neck/maid))
var/leashtime = 50
if(C.handcuffed)
leashtime = 5
@@ -124,7 +124,8 @@ Icons, maybe?
sleep(2) //Check every other tick
if(leash_pet == "null") //No pet, break loop
return
- if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their collar and is not the pet anymore.
+ if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their
+ and is not the pet anymore.
for(var/mob/viewing in viewers(user, null))
viewing.show_message("[leash_pet] has slipped out of their collar!!", 1)
to_chat(leash_pet, "You have slipped out of your collar!")
From 1618b0c7b222324d30cce2a8337f6ab22974b1b1 Mon Sep 17 00:00:00 2001
From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com>
Date: Tue, 18 Oct 2022 22:10:04 -0400
Subject: [PATCH 15/64] Update leash.dm
---
modular_splurt/code/game/objects/items/lewd_items/leash.dm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
index 2809f27731..7b35cf3b32 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
@@ -124,8 +124,7 @@ Icons, maybe?
sleep(2) //Check every other tick
if(leash_pet == "null") //No pet, break loop
return
- if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their
- and is not the pet anymore.
+ if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their and is not the pet anymore.
for(var/mob/viewing in viewers(user, null))
viewing.show_message("[leash_pet] has slipped out of their collar!!", 1)
to_chat(leash_pet, "You have slipped out of your collar!")
From a8a7ff832e539d96fb3e7f82721c10671b881efd Mon Sep 17 00:00:00 2001
From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com>
Date: Tue, 18 Oct 2022 22:10:18 -0400
Subject: [PATCH 16/64] Update leash.dm
---
modular_splurt/code/game/objects/items/lewd_items/leash.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
index 7b35cf3b32..62db3e7245 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
@@ -124,7 +124,7 @@ Icons, maybe?
sleep(2) //Check every other tick
if(leash_pet == "null") //No pet, break loop
return
- if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their and is not the pet anymore.
+ if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their collar and is not the pet anymore.
for(var/mob/viewing in viewers(user, null))
viewing.show_message("[leash_pet] has slipped out of their collar!!", 1)
to_chat(leash_pet, "You have slipped out of your collar!")
From 30bf2312f31bd4a37734801f9ba6d2c5a59dcaac Mon Sep 17 00:00:00 2001
From: zerothebigboy
Date: Tue, 18 Oct 2022 23:37:40 -0400
Subject: [PATCH 17/64] seizure
---
.../new_player/sprite_accessories/ears.dm | 76 ++++++++++++++++++
.../new_player/sprite_accessories/horns.dm | 14 ++++
icons/mob/32x64_mutant_bodyparts.dmi | Bin 0 -> 707 bytes
modular_citadel/icons/mob/32x64_mam_ears.dmi | Bin 0 -> 4347 bytes
4 files changed, 90 insertions(+)
create mode 100644 icons/mob/32x64_mutant_bodyparts.dmi
create mode 100644 modular_citadel/icons/mob/32x64_mam_ears.dmi
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
index 628a5e53ac..fd32ceefd6 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
@@ -411,3 +411,79 @@
name = "Wolf"
icon_state = "wolf"
matrixed_sections = MATRIX_RED_BLUE
+
+/******************************************
+*************** Tall Ears *****************
+*******************************************/
+
+/datum/sprite_accessory/ears/human/bnnuy
+ name = "Bnnuy (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bnnuy"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/mam_ears/bnnuy
+ name = "Bnnuy (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bnnuy"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/human/bnnuy2
+ name = "Bnnuy (Alt) (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bnnuy2"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/mam_ears/bnnuy2
+ name = "Bnnuy (Alt) (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bnnuy2"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/human/bunnytall
+ name = "Bunny (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bunnytall"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/mam_ears/bunnytall
+ name = "Bunny (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "bunnytall"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/human/sandfox
+ name = "Sandfox (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "sandfox"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/mam_ears/sandfox
+ name = "Sandfox (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "sandfox"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/human/shadekinround
+ name = "Shadekin (Round) (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "shadekinround"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/mam_ears/shadekinround
+ name = "Shadekin (Round) (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "shadekinround"
+ matrixed_sections = MATRIX_RED_GREEN
+
+/datum/sprite_accessory/ears/human/jackalope
+ name = "jackalope (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "jackalope"
+ matrixed_sections = MATRIX_RED
+
+/datum/sprite_accessory/ears/mam_ears/jackalope
+ name = "jackalope (Tall)"
+ icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
+ icon_state = "jackalope"
+ matrixed_sections = MATRIX_RED
\ No newline at end of file
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
index 0d097b24f0..545e44b48d 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
@@ -40,3 +40,17 @@
/datum/sprite_accessory/horns/short
name = "Short"
icon_state = "short"
+
+/datum/sprite_accessory/horns/tepper
+ name = "Tepper"
+ icon = 'icons/mob/32x64_mutant_bodyparts.dmi'
+ icon_state = "tepper"
+ color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
+
+/datum/sprite_accessory/horns/stag
+ name = "Stag"
+ icon = 'icons/mob/32x64_mutant_bodyparts.dmi'
+ icon_state = "stag"
+ color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
diff --git a/icons/mob/32x64_mutant_bodyparts.dmi b/icons/mob/32x64_mutant_bodyparts.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..2304646739af6d21be0bd6307f68e272fd9e59b5
GIT binary patch
literal 707
zcmV;!0zCbRP)C9|j)
zWCj;!T2W$dDu``}sR<~Mj$ezif~%hk*kJ&FkuPsgMRC*s00F;AL_t(&f$f*SPU|of
z#y>|iO4B91d4Zs`QpJ`!FThQPJ606~V+Isf1|(Li0*Nszo5cuAXLz~m^p6ue35XFm
zzr>Zl<8wYAM_mjM1VIqQPbApAgZfWj&1q}SB1^04skz+6X>Bn*6bBluesg^W#`}-Jbz^ZjPqD0;OaKTNqSox^+lHBB+K;%vn+qG
zJGji#zgoE0H^5z~^=Kx5`+1}De=Asw?(gN++PIJcx0x1~wZ9ky)<-
zi-lG~G`~GsZp4|YFo^K%E&OAG5I%fWAP2Nx7Sc5h3g0cIHc%5ORf+7^{woSum-s)w`|lF4{YbN}
pf%!jVV4vs?Uo#*Gf*^?R!hh}#SD31|xtx{z+%LII$x-c$j-`pTiWSXh
z?rcm-`ns$VMvPdAMeNK@%}tspZDYSete#n_w#+*
z`P|tpN?;`b0Jgw?w!HuVpi|$6;zrq?4bM@c?B?#z>v>aidtXTwBkn?kb6raF=)RZlT+eJMJ^b#B
zWjO_;G!WqMl&pCglpbimXaDl~4Udm@+)}gp`LVj7`YV%_=>J<{<51WOFNZx(3N|Te
z-3GTMPF-*Ls{Ekxm{JjDpFxn;@AaF8W8QshRVPf^nXden|45O45b`S-SDCi;-CWup
zrUtBvUU~KQ+VE^!&M9wWAJl1Gt+1Ye9HN>f0H`g)ZBJi}e>gXE8a-$Se#^@^lWJBh
z7oT{S(;*juHt_Mm0;iL~kCCTXNiAFobY+{*If&;EUXL?|#^mNs2kU_4&yRBV56K_j
zb_Tyq>lbkL{Q9Py6>q3wX28U#b7Xe>{02ZXc^eG?ZlwbXKAIrK=EHL8sqPB9fl9?w
zz?H43K<6F+lzRq{JBs~F1-%vkn}VQ)n48*6v+f3kwu{8r&{EFGL4Z9(vP8y}4gCYx
z_MX48my?w=HUXh%r{&%`R$q^h{Nd!s>e)Ym^c?4vhnhF@oah1^xS<}gOetbz!|EB$
zu{wHb3vx3i%5VCYe^{=sfs{_TI2ClzC+5Snq|J^BujbZ(*GbJ3Gtur@>TdMiDP#_m1+4K@!(UigjO!r?L;8ykDk_
z|I*hw5_l7=`Kh$#Nx}7eC4P`GA|nAWlw8zAfMJTPoYc!bD<6d{8@i}UnguCN=v
zdQJIo4frQzN?D!gi>JGz2I^R5mlY8cL(B3p?t1G7m9^QC%ffJUzC=HX>14T2%-Ky-
z`)ocuPxh%RJ0kL>rHy5`r*Y$TQ-D4
zoNIaDPDpSB4|yEL4H*ow?Uz3pT0uWrwC!&Aqio#{6#qPClFWQLs-m;ew^U={&DvM{
z?pE_|zx(6oI-7YQ5iK8!vXFU1y6Q=I#Mtgvn&3VIg>PKox+N+>fFh~
zkO75M<59+IxxW+4f1M8h)e5C&smiB*;`WiG?+$oX+e9HP2@w7~I!V&6dxBu!ZQDI~
zWbW-gJ7Rv5u4C0_kc=Gc(7sV@noK;P5>lo
z-XOQauITq0zD+4y-)jY0YSlnt%i8zB!r=d^3fhqxH-k31q9*Rr`CL3+Rx|MO*c{7k
zO>f{MkzHd0t7=kcdSs6cj1{b0AAAq_7eA=nRERgK7CR-uzi$nZnrf0j;tR4@RCd>LD94qfo~j@AX=k$uJZ}u_6ZCn+`mq
z3OU%YLEJyqK_^T9*U6ZeaNf}Ii8D8j{z;L?PVH#A$J&zXv@22X0)h-!@u2nD
z(L7vLE~;K5ipu_XdV~_Ke>3aHC&d1u%Rx=mZAi|$s#Zc;CcdKMqwixdHI&ioKLjW2
zsJwepN%C1Uyw%@dCnISn{Ak_S#oUk>28GzupR`_xu8ZZ8xr{@B%E0?i9AjaRtv?ys5c29hbmQnY*L9
z{|b?|%DydVN_+lFpB@2WYlhJ>Iir~c2(nZX$maO>Wk6w78^0TZIL_^V=c_r%p8EGY3JdafOvdRAUo=qqZm4X%wv=8+vtVValVt9fBWr!jV(p8-o-&Wg
zZhoHsWJR@lMEqJVCQZ5dKm$fAY1Xryi)Pd~HZ|KTnrUHeDvom3@-S(en*}PfT)Eq<2S}Q?Ndldw}>Y)A=r^~AvxnW)WGni`yY>cO+E|=(iRXGCMo$jW>
z7(i3W?)efku6jr%C+x(=G{xqM#ZCH2A{vt1oZmCQcwflFt?cE;@m8V&Yi?;<)G|qx
zXIwh$Lif6IIW{7zcfesIYh{ABF&mx-sRDm%K=>S~j2-9r^W8_+1{j4oR2~gRMw@{#
z47u)9jv8}VA}F26%yN(L>Ih!-kQ}_K
zXFURak7gXyS$`T$@5&563OYFFjojFWG-dsQs+_U6JXG*&CfzAIM~Csq&R~A`qie(@
zqbbroT&o}(1D?M*LloJLT&<>ewtxJz6%AN76V`TeF`b)t^M+wBOJ7^YLMS3Zb4*sD
z_Mc{wGGg*}JsQ%O9c{A68r?D3U7pz22JP!1ty>aw5%x7p#xan_^E7<(7ddsH!K4`B
z1AN=|_Z@%!zd*0s3VECrR)D|?WD4MCb=F~AL>gW4eOHa>WZ2l#1=QegIp0y*?N10Y
zzupj^nfqdzPyzi}GI!Q(DW+Ob&D}FG;v2EqlT)!Eseci-{Zc!AzM=*N>rE%#!`b9h
zEsC54HJ{hq;xyDAVEQwG(r|;oSTid*k=WZc{{X2q)-fd;Y1*k4g=mZi!
zDGzcB+!GjaXlg*B9^$t><$cBEgJ|#36p9?jt=loyL-keD?6X5oReuVAB%{d8wj7RmMG;0BjDsdqXX2}cpHg_LAWuGo4?xz>P7
zzh*#;M$n+Gw*9HF*^~|?0=`ibl5D6Fc_6cK4`BH4>*<%dK^#;1#pQ9^x{v|ISMU`+
zVf$Q$kMWVA2LZt^m+Td%TV`rL5G2IhE1L_R4lI2IWg4SH+@G(j(4L>vX%1oYFPA@m&EC-X$?{E0C|+o8
zAQ_^aWF3!I@WF*^C6$E;!mA6D!*gn3tZ*X?sY_=r>(eq9U2?c5KeJ8W(|{Zpvnc$L
ze0-PoSnvWpd|MFT*N!T=B(+*A3E!pI43>#aTzktbsi>p~8JjdF#70e-qSr4EJe_?#
z(wZ
z6r?}h)Oi?%pDz+b!I9=}4h##zqkuZ)@(`}4=z>J0=@38ZRYu;LH(CSz5V8K`O7epf
zgeHv>jAx3cW=-QDI+yRNP_OLL{m%Je`Tu$Lkr59#WyP%T-*4Nh`nM#i|0pS!H+(t3
zB&i)&wNl`#c?CDhm*)TK0No`gn*?o7)uTHVt>KRhskLRiC_~zqJ%i$srK1br4L-R(
zL<>SwaUlO`4|kNLGrVaY@AMFnae3YB3DQPovmswCgLM$FIojjcwA-OYA5!tSu488;
z?8d_9^m%_4-}rDBY?sT70KkL^SDn*aO~0~ji!rX@Dz|fl8LtCkHj67Oe2N#XXW$lJ
zKisX*Ir}a6xZ>JStshQ*wPnWStJfdZvbuzxDqp;pZNN`oDs&lC^UDdx%
zrN(4E+zlrmJ~&W26!z{8=)ANiqPqE-=8uBu4m4S0a?xc%Pn9goU~2WSXxTPfP!SRO
zE52uCzUYiBHoxNKb!de&9SNnIU7EWd3dSgI`*FbO7=Grtcs2I`l8QF!$!bbjfF_)8
z(4*v@6utCMnX^>A2>&jSfcotyNbKhGJfc4E7enxW{AK^1vuD<^i)uy|6+N1=+YA7H
M=A3Prwa<-z0xjjeR{#J2
literal 0
HcmV?d00001
From 2fd981a05a4e1551c412369c118572c0897d1d39 Mon Sep 17 00:00:00 2001
From: zerothebigboy
Date: Tue, 18 Oct 2022 23:57:02 -0400
Subject: [PATCH 18/64] penis
---
code/modules/mob/dead/new_player/sprite_accessories/ears.dm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
index fd32ceefd6..e177fc6069 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
@@ -420,6 +420,7 @@
name = "Bnnuy (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "bnnuy"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/bnnuy
@@ -432,6 +433,7 @@
name = "Bnnuy (Alt) (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "bnnuy2"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/bnnuy2
@@ -444,6 +446,7 @@
name = "Bunny (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "bunnytall"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/bunnytall
@@ -456,6 +459,7 @@
name = "Sandfox (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "sandfox"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/sandfox
@@ -468,6 +472,7 @@
name = "Shadekin (Round) (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "shadekinround"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/mam_ears/shadekinround
@@ -480,6 +485,7 @@
name = "jackalope (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "jackalope"
+ color_src = MATRIXED
matrixed_sections = MATRIX_RED
/datum/sprite_accessory/ears/mam_ears/jackalope
From 274269c2b86f29f9b3dce2d72f6aeac4f7e643a3 Mon Sep 17 00:00:00 2001
From: Dan-Neposh
Date: Wed, 19 Oct 2022 01:32:34 -0400
Subject: [PATCH 19/64] surely my code works every time
---
.../antagonists/clockcult/clock_scriptures/scripture_cyborg.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_cyborg.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_cyborg.dm
index 43d029b043..943b61b9be 100644
--- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_cyborg.dm
+++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_cyborg.dm
@@ -48,9 +48,11 @@
//These are exactly the same as the default scriptures, but cyborgs don't need a second person to create them
/datum/clockwork_scripture/create_object/mania_motor/cyborg
invokers_required = 1
+ tier = SCRIPTURE_PERIPHERAL
multiple_invokers_used = FALSE
/datum/clockwork_scripture/create_object/clockwork_obelisk/cyborg
invokers_required = 1
+ tier = SCRIPTURE_PERIPHERAL
multiple_invokers_used = FALSE
From 1f8f5dc071856098f67aea5a741827835a3fa9e3 Mon Sep 17 00:00:00 2001
From: zerothebigboy
Date: Wed, 19 Oct 2022 03:49:33 -0400
Subject: [PATCH 20/64] cocka
---
.../dead/new_player/sprite_accessories/ears.dm | 6 +++---
.../dead/new_player/sprite_accessories/horns.dm | 12 ++++--------
icons/mob/32x64_mutant_bodyparts.dmi | Bin 707 -> 708 bytes
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
index e177fc6069..928c4351c3 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm
@@ -482,14 +482,14 @@
matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/ears/human/jackalope
- name = "jackalope (Tall)"
+ name = "Jackalope (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "jackalope"
color_src = MATRIXED
matrixed_sections = MATRIX_RED
/datum/sprite_accessory/ears/mam_ears/jackalope
- name = "jackalope (Tall)"
+ name = "Jackalope (Tall)"
icon = 'modular_citadel/icons/mob/32x64_mam_ears.dmi'
icon_state = "jackalope"
- matrixed_sections = MATRIX_RED
\ No newline at end of file
+ matrixed_sections = MATRIX_RED
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
index 545e44b48d..33b513f947 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm
@@ -41,16 +41,12 @@
name = "Short"
icon_state = "short"
-/datum/sprite_accessory/horns/tepper
- name = "Tepper"
+/datum/sprite_accessory/horns/teppy
+ name = "Teppy (Tall)"
icon = 'icons/mob/32x64_mutant_bodyparts.dmi'
- icon_state = "tepper"
- color_src = MATRIXED
- matrixed_sections = MATRIX_RED
+ icon_state = "teppy"
/datum/sprite_accessory/horns/stag
- name = "Stag"
+ name = "Stag (Tall)"
icon = 'icons/mob/32x64_mutant_bodyparts.dmi'
icon_state = "stag"
- color_src = MATRIXED
- matrixed_sections = MATRIX_RED
diff --git a/icons/mob/32x64_mutant_bodyparts.dmi b/icons/mob/32x64_mutant_bodyparts.dmi
index 2304646739af6d21be0bd6307f68e272fd9e59b5..3d94f2353822288d9b8372d8f5ec9f0476eb7a74 100644
GIT binary patch
delta 591
zcmV-V0Cdt>gwL!-jV!a!AV3xRA_p
z=IRU%8$SY5jipKZ)3jk4wK`68rn|JNu}pft@uy67TtpMv%d>cJiZqLhof0b+#kuZa
z#iVAr>Y&&%X8lKpu~dI0;Qk@UEPtpveOHv26{Xr>Rg^#M4!)H6XC?fv-+=G6(%y;#
zk87>V+Z`;t$FdjmuS2a~N5^`N0sH+hMi2x+5ClOG1n~}$H(AHN_6+gsb2mVo3
z7$o=^Y{D*q^AMpd5K3PRIvv)P@J)j%^lPCE!xQt1Tu&(c(wcio=TRohiL1ZO3|Ih>e&wwBZ
df*@WCFBctC6!Z_Bv-AJ}002ovPDHLkV1h;pAe;aI
delta 590
zcmV-U0o63?KSwl5(Bn*6bBlu
zesg^W#`}-Jbz^ZjPrk3C*bNf#YuWw9Q8$(<0Q-V2D2=GusgWS)4y7{*Ehgjsr6_k
zfctr)^M5N?jPCPR%smXfdKgFMb97j*yD@?w2!bF8f*^=rh`Px#``XtH4f7bVr+}HU
zUFh+c06bw_!4tiD4BpKV)E^=nh{qAP9mW
ci0{IG?haR&!d(vL{Qv*}07*qoM6N<$g66mgm;e9(
From 66dec8b372fff27f08f587352a949214faca9569 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Wed, 19 Oct 2022 19:08:40 -0600
Subject: [PATCH 21/64] i don't have a clever message, can wrap humonkeys
---
modular_splurt/code/datums/traits/good.dm | 50 +++++++++++------------
1 file changed, 23 insertions(+), 27 deletions(-)
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 3f1d9f77ce..4637d7fbd3 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -209,13 +209,13 @@
(Press ALT+CLICK on the target to start wrapping.)")
H.adjust_nutrition(spinner_rate * -0.5)
addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
- RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonCheck)
+ RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom)
return
else
to_chat(H, "You're too hungry to spin web right now, eat something first!")
return
-/datum/action/innate/spin_cocoon_quirk/proc/cocoonCheck(mob/living/carbon/human/H, atom/movable/A)
+/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
if (!H || !isarachnid(H))
return COMSIG_MOB_CANCEL_CLICKON
@@ -235,29 +235,25 @@
to_chat(H, "You cannot wrap this.")
return
if(isliving(A))
- to_chat(H, "You prepare to wrap [A] in a cocoon...")
- var/response = alert(A, "Do you wish to be wrapped in a cocoon?", "Cocooning", "No", "Yes")
- if(response == "No")
- to_chat(H, "[A] resists your attempts to wrap [A.p_them()]!")
- return
- else
- cocoonAtom(H,A)
+ var/mob/living/L = A
+ if(L.key)
+ to_chat(H, "You prepare to wrap [L] in a cocoon...")
+ var/response = alert(L, "Do you wish to be wrapped in a cocoon?", "Cocooning", "No", "Yes")
+ if(response == "No")
+ to_chat(H, "[L] resists your attempts to wrap [L.p_them()]!")
+ return
+ H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
+ if(!do_after(H, 10 SECONDS, 1, A))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(spinner_rate * -3)
+ var/obj/structure/arachnid/cocoon/C = new(A.loc)
+ if(isliving(A))
+ C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a large cocoon!")
+ return
else
- cocoonAtom(H,A)
-
-/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
- H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
- if(!do_after(H, 10 SECONDS, 1, A))
- to_chat(H, "Your web spinning was interrupted!")
- return
- H.adjust_nutrition(spinner_rate * -3)
- var/obj/structure/arachnid/cocoon/C = new(A.loc)
- if(isliving(A))
- C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a large cocoon!")
- return
- else
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a cocoon!")
- return
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a cocoon!")
+ return
From 0e33e70c729ea833fb7d8d72fb31bc8ca99efa87 Mon Sep 17 00:00:00 2001
From: Jerry Wester
Date: Thu, 20 Oct 2022 11:24:40 -0600
Subject: [PATCH 22/64] the great equalizer
---
modular_splurt/code/datums/traits/good.dm | 128 +-----------------
.../carbon/human/species_types/arachnid.dm | 102 ++++++++++++++
tgstation.dme | 1 +
3 files changed, 107 insertions(+), 124 deletions(-)
create mode 100644 modular_splurt/code/modules/mob/living/carbon/human/species_types/arachnid.dm
diff --git a/modular_splurt/code/datums/traits/good.dm b/modular_splurt/code/datums/traits/good.dm
index 4637d7fbd3..6bf3f96dbd 100644
--- a/modular_splurt/code/datums/traits/good.dm
+++ b/modular_splurt/code/datums/traits/good.dm
@@ -123,8 +123,8 @@
if(is_species(H,/datum/species/arachnid))
to_chat(H, "As an arachnid, this quirk does nothing for you, as these abilities are innate to your species.")
return
- var/datum/action/innate/spin_web_quirk/SW = new
- var/datum/action/innate/spin_cocoon_quirk/SC = new
+ var/datum/action/innate/spin_web/SW = new
+ var/datum/action/innate/spin_cocoon/SC = new
SC.Grant(H)
SW.Grant(H)
@@ -133,127 +133,7 @@
var/mob/living/carbon/human/H = quirk_holder
if(is_species(H,/datum/species/arachnid))
return
- var/datum/action/innate/spin_web_quirk/SW = locate(/datum/action/innate/spin_web_quirk) in H.actions
- var/datum/action/innate/spin_cocoon_quirk/SC = locate(/datum/action/innate/spin_cocoon_quirk) in H.actions
+ var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
+ var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
SC?.Remove(H)
SW?.Remove(H)
-
-// Unfortunately, some copy-paste work needed doing. Web spinning and cocoon spinning relied on variables innate to the arachnid species. Also unsure of how to make the cooldown work between both actions ¯\_(ツ)_/¯
-/datum/action/innate/spin_web_quirk
- name = "Spin Web"
- check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
- icon_icon = 'icons/mob/actions/actions_animal.dmi'
- button_icon_state = "lay_web"
- var/web_cooldown = 200
- var/web_ready = TRUE
- var/spinner_rate = 25
-
-/datum/action/innate/spin_cocoon_quirk
- name = "Spin Cocoon"
- check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
- icon_icon = 'icons/mob/actions/actions_animal.dmi'
- button_icon_state = "wrap_0"
- var/web_cooldown = 200
- var/web_ready = TRUE
- var/spinner_rate = 25
-
-/datum/action/innate/spin_web_quirk/Activate()
- var/mob/living/carbon/human/H = owner
- if(H.stat == "DEAD")
- return
- if(web_ready == FALSE)
- to_chat(H, "You need to wait a while to regenerate web fluid.")
- return
- var/turf/T = get_turf(H)
- if(!T)
- to_chat(H, "There's no room to spin your web here!")
- return
- var/obj/structure/spider/stickyweb/W = locate() in T
- var/obj/structure/arachnid/W2 = locate() in T
- if(W || W2)
- to_chat(H, "There's already a web here!")
- return
- // Should have some minimum amount of food before trying to activate
- var/nutrition_threshold = NUTRITION_LEVEL_FED
- if (H.nutrition >= nutrition_threshold)
- to_chat(H, "You begin spinning some web...")
- if(!do_after(H, 10 SECONDS, 1, T))
- to_chat(H, "Your web spinning was interrupted!")
- return
- H.adjust_nutrition(-spinner_rate)
- addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
- to_chat(H, "You use up a fair amount of energy weaving a web on the ground with your spinneret!")
- new /obj/structure/arachnid(T, owner)
-
- else
- to_chat(H, "You're too hungry to spin web right now, eat something first!")
- return
-/*
- This took me far too long to figure out so I'm gonna document it here.
- 1) Create an innate action for the species
- 2) Have that action trigger a RegisterSignal for mob clicking
- 3) Trigger the cocoonAtom proc on that signal
- 4) Validate the target then start spinning
- 5) if you're not interrupted, force move the target to the cocoon created at their location.
-*/
-/datum/action/innate/spin_cocoon_quirk/Activate()
- var/mob/living/carbon/human/H = owner
- if(H.stat == "DEAD")
- return
- if(web_ready == FALSE)
- to_chat(H, "You need to wait awhile to regenerate web fluid.")
- return
- var/nutrition_threshold = NUTRITION_LEVEL_FED
- if (H.nutrition >= nutrition_threshold)
- to_chat(H, "You pull out a strand from your spinneret, ready to wrap a target.
\
- (Press ALT+CLICK on the target to start wrapping.)")
- H.adjust_nutrition(spinner_rate * -0.5)
- addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
- RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom)
- return
- else
- to_chat(H, "You're too hungry to spin web right now, eat something first!")
- return
-
-/datum/action/innate/spin_cocoon_quirk/proc/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
- UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
- if (!H || !isarachnid(H))
- return COMSIG_MOB_CANCEL_CLICKON
- else
- if(web_ready == FALSE)
- to_chat(H, "You need to wait awhile to regenerate web fluid.")
- return
- if(!H.Adjacent(A)) //No.
- return
- if(!isliving(A) && A.anchored)
- to_chat(H, "[A] is bolted to the floor!")
- return
- if(istype(A, /obj/structure/arachnid))
- to_chat(H, "No double wrapping.")
- return
- if(istype(A, /obj/effect))
- to_chat(H, "You cannot wrap this.")
- return
- if(isliving(A))
- var/mob/living/L = A
- if(L.key)
- to_chat(H, "You prepare to wrap [L] in a cocoon...")
- var/response = alert(L, "Do you wish to be wrapped in a cocoon?", "Cocooning", "No", "Yes")
- if(response == "No")
- to_chat(H, "[L] resists your attempts to wrap [L.p_them()]!")
- return
- H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
- if(!do_after(H, 10 SECONDS, 1, A))
- to_chat(H, "Your web spinning was interrupted!")
- return
- H.adjust_nutrition(spinner_rate * -3)
- var/obj/structure/arachnid/cocoon/C = new(A.loc)
- if(isliving(A))
- C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a large cocoon!")
- return
- else
- A.forceMove(C)
- H.visible_message("[H] wraps [A] into a cocoon!")
- return
diff --git a/modular_splurt/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/modular_splurt/code/modules/mob/living/carbon/human/species_types/arachnid.dm
new file mode 100644
index 0000000000..3cc48b3236
--- /dev/null
+++ b/modular_splurt/code/modules/mob/living/carbon/human/species_types/arachnid.dm
@@ -0,0 +1,102 @@
+/datum/action/innate/spin_web
+ var/web_cooldown = 200
+ var/web_ready = TRUE
+ var/spinner_rate = 25
+
+/datum/action/innate/spin_cocoon
+ var/web_cooldown = 200
+ var/web_ready = TRUE
+ var/spinner_rate = 25
+
+/datum/action/innate/spin_web/Activate()
+ var/mob/living/carbon/human/H = owner
+ if(H.stat == "DEAD")
+ return
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait a while to regenerate web fluid.")
+ return
+ var/turf/T = get_turf(H)
+ if(!T)
+ to_chat(H, "There's no room to spin your web here!")
+ return
+ var/obj/structure/spider/stickyweb/W = locate() in T
+ var/obj/structure/arachnid/W2 = locate() in T
+ if(W || W2)
+ to_chat(H, "There's already a web here!")
+ return
+ // Should have some minimum amount of food before trying to activate
+ var/nutrition_threshold = NUTRITION_LEVEL_FED
+ if (H.nutrition >= nutrition_threshold)
+ to_chat(H, "You begin spinning some web...")
+ if(!do_after(H, 10 SECONDS, 1, T))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(-spinner_rate)
+ addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
+ to_chat(H, "You use up a fair amount of energy weaving a web on the ground with your spinneret!")
+ new /obj/structure/arachnid(T, owner)
+
+ else
+ to_chat(H, "You're too hungry to spin web right now, eat something first!")
+ return
+
+/datum/action/innate/spin_cocoon/Activate()
+ var/mob/living/carbon/human/H = owner
+ if(H.stat == "DEAD")
+ return
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait awhile to regenerate web fluid.")
+ return
+ var/nutrition_threshold = NUTRITION_LEVEL_FED
+ if (H.nutrition >= nutrition_threshold)
+ to_chat(H, "You pull out a strand from your spinneret, ready to wrap a target. (Press ALT+CLICK on the target to start wrapping.)")
+ H.adjust_nutrition(spinner_rate * -0.5)
+ addtimer(VARSET_CALLBACK(src, web_ready, TRUE), web_cooldown)
+ RegisterSignal(H, list(COMSIG_MOB_ALTCLICKON), .proc/cocoonAtom)
+ return
+ else
+ to_chat(H, "You're too hungry to spin web right now, eat something first!")
+ return
+
+/datum/action/innate/spin_cocoon/cocoonAtom(mob/living/carbon/human/H, atom/movable/A)
+ UnregisterSignal(H, list(COMSIG_MOB_ALTCLICKON))
+ if (!H || !isarachnid(H))
+ return COMSIG_MOB_CANCEL_CLICKON
+ else
+ if(web_ready == FALSE)
+ to_chat(H, "You need to wait awhile to regenerate web fluid.")
+ return
+ if(!H.Adjacent(A)) //No.
+ return
+ if(!isliving(A) && A.anchored)
+ to_chat(H, "[A] is bolted to the floor!")
+ return
+ if(istype(A, /obj/structure/arachnid))
+ to_chat(H, "No double wrapping.")
+ return
+ if(istype(A, /obj/effect))
+ to_chat(H, "You cannot wrap this.")
+ return
+ if(isliving(A))
+ var/mob/living/L = A
+ if(L.key)
+ to_chat(H, "You prepare to wrap [L] in a cocoon...")
+ var/response = alert(L, "Do you wish to be wrapped in a cocoon?", "Cocooning", "No", "Yes")
+ if(response == "No")
+ to_chat(H, "[L] resists your attempts to wrap [L.p_them()]!")
+ return
+ H.visible_message("[H] starts to wrap [A] into a cocoon!","You start to wrap [A] into a cocoon.")
+ if(!do_after(H, 10 SECONDS, 1, A))
+ to_chat(H, "Your web spinning was interrupted!")
+ return
+ H.adjust_nutrition(spinner_rate * -3)
+ var/obj/structure/arachnid/cocoon/C = new(A.loc)
+ if(isliving(A))
+ C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a large cocoon!")
+ return
+ else
+ A.forceMove(C)
+ H.visible_message("[H] wraps [A] into a cocoon!")
+ return
diff --git a/tgstation.dme b/tgstation.dme
index 001c4887eb..71846d4d2a 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -4646,6 +4646,7 @@
#include "modular_splurt\code\modules\mob\living\carbon\human\species.dm"
#include "modular_splurt\code\modules\mob\living\carbon\human\simple_animal\hostile\deathclaw\deathclaw.dm"
#include "modular_splurt\code\modules\mob\living\carbon\human\simple_animal\hostile\deathclaw\funclaw.dm"
+#include "modular_splurt\code\modules\mob\living\carbon\human\species_types\arachnid.dm"
#include "modular_splurt\code\modules\mob\living\carbon\human\species_types\ashwalker.dm"
#include "modular_splurt\code\modules\mob\living\carbon\human\species_types\ipc.dm"
#include "modular_splurt\code\modules\mob\living\carbon\human\species_types\podpeople.dm"
From d59c142435c6744d7f44a1803f9edfad2cd70277 Mon Sep 17 00:00:00 2001
From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com>
Date: Sat, 22 Oct 2022 01:38:31 -0400
Subject: [PATCH 23/64] Update leash.dm
---
modular_splurt/code/game/objects/items/lewd_items/leash.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
index 62db3e7245..4ff7d36f65 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
@@ -92,7 +92,7 @@ Icons, maybe?
if(C.has_status_effect(/datum/status_effect/leash_pet)) //If the pet is already leashed, do not leash them. For the love of god.
to_chat(user, "[C] has already been leashed.")
return
- if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar, /obj/item/clothing/neck/necklace/cowbell, /obj/item/clothing/neck/maid))
+ if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/necklace/cowbell || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/maid))
var/leashtime = 50
if(C.handcuffed)
leashtime = 5
From 3a6adcef6f4867cfc42eaf02fddf59f40d1019fe Mon Sep 17 00:00:00 2001
From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com>
Date: Sat, 22 Oct 2022 02:42:09 -0400
Subject: [PATCH 24/64] Update leash.dm
---
modular_splurt/code/game/objects/items/lewd_items/leash.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modular_splurt/code/game/objects/items/lewd_items/leash.dm b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
index 4ff7d36f65..64bbd65ebb 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/leash.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/leash.dm
@@ -92,7 +92,7 @@ Icons, maybe?
if(C.has_status_effect(/datum/status_effect/leash_pet)) //If the pet is already leashed, do not leash them. For the love of god.
to_chat(user, "[C] has already been leashed.")
return
- if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/necklace/cowbell || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/maid))
+ if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/necklace/cowbell) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/maid))
var/leashtime = 50
if(C.handcuffed)
leashtime = 5
From 24ee6077c7d85cbfa5b77e7845d65013b6bd8bc8 Mon Sep 17 00:00:00 2001
From: SandPoot
Date: Sun, 23 Oct 2022 00:18:03 -0300
Subject: [PATCH 25/64] push changes
---
code/__DEFINES/spans.dm | 1 +
code/__HELPERS/game.dm | 10 ++---
code/__HELPERS/mobs.dm | 38 ++++++++++++-------
code/controllers/subsystem/shuttle.dm | 4 +-
.../game/machinery/computer/communications.dm | 12 +++---
code/modules/admin/verbs/randomverbs.dm | 2 +-
code/modules/cargo/centcom_podlauncher.dm | 2 +-
code/modules/events/_event.dm | 2 +-
.../modules/mob/dead/new_player/new_player.dm | 2 +-
code/modules/mob/living/death.dm | 3 +-
code/modules/mob/say.dm | 8 +++-
.../security_levels/keycard_authentication.dm | 4 +-
code/modules/shuttle/arrivals.dm | 4 +-
code/modules/spells/spell_types/curse.dm | 2 +-
.../reagents/chemistry/reagents/astrogen.dm | 2 +-
15 files changed, 54 insertions(+), 42 deletions(-)
diff --git a/code/__DEFINES/spans.dm b/code/__DEFINES/spans.dm
index 50fc40d5ca..b6b633d91a 100644
--- a/code/__DEFINES/spans.dm
+++ b/code/__DEFINES/spans.dm
@@ -56,6 +56,7 @@
#define span_icon(str) ("" + str + "")
#define span_info(str) ("" + str + "")
#define span_interface(str) ("" + str + "")
+#define span_linkify(str) ("" + str + "")
#define span_looc(str) ("" + str + "")
#define span_medal(str) ("" + str + "")
#define span_medradio(str) ("" + str + "")
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 5578b1f22a..f0f8eb817c 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -567,14 +567,12 @@
return A.loc
-/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank)
+///Send a message in common radio when a player arrives
+/proc/announce_arrival(mob/living/carbon/human/character, rank)
if(!SSticker.IsRoundInProgress() || QDELETED(character))
return
- var/area/A = get_area(character)
- var/message = "\
- [character.real_name] ([rank]) has arrived at the station at \
- [A.name]."
- deadchat_broadcast(message, follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE)
+ var/area/player_area = get_area(character)
+ deadchat_broadcast(" has arrived at the station at [player_area.name].", "[character.real_name] ([rank])", follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE)
if((!GLOB.announcement_systems.len) || (!character.mind))
return
if((character.mind.assigned_role == "Cyborg") || (character.mind.assigned_role == character.mind.special_role))
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 4cd82f9e66..dca8c184f2 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -382,17 +382,27 @@ GLOBAL_LIST_EMPTY(species_datums)
for(var/i in 1 to step_count)
step(X, pick(NORTH, SOUTH, EAST, WEST))
-/proc/deadchat_broadcast(message, mob/follow_target=null, turf/turf_target=null, speaker_key=null, message_type=DEADCHAT_REGULAR)
- message = "[message]"
- for(var/mob/M in GLOB.player_list)
- var/datum/preferences/prefs
- if(M.client && M.client.prefs)
- prefs = M.client.prefs
- else
- prefs = new
+// Displays a message in deadchat, sent by source. source is not linkified, message is, to avoid stuff like character names to be linkified.
+// Automatically gives the class deadsay to the whole message (message + source)
+/proc/deadchat_broadcast(message, source=null, mob/follow_target=null, turf/turf_target=null, speaker_key=null, message_type=DEADCHAT_REGULAR, admin_only=FALSE)
+ message = span_deadsay("[source][span_linkify(message)]")
+ for(var/mob/M in GLOB.player_list)
+ var/chat_toggles = TOGGLES_DEFAULT_CHAT
+ var/toggles = TOGGLES_DEFAULT
+ var/list/ignoring
+ if(M.client?.prefs)
+ var/datum/preferences/prefs = M.client?.prefs
+ chat_toggles = prefs.chat_toggles
+ toggles = prefs.toggles
+ ignoring = prefs.ignoring
+ if(admin_only)
+ if (!M.client?.holder)
+ return
+ else
+ message += span_deadsay(" (This is viewable to admins only).")
var/override = FALSE
- if(M.client && M.client.holder && (prefs.chat_toggles & CHAT_DEAD))
+ if(M.client?.holder && (chat_toggles & CHAT_DEAD))
override = TRUE
if(HAS_TRAIT(M, TRAIT_SIXTHSENSE))
override = TRUE
@@ -402,15 +412,15 @@ GLOBAL_LIST_EMPTY(species_datums)
continue
if(M.stat != DEAD && !override)
continue
- if(speaker_key && (speaker_key in prefs.ignoring))
+ if(speaker_key && (speaker_key in ignoring))
continue
switch(message_type)
if(DEADCHAT_DEATHRATTLE)
- if(prefs.toggles & DISABLE_DEATHRATTLE)
+ if(toggles & DISABLE_DEATHRATTLE)
continue
if(DEADCHAT_ARRIVALRATTLE)
- if(prefs.toggles & DISABLE_ARRIVALRATTLE)
+ if(toggles & DISABLE_ARRIVALRATTLE)
continue
if(isobserver(M))
@@ -427,9 +437,9 @@ GLOBAL_LIST_EMPTY(species_datums)
var/turf_link = TURF_LINK(M, turf_target)
rendered_message = "[turf_link] [message]"
- to_chat(M, rendered_message)
+ to_chat(M, rendered_message, avoid_highlighting = speaker_key == M.key)
else
- to_chat(M, message)
+ to_chat(M, message, avoid_highlighting = speaker_key == M.key)
//Used in chemical_mob_spawn. Generates a random mob based on a given gold_core_spawnable value.
/proc/create_random_mob(spawn_location, mob_class = HOSTILE_SPAWN)
diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm
index da295d70e2..dbec272fe8 100644
--- a/code/controllers/subsystem/shuttle.dm
+++ b/code/controllers/subsystem/shuttle.dm
@@ -254,7 +254,7 @@ SUBSYSTEM_DEF(shuttle)
var/area/A = get_area(user)
log_shuttle("[key_name(user)] has called the emergency shuttle.")
- deadchat_broadcast(" has called the shuttle at [A.name].", "[user.real_name]", user) //, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" has called the shuttle at [span_name("[A.name]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT)
if(call_reason)
SSblackbox.record_feedback("text", "shuttle_reason", 1, "[call_reason]")
log_shuttle("Shuttle call reason: [call_reason]")
@@ -293,7 +293,7 @@ SUBSYSTEM_DEF(shuttle)
emergency.cancel(get_area(user))
log_shuttle("[key_name(user)] has recalled the shuttle.")
message_admins("[ADMIN_LOOKUPFLW(user)] has recalled the shuttle.")
- deadchat_broadcast(" has recalled the shuttle from [get_area_name(user, TRUE)].", "[user.real_name]", user) //, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" has recalled the shuttle from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT)
return 1
/datum/controller/subsystem/shuttle/proc/canRecall()
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 7c22846ece..fc3eaf5ca4 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -159,7 +159,7 @@
// Only notify people if an actual change happened
log_game("[key_name(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].")
message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].")
- deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(usr, TRUE)]")].", usr, src.loc, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type=DEADCHAT_ANNOUNCEMENT)
alert_level_tick += 1
if ("deleteMessage")
@@ -198,7 +198,7 @@
var/associates = emagged ? "the Syndicate": "CentCom"
usr.log_talk(message, LOG_SAY, tag = "message to [associates]")
- deadchat_broadcast(" has messaged [associates], \"[message]\" at [span_name("[get_area_name(usr, TRUE)]")].", usr, src.loc, message_type = DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" has messaged [associates], \"[message]\" at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT)
COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN)
if ("purchaseShuttle")
var/can_buy_shuttles_or_fail_reason = can_buy_shuttles(usr)
@@ -281,7 +281,7 @@
minor_announce(message, title = "Outgoing message to allied station")
usr.log_talk(message, LOG_SAY, tag = "message to the other server")
message_admins("[ADMIN_LOOKUPFLW(usr)] has sent a message to the other server\[s].")
- deadchat_broadcast(" has sent an outgoing message to the other station(s).", usr, src.loc, message_type = DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" has sent an outgoing message to the other station(s).", "[usr.real_name]", usr, message_type = DEADCHAT_ANNOUNCEMENT)
COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN)
if ("setState")
@@ -345,12 +345,12 @@
revoke_maint_all_access()
log_game("[key_name(usr)] disabled emergency maintenance access.")
message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.")
- deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", usr, src.loc, message_type = DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT)
else
make_maint_all_access()
log_game("[key_name(usr)] enabled emergency maintenance access.")
message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.")
- deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", usr, src.loc, message_type = DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT)
/obj/machinery/computer/communications/ui_data(mob/user)
var/list/data = list(
@@ -555,7 +555,7 @@
else
input = user.treat_message(input) //Adds slurs and so on. Someone should make this use languages too.
SScommunications.make_announcement(user, is_ai, input)
- deadchat_broadcast(" made a priority announcement from [span_name("[get_area_name(usr, TRUE)]")].", user, src.loc, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" made a priority announcement from [span_name("[get_area_name(usr, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT)
/obj/machinery/computer/communications/proc/post_status(command, data1, data2)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 85b3d9eaa4..6f55466015 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -491,7 +491,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
GLOB.data_core.manifest_inject(new_character)
if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes")
- AnnounceArrival(new_character, new_character.mind.assigned_role)
+ announce_arrival(new_character, new_character.mind.assigned_role)
var/msg = "[admin] has respawned [player_key] as [new_character.real_name]."
message_admins(msg)
diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm
index e4060de1a2..8af43b8b00 100644
--- a/code/modules/cargo/centcom_podlauncher.dm
+++ b/code/modules/cargo/centcom_podlauncher.dm
@@ -595,7 +595,7 @@
else
return //if target is null and we don't have a specific target, cancel
if (effectAnnounce)
- deadchat_broadcast("A special package is being launched at the station!", turf_target = target)
+ deadchat_broadcast("A special package is being launched at the station!", turf_target = target, message_type=DEADCHAT_ANNOUNCEMENT)
var/list/bouttaDie = list()
for (var/mob/living/target_mob in target)
bouttaDie.Add(target_mob)
diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm
index 640dbc468f..3abe65a790 100644
--- a/code/modules/events/_event.dm
+++ b/code/modules/events/_event.dm
@@ -118,7 +118,7 @@
if(random)
log_game("Random Event triggering: [name] ([typepath])")
if (alert_observers)
- deadchat_broadcast("[name] has just been[random ? " randomly" : ""] triggered!") //STOP ASSUMING IT'S BADMINS!
+ deadchat_broadcast(" has just been[random ? " randomly" : ""] triggered!", "[name]", message_type=DEADCHAT_ANNOUNCEMENT) //STOP ASSUMING IT'S BADMINS!
return E
//Special admins setup
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index cfcb881977..453f654c2c 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -494,7 +494,7 @@
if(SSshuttle.arrivals)
SSshuttle.arrivals.QueueAnnounce(humanc, rank)
else
- AnnounceArrival(humanc, rank)
+ announce_arrival(humanc, rank)
AddEmploymentContract(humanc)
if(GLOB.highlander)
to_chat(humanc, "THERE CAN BE ONLY ONE!!!")
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index cbf0de51de..65433c2bd9 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -93,8 +93,7 @@
var/turf/T = get_turf(src)
if(mind && mind.name && mind.active && !istype(T.loc, /area/ctf) && !(signal & COMPONENT_BLOCK_DEATH_BROADCAST))
- var/rendered = "[mind.name] has died at [get_area_name(T)]."
- deadchat_broadcast(rendered, follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
+ deadchat_broadcast(" has died at [get_area_name(T)].", "[mind.name]", follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
if (client && client.prefs && client.prefs.auto_ooc)
if (!(client.prefs.chat_toggles & CHAT_OOC))
client.prefs.chat_toggles ^= CHAT_OOC
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index d8ef440ef9..f2d4e249d2 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -139,10 +139,14 @@
var/spanned = say_quote(say_emphasis(message))
message = emoji_parse(message)
- var/rendered = "DEAD: [name][alt_name] [emoji_parse(spanned)]"
+ var/source = "DEAD: [name][alt_name]"
+ var/rendered = " [emoji_parse(spanned)]"
log_talk(message, LOG_SAY, tag="DEAD")
client?.last_activity = world.time
- deadchat_broadcast(rendered, follow_target = src, speaker_key = key)
+ var/displayed_key = key
+ if(client?.holder?.fakekey)
+ displayed_key = null
+ deadchat_broadcast(rendered, source, follow_target = src, speaker_key = displayed_key)
/mob/proc/check_emote(message)
if(message[1] == "*")
diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm
index 562dc17182..65fc9d3278 100644
--- a/code/modules/security_levels/keycard_authentication.dm
+++ b/code/modules/security_levels/keycard_authentication.dm
@@ -116,10 +116,10 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
message_admins("[ADMIN_LOOKUPFLW(triggerer)] triggered and [ADMIN_LOOKUPFLW(confirmer)] confirmed event [event]")
var/area/A1 = get_area(triggerer)
- deadchat_broadcast(" triggered [event] at [A1.name].", "[triggerer]", triggerer)
+ deadchat_broadcast(" triggered [event] at [span_name("[A1.name]")].", span_name("[triggerer]"), triggerer, message_type=DEADCHAT_ANNOUNCEMENT)
var/area/A2 = get_area(confirmer)
- deadchat_broadcast(" confirmed [event] at [A2.name].", "[confirmer]", confirmer)
+ deadchat_broadcast(" confirmed [event] at [span_name("[A2.name]")].", span_name("[confirmer]"), confirmer, message_type=DEADCHAT_ANNOUNCEMENT)
switch(event)
if(KEYCARD_RED_ALERT)
set_security_level(SEC_LEVEL_RED)
diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm
index 8322c6cdd8..e0ca10db8a 100644
--- a/code/modules/shuttle/arrivals.dm
+++ b/code/modules/shuttle/arrivals.dm
@@ -195,9 +195,9 @@
/obj/docking_port/mobile/arrivals/proc/QueueAnnounce(mob, rank)
if(mode != SHUTTLE_CALL)
- AnnounceArrival(mob, rank)
+ announce_arrival(mob, rank)
else
- LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, .proc/AnnounceArrival, mob, rank))
+ LAZYADD(queued_announces, CALLBACK(GLOBAL_PROC, .proc/announce_arrival, mob, rank))
/obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value)
switch(var_name)
diff --git a/code/modules/spells/spell_types/curse.dm b/code/modules/spells/spell_types/curse.dm
index 9449e4a5d0..43340f98ef 100644
--- a/code/modules/spells/spell_types/curse.dm
+++ b/code/modules/spells/spell_types/curse.dm
@@ -8,7 +8,7 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE)
GLOB.curse_of_madness_triggered = message // So latejoiners are also afflicted.
- deadchat_broadcast("A Curse of Madness has stricken the station, shattering their minds with the awful secret: \"[message]\"")
+ deadchat_broadcast("A [span_name("Curse of Madness")] has stricken the station, shattering their minds with the awful secret: \"[message]\"", message_type=DEADCHAT_ANNOUNCEMENT)
for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.stat == DEAD)
diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
index bdc599a5e2..2be1a97873 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm
@@ -163,7 +163,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
if(-INFINITY to 30)
to_chat(M, "Your body disperses from existence, as you become one with the universe.")
to_chat(M, "As your body disappears, your consciousness doesn't. Should you find a way back into the mortal coil, your memories of your previous life remain with you. (At the cost of staying in character while dead. Failure to do this may get you banned from this chem. You are still obligated to follow your directives if you play a midround antag, you do not remember the afterlife IC)")//Legalised IC OOK? I have a suspicion this won't make it past the review. At least it'll be presented as a neat idea! If this is unacceptable how about the player can retain living memories across lives if they die in this way only.
- deadchat_broadcast("[M] has become one with the universe, meaning that their IC conciousness is continuous in a new life. If they find a way back to life, they are allowed to remember their previous life. Be careful what you say. If they abuse this, bwoink the FUCK outta them.")
+ deadchat_broadcast(" has become one with the universe, meaning that their IC conciousness is continuous in a new life. If they find a way back to life, they are allowed to remember their previous life. Be careful what you say. If they abuse this, bwoink the FUCK outta them.", "[M]", M, message_type=DEADCHAT_ANNOUNCEMENT)
M.visible_message("[M] suddenly disappears, their body evaporating from existence, freeing [M] from their mortal coil.")
message_admins("[M] (ckey: [M.ckey]) has become one with the universe, and have continuous memories thoughout their lives should they find a way to come back to life (such as an inteligence potion, midround antag, ghost role).")
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Astral obliterations")
From 9ccaaa9070e963446a8c91177907b9538109a138 Mon Sep 17 00:00:00 2001
From: Satile1
Date: Sun, 23 Oct 2022 11:11:52 +0100
Subject: [PATCH 26/64] New Hotel v2
---
.../SpaceRuins/spacehotelsplurt.dmm | 15308 ++++++++++++++++
.../code/game/area/areas/ruins/space.dm | 17 +
.../code/game/objects/items/cards_ids.dm | 16 +
.../objects/structures/ghost_role_spawners.dm | 58 +
4 files changed, 15399 insertions(+)
create mode 100644 modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
diff --git a/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
new file mode 100644
index 0000000000..5c13fec35c
--- /dev/null
+++ b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
@@ -0,0 +1,15308 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ae" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"af" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel)
+"aj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"al" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"ao" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"ap" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"au" = (
+/obj/structure/chair/sofa/corp,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"aw" = (
+/obj/structure/chair/sofa/corp/right,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"ax" = (
+/obj/machinery/button/door{
+ id = "a6";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_x = -22;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"aA" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/toxin,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"aD" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"aF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"aK" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"aL" = (
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 2
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"aN" = (
+/obj/structure/grille,
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"aR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"aS" = (
+/obj/structure/dresser,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"aT" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"aY" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"bb" = (
+/obj/structure/closet/crate/trashcart,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"be" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"bg" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"bi" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"bj" = (
+/obj/machinery/door/airlock/public/glass,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"bl" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"bo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/item/chair/stool/bar{
+ pixel_y = -8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"bp" = (
+/obj/machinery/light,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"bs" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"bv" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"bw" = (
+/obj/machinery/camera{
+ c_tag = "Hydroponics";
+ dir = 4;
+ network = list("hotel")
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"by" = (
+/obj/structure/girder,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"bB" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"bD" = (
+/obj/structure/table/wood/fancy/purple,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"bF" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"bH" = (
+/obj/machinery/vending/barkbox{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"bI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"bK" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"bL" = (
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/ruin/space/has_grav/hotel/bar)
+"bO" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/poddoor/shutters{
+ id = "hotelshopshutters";
+ name = "Commissary Shutters"
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"bP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"bR" = (
+/obj/structure/chair/sofa/corp/right,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"bS" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"bZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"cb" = (
+/obj/item/toy/plush/carpplushie,
+/turf/template_noop,
+/area/template_noop)
+"ce" = (
+/obj/machinery/telecomms/relay/preset/ruskie{
+ desc = "A mighty piece of hardware used to send massive amounts of data far away. This one seems to be tuned to pick up any nearby Nanotrasen equipment!";
+ id = "Twin Spires Relay";
+ name = "NT-Auth Telecoms Linkup"
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"cg" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/candle{
+ pixel_x = 5;
+ pixel_y = 2
+ },
+/obj/item/candle{
+ pixel_x = 10;
+ pixel_y = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"ci" = (
+/obj/machinery/door/airlock{
+ id_tag = "Staff5"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"cl" = (
+/obj/effect/baseturf_helper/space,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"cm" = (
+/obj/structure/chair/sofa/corp{
+ dir = 4
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"cn" = (
+/obj/structure/chair/sofa/corp/corner,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"co" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"cp" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/machinery/pool/drain{
+ pixel_x = -17;
+ pixel_y = 17
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel/guestroom)
+"cq" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/guestroom)
+"cu" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{
+ dir = 4
+ },
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"cw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"cz" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "hoteldisposals"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"cA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"cC" = (
+/obj/machinery/vending/security{
+ onstation = 0
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"cG" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/fire{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/fire,
+/obj/machinery/light,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"cH" = (
+/obj/effect/decal/cleanable/cobweb{
+ icon_state = "cobweb2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"cK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"cL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"cN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"cO" = (
+/obj/structure/table/glass,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"cP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"cQ" = (
+/obj/machinery/gear_painter,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"cV" = (
+/obj/machinery/computer/security{
+ dir = 4;
+ network = list("hotel")
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"cY" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"db" = (
+/obj/machinery/smartfridge/food,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"dc" = (
+/obj/item/chair/stool/bar{
+ pixel_y = -8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"dd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/door/airlock/grunge{
+ name = "Club"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"de" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"df" = (
+/obj/machinery/light,
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"dh" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"di" = (
+/obj/machinery/quantumpad,
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"dj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"dl" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"dm" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"do" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/machinery/camera{
+ c_tag = "Club Bar";
+ dir = 4;
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"dq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"dr" = (
+/obj/item/stack/sheet/mineral/silver{
+ amount = 5
+ },
+/obj/effect/mob_spawn/human/hotel_staff/manager,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"ds" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"dv" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"dy" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"dA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"dF" = (
+/obj/structure/table,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"dH" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"dI" = (
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/reagent_containers/food/snacks/mint{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/item/bedsheet/black/double{
+ dir = 4
+ },
+/obj/item/toy/plush/catgirl{
+ pixel_x = 10
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"dJ" = (
+/obj/structure/flora/ausbushes/lavendergrass,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"dM" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"dP" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"dQ" = (
+/obj/effect/decal/cleanable/glitter/white,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"dR" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/labor_camp_security{
+ name = "hotel security locker";
+ req_access = list(203)
+ },
+/obj/item/gun/energy/laser/scatter/shotty,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"dT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"dW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ea" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"ec" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"ee" = (
+/obj/machinery/light,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"eg" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/junction/flip{
+ dir = 2
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"ej" = (
+/obj/machinery/atmospherics/components/binary/pump,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"em" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"en" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"eo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"ep" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"eq" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/structure/pool/ladder{
+ dir = 8
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"er" = (
+/obj/machinery/computer/operating{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"ew" = (
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/food/drinks/bottle/whiskey{
+ pixel_x = 3
+ },
+/obj/item/reagent_containers/food/drinks/drinkingglass,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"ey" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/black/double,
+/obj/item/toy/plush/deer,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ez" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/door/airlock/grunge{
+ name = "Re-Education";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"eB" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"eF" = (
+/obj/structure/flora/ausbushes/brflowers,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"eI" = (
+/obj/structure/toilet/secret/low_loot{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"eO" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/security)
+"eP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"eQ" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Twin Spires Security";
+ req_access_txt = "203"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"eR" = (
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"eT" = (
+/obj/machinery/pool/controller,
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"eV" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"eW" = (
+/obj/effect/decal/cleanable/generic,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"eX" = (
+/obj/item/toy/poolnoodle,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"eY" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/template_noop,
+/area/space/nearstation)
+"fa" = (
+/obj/structure/table/wood,
+/obj/structure/bedsheetbin/towel,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/razor{
+ pixel_x = 13;
+ pixel_y = 3
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"fb" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"fc" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"fd" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/workroom)
+"fe" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"fh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"fi" = (
+/obj/structure/chair/stool/bar,
+/obj/effect/decal/cleanable/glitter/white,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"fo" = (
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
+"fu" = (
+/obj/machinery/biogenerator,
+/obj/item/reagent_containers/glass/beaker/large,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"fy" = (
+/obj/structure/grille,
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/power)
+"fz" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/power)
+"fD" = (
+/obj/structure/table,
+/obj/item/storage/fancy/rollingpapers,
+/obj/item/storage/fancy/rollingpapers,
+/obj/item/storage/fancy/rollingpapers,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"fF" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/clothing/head/welding,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"fH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"fK" = (
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"fM" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/item/clothing/suit/straight_jacket,
+/obj/item/electropack/shockcollar,
+/obj/item/assembly/signaler,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"fO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"fP" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"fS" = (
+/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering South";
+ dir = 1;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"fV" = (
+/obj/structure/toilet/secret/low_loot{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"fX" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc/away{
+ dir = 1;
+ name = "Hotel Security APC";
+ pixel_y = 23
+ },
+/obj/machinery/camera{
+ c_tag = "Security Office North";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"ga" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_containers/food/snacks/meat/slab/bear,
+/obj/item/reagent_containers/food/snacks/meat/slab/bear,
+/obj/item/reagent_containers/food/snacks/meat/slab/corgi,
+/obj/item/reagent_containers/food/snacks/meat/slab/corgi,
+/obj/item/reagent_containers/food/snacks/meat/slab/monkey,
+/obj/item/reagent_containers/food/snacks/meat/slab/monkey,
+/obj/item/reagent_containers/food/snacks/meat/slab/pug,
+/obj/item/reagent_containers/food/snacks/meat/slab/pug,
+/obj/item/reagent_containers/food/snacks/meat/slab/xeno,
+/obj/item/reagent_containers/food/snacks/meat/slab/xeno,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant,
+/obj/machinery/camera{
+ c_tag = "Kitchen Coldroom";
+ dir = 1;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel/freezer,
+/area/ruin/space/has_grav/hotel/bar)
+"gd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"gg" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/dresser,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gk" = (
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"gn" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gq" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gs" = (
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gu" = (
+/obj/machinery/camera{
+ c_tag = "Exhibitionist Suite SouthEast";
+ dir = 1;
+ network = list("hotel","exhibition")
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"gz" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/item/storage/dice,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"gA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"gC" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"gD" = (
+/obj/machinery/shower{
+ pixel_x = -1;
+ pixel_y = 19
+ },
+/obj/structure/curtain,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"gF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ icon_state = "wood-broken2"
+ },
+/area/ruin/space/has_grav/hotel)
+"gI" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"gK" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"gM" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gP" = (
+/obj/structure/table/wood,
+/obj/item/stack/sheet/mineral/wood/fifty,
+/obj/item/lighter,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gQ" = (
+/obj/structure/table,
+/obj/item/reagent_containers/food/condiment/soysauce,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"gU" = (
+/obj/machinery/computer/atmos_control/tank/oxygen_tank{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"gV" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"gW" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"hd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ icon_state = "wood-broken7"
+ },
+/area/ruin/space/has_grav/hotel)
+"he" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"hf" = (
+/obj/machinery/air_sensor/atmos/nitrogen_tank,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"hg" = (
+/obj/structure/sign/departments/botany,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"hj" = (
+/obj/structure/filingcabinet,
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/machinery/camera{
+ c_tag = "Lobby West";
+ dir = 4;
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"hm" = (
+/obj/structure/janitorialcart,
+/obj/item/mop,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"hn" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"hq" = (
+/obj/structure/closet/secure_closet/freezer/kitchen/mining,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"ht" = (
+/obj/machinery/vending/games{
+ onstation = 0
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/guestroom)
+"hu" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 1
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"hv" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"hx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"hy" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"hz" = (
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"hA" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"hB" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/structure/table/glass,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"hE" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"hF" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"hH" = (
+/obj/item/vending_refill/cigarette,
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"hM" = (
+/obj/effect/decal/cleanable/chem_pile,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"hN" = (
+/obj/structure/table/plasmaglass,
+/obj/structure/pole{
+ pixel_y = 9
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"hP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"hQ" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "hotelmaint1"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"hS" = (
+/obj/machinery/camera{
+ c_tag = "Lobby North";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"hT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"hX" = (
+/obj/structure/table/glass,
+/obj/machinery/door/window/eastright{
+ name = "Reception Desk";
+ req_access_txt = "200"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"hY" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"ib" = (
+/obj/structure/sign/barsign{
+ req_access = list(200)
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"ic" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"ig" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ih" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken"
+ },
+/area/ruin/space/has_grav/hotel)
+"im" = (
+/obj/structure/chair/sofa/corp/right,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"io" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"ip" = (
+/obj/structure/bedsheetbin/towel,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = 11
+ },
+/obj/item/storage/bag/trash{
+ pixel_x = -12;
+ pixel_y = -6
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"ir" = (
+/obj/structure/table,
+/obj/item/reagent_containers/food/condiment/saltshaker{
+ pixel_x = -9;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/food/condiment/saltshaker{
+ pixel_x = -3;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/food/condiment/peppermill{
+ pixel_x = -9
+ },
+/obj/item/reagent_containers/food/condiment/peppermill{
+ dir = 1;
+ pixel_x = -3
+ },
+/obj/item/reagent_containers/food/condiment/flour{
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/food/condiment/flour{
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/food/condiment/flour{
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/food/condiment/flour{
+ pixel_x = 8
+ },
+/obj/item/reagent_containers/food/condiment/flour{
+ pixel_x = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/item/reagent_containers/food/condiment/rice,
+/obj/item/reagent_containers/food/condiment/rice,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"iv" = (
+/obj/machinery/door/airlock{
+ name = "Private Restroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"iw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"iy" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"iz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"iA" = (
+/obj/structure/chair/stool/bar,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"iB" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"iC" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"iG" = (
+/obj/machinery/door/airlock{
+ id_tag = "a1";
+ name = "Guest Room A1"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"iJ" = (
+/obj/structure/toilet/secret/high_loot{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"iL" = (
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"iM" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"iP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"iU" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"iX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"iY" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"jf" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Re-Education";
+ req_access_txt = "203"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"jh" = (
+/obj/machinery/processor,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"jj" = (
+/obj/machinery/space_heater,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"jk" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"jm" = (
+/obj/machinery/pool/controller,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"jr" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"js" = (
+/obj/effect/decal/cleanable/glitter/pink,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"jt" = (
+/obj/effect/turf_decal/vg_decals/atmos/oxygen,
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"jv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"jy" = (
+/obj/structure/grille,
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
+"jz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"jC" = (
+/obj/machinery/disposal/bin,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"jE" = (
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"jF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"jH" = (
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"jJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"jL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"jO" = (
+/obj/structure/flora/ausbushes/ywflowers,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"jR" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/closet/secure_closet/personal/cabinet,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"jS" = (
+/obj/effect/decal/cleanable/cobweb{
+ icon_state = "cobweb2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"jV" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Security Storage";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/structure/closet/secure_closet/labor_camp_security{
+ name = "hotel security locker";
+ req_access = list(203)
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"jX" = (
+/obj/machinery/chem_heater,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"kb" = (
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc/away{
+ dir = 3;
+ name = "Hotel Corridors APC";
+ pixel_x = -25
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"ke" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"kh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"ki" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"kj" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"kk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"kn" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"kp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"kt" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ku" = (
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"kv" = (
+/obj/structure/table,
+/obj/item/stock_parts/cell/hyper,
+/obj/item/stack/cable_coil,
+/obj/effect/spawner/lootdrop/welder_tools,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/item/toy/plush/aiplush,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"ky" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "penthouse";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"kz" = (
+/obj/machinery/power/apc/away{
+ cell_type = /obj/item/stock_parts/cell/high/plus;
+ dir = 1;
+ name = "Bar and Club APC";
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/door/window/eastright{
+ dir = 8;
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"kB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"kE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/sofa/corp/corner,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"kG" = (
+/obj/machinery/computer/arcade/tetris,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"kI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"kJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"kQ" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "a2window";
+ name = "Privacy Shutters"
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"kW" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/snacks/popcorn,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"kX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/security)
+"lb" = (
+/obj/machinery/icecream_vat,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"lc" = (
+/obj/structure/noticeboard{
+ pixel_y = 32
+ },
+/obj/item/paper/fluff/ruins/spacehotel/notice,
+/obj/item/paper/guides/quantumpad,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"ld" = (
+/obj/machinery/light,
+/obj/structure/bed/dogbed{
+ desc = "A comfy-looking pet bed. You can even strap your pet in, in case the gravity turns off.";
+ name = "pet bed"
+ },
+/mob/living/simple_animal/bot/medbot{
+ name = "Accidents Happen"
+ },
+/obj/item/bedsheet/random,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"lf" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"lh" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/structure/cable,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "penthouse";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lj" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/structure/closet/crate,
+/obj/item/clothing/head/collectable/kitty,
+/obj/item/clothing/head/collectable/kitty,
+/obj/item/clothing/head/collectable/kitty,
+/obj/item/clothing/neck/petcollar/locked/casino,
+/obj/item/clothing/neck/petcollar/locked/casino,
+/obj/item/clothing/neck/petcollar/locked/casino,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"lk" = (
+/obj/machinery/door/airlock{
+ id_tag = "Staff4"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"ll" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"ln" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/item/soap,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"ls" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "a3window";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lt" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_containers/food/snacks/meat/slab/bear,
+/obj/item/reagent_containers/food/snacks/meat/slab/bear,
+/obj/item/reagent_containers/food/snacks/meat/slab/bear,
+/obj/item/reagent_containers/food/snacks/meat/slab/corgi,
+/obj/item/reagent_containers/food/snacks/meat/slab/corgi,
+/obj/item/reagent_containers/food/snacks/meat/slab/monkey,
+/obj/item/reagent_containers/food/snacks/meat/slab/monkey,
+/obj/item/reagent_containers/food/snacks/meat/slab/pug,
+/obj/item/reagent_containers/food/snacks/meat/slab/pug,
+/obj/item/reagent_containers/food/snacks/meat/slab/xeno,
+/obj/item/reagent_containers/food/snacks/meat/slab/xeno,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant,
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant,
+/obj/machinery/airalarm/directional/south{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/freezer,
+/area/ruin/space/has_grav/hotel/bar)
+"lv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"lw" = (
+/obj/structure/table/glass,
+/obj/machinery/chem_dispenser/drinks{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"lx" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ly" = (
+/obj/structure/closet/l3closet/janitor,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"lz" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ pixel_x = -1;
+ pixel_y = 19
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lA" = (
+/obj/structure/dresser,
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"lB" = (
+/obj/structure/mineral_door/paperframe{
+ name = "Changing Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"lC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lD" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"lE" = (
+/obj/item/pregnancytest,
+/obj/structure/mirror{
+ pixel_x = 28
+ },
+/obj/structure/table/glass,
+/obj/item/lipstick,
+/obj/item/lipstick/aqua,
+/obj/item/lipstick/black,
+/obj/item/lipstick/blue,
+/obj/item/lipstick/fuchsia,
+/obj/item/lipstick/jade,
+/obj/item/lipstick/navy,
+/obj/item/lipstick/purple,
+/obj/item/lipstick/teal,
+/obj/item/lipstick/white,
+/obj/item/lipstick/yellow,
+/obj/item/dyespray,
+/obj/item/clothing/glasses/brokenhud/security/sunglasses,
+/obj/item/clothing/glasses/brokenhud/security/sunglasses,
+/obj/item/clothing/glasses/brokenhud/security/sunglasses,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"lG" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/camera{
+ c_tag = "Bar South";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/item/toy/cards/deck,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"lN" = (
+/obj/structure/chair/sofa/corp{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"lP" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"lQ" = (
+/obj/structure/dresser,
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lR" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "a5window";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lU" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/statue/silver/md,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"lV" = (
+/obj/structure/table/wood/fancy/green,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"lW" = (
+/obj/structure/reagent_dispensers/keg/milk,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"mf" = (
+/obj/structure/flora/ausbushes/stalkybush,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"mg" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"mh" = (
+/obj/effect/decal/cleanable/oil,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"mi" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"mk" = (
+/obj/machinery/light/small,
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"mr" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"mv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"mw" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"mx" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"my" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/storage/toolbox/electrical,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"mz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"mA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"mB" = (
+/obj/structure/chair/sofa/corp/corner,
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"mC" = (
+/obj/structure/mineral_door/paperframe,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"mF" = (
+/obj/structure/grille,
+/obj/structure/grille,
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
+"mG" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
+"mH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"mK" = (
+/obj/structure/chair/sofa/corp,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"mL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"mN" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"mP" = (
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/snacks/popcorn,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"mQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"mU" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock{
+ id_tag = "a6";
+ name = "Guest Room A6"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"mW" = (
+/obj/machinery/door/airlock{
+ id_tag = "a7";
+ name = "Economy Room 2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"na" = (
+/obj/structure/chair/sofa/corp/left,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"ne" = (
+/obj/effect/decal/cleanable/glitter/blue,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"nf" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"ng" = (
+/obj/structure/toilet/secret/low_loot{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"nj" = (
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"nl" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"nn" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{
+ dir = 1
+ },
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"no" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 1
+ },
+/obj/structure/flora/ausbushes,
+/obj/structure/flora/ausbushes/leafybush,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"nt" = (
+/obj/machinery/conveyor/inverted{
+ dir = 6;
+ id = "hoteldisposals"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"nv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"nw" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"nx" = (
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"nB" = (
+/obj/machinery/vending/wallmed{
+ pixel_y = 28
+ },
+/obj/machinery/sleeper,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"nC" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"nD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"nJ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"nO" = (
+/obj/structure/chair/stool/bar,
+/obj/effect/decal/cleanable/glitter/blue,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"nP" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced,
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"nQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"nR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"nS" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"oa" = (
+/obj/structure/bed/dogbed{
+ desc = "A comfy-looking pet bed. You can even strap your pet in, in case the gravity turns off.";
+ name = "pet bed"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"oc" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"oe" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 10
+ },
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"of" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"ol" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"on" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/structure/table,
+/obj/item/vending_refill/hydronutrients,
+/obj/item/vending_refill/autodrobe,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"op" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/machinery/computer/security{
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"ow" = (
+/obj/structure/table/plasmaglass,
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tinted{
+ dir = 8
+ },
+/obj/machinery/door/window/eastleft{
+ dir = 2;
+ name = "Stage";
+ req_access_txt = "200"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"oy" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/bar)
+"oz" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"oB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"oC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"oD" = (
+/obj/structure/sign/painting/library,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"oE" = (
+/obj/machinery/computer/security/telescreen{
+ name = "Exhibition Suite";
+ network = list("thunder,exhibition");
+ pixel_y = 27
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"oH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"oJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"oK" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"oM" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"oP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"oS" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow,
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"oU" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"oV" = (
+/obj/effect/turf_decal/vg_decals/atmos/air,
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"pb" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"pc" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"pd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"pg" = (
+/obj/machinery/vending/barkbox,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"po" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 9
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"pq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/freezer{
+ name = "Freezer";
+ req_access_txt = "200"
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"pt" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"pC" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/machinery/microwave{
+ pixel_x = -3;
+ pixel_y = 6
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"pE" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/stock_parts/cell/high,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/item/pipe_dispenser,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"pG" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"pH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"pI" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"pJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"pK" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"pM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"pO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"pT" = (
+/obj/item/clothing/head/helmet/justice,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/structure/closet/secure_closet/labor_camp_security{
+ name = "hotel security locker";
+ req_access = list(203)
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"pX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"pZ" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"qe" = (
+/obj/machinery/camera{
+ c_tag = "Club North";
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"qf" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/away{
+ dir = 1;
+ name = "Hotel Engineering APC";
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"qg" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/structure/chair/pew/left,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"qh" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"qi" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ pixel_x = -1;
+ pixel_y = 19
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"qj" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"qk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"ql" = (
+/obj/machinery/door/window/eastright{
+ dir = 1;
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"qo" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/dock)
+"qr" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"qy" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"qD" = (
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"qE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"qG" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"qH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"qI" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"qJ" = (
+/obj/effect/decal/cleanable/glitter/blue,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/ruin/space/has_grav/hotel/bar)
+"qK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"qM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"qO" = (
+/obj/machinery/smartfridge/chemistry/preloaded,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"qQ" = (
+/obj/structure/chair/sofa/corp{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"qV" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"qW" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"qY" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Equipment Storage";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"ra" = (
+/obj/machinery/air_sensor/atmos/air_tank,
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"rc" = (
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery{
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"rd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"rf" = (
+/obj/item/clothing/mask/cigarette,
+/obj/effect/decal/cleanable/ash,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"rk" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"rm" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"rn" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"ro" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"rp" = (
+/obj/structure/dresser,
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"rq" = (
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/power)
+"rr" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"rs" = (
+/obj/machinery/vending/dinnerware{
+ contraband = list(/obj/item/kitchen/rollingpin=2,/obj/item/kitchen/knife/butcher=2,/obj/item/reagent_containers/food/condiment/flour=4);
+ onstation = 0
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"rw" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "O2 Outlet Pump"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"rx" = (
+/obj/structure/table,
+/obj/item/instrument/guitar{
+ pixel_x = -7
+ },
+/obj/item/instrument/eguitar{
+ pixel_x = 5
+ },
+/obj/item/instrument/violin,
+/obj/item/instrument/trombone,
+/obj/item/instrument/saxophone,
+/obj/item/instrument/piano_synth,
+/obj/item/instrument/recorder,
+/obj/item/instrument/accordion,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"ry" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"rA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"rC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"rD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"rE" = (
+/obj/structure/sign/poster/contraband/lusty_xenomorph,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"rF" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 1
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"rG" = (
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/obj/effect/mob_spawn/human/hotel_staff/splurt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"rH" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/item/storage/dice,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"rJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"rK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"rL" = (
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"rR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/obj/structure/mirror{
+ pixel_y = 28
+ },
+/obj/structure/closet/secure_closet/bar{
+ name = "Manager's Cabinet";
+ req_access = null;
+ req_access_txt = "205"
+ },
+/obj/item/card/id/away/hotel,
+/obj/item/card/id/away/hotel,
+/obj/item/card/id/away/hotel,
+/obj/item/card/id/away/hotel,
+/obj/item/card/id/away/hotel,
+/obj/item/card/id/away/hotel,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"rS" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"rV" = (
+/obj/machinery/vending/boozeomat{
+ extended_inventory = 1;
+ onstation = 0;
+ req_access_txt = "200"
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"rY" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"rZ" = (
+/obj/machinery/camera{
+ c_tag = "Rooms East";
+ dir = 1;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"sb" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"sd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/structure/chair/sofa/left{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sj" = (
+/obj/structure/table/plasmaglass,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"sk" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/reagent_containers/glass/beaker/large,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"sl" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"sm" = (
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"sr" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"st" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sv" = (
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sw" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"sx" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"sy" = (
+/obj/item/mesmetron,
+/obj/item/genital_equipment/condom,
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sz" = (
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sB" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"sE" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/public/glass{
+ name = "Laundry"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"sF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{
+ dir = 1
+ },
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"sH" = (
+/obj/structure/mirror{
+ pixel_x = -28
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"sI" = (
+/obj/machinery/mass_driver{
+ dir = 8;
+ id = "hoteltrash"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sJ" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"sL" = (
+/obj/machinery/door/airlock{
+ id_tag = "Staff1"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sS" = (
+/obj/item/nailpolish/red,
+/obj/item/nailpolish/white,
+/obj/item/nailpolish/purple,
+/obj/item/nailpolish/black,
+/obj/item/nailpolish/blue,
+/obj/structure/table,
+/obj/item/dyespray,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"sU" = (
+/obj/item/restraints/handcuffs/fake/kinky,
+/obj/machinery/gear_painter,
+/obj/machinery/light,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"sV" = (
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"sZ" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"td" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"tf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"tg" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"th" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ti" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"tj" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/power)
+"tn" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"to" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"tq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"ts" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/pen,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"tv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"tw" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"ty" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"tF" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"tG" = (
+/obj/machinery/door/airlock{
+ name = "Private Restroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"tH" = (
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/power)
+"tI" = (
+/obj/machinery/air_sensor/atmos/oxygen_tank,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"tJ" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"tM" = (
+/obj/structure/reagent_dispensers/cooking_oil,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"tQ" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"tS" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"tU" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"tW" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/autolathe/hacked,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"tX" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/structure/cable,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "penthouse";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ud" = (
+/obj/machinery/vending/autodrobe/all_access{
+ onstation = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"ue" = (
+/obj/structure/table,
+/obj/structure/table,
+/obj/item/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/o2,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"ug" = (
+/obj/machinery/camera{
+ c_tag = "Bar North";
+ dir = 6;
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"uk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"ul" = (
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/structure/closet/crate/bin,
+/obj/machinery/power/apc/away{
+ name = "Staff Areas APC";
+ pixel_y = -23
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"um" = (
+/obj/machinery/recharge_station,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"uo" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"uq" = (
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/security)
+"uu" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"uv" = (
+/obj/machinery/light,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"uw" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ux" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"uy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"uz" = (
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"uA" = (
+/obj/item/restraints/handcuffs/fake/kinky,
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"uE" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"uF" = (
+/obj/machinery/camera{
+ c_tag = "Lobby South";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"uH" = (
+/obj/structure/table,
+/obj/machinery/microwave{
+ pixel_x = -3;
+ pixel_y = 6
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"uJ" = (
+/obj/structure/mirror{
+ pixel_x = 28
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/space_heater,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"uL" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/camera{
+ c_tag = "Security Office South";
+ dir = 1;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"uM" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 5
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"uN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"uO" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel/guestroom)
+"uP" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"uT" = (
+/obj/structure/table,
+/obj/item/book/manual/chef_recipes,
+/obj/item/reagent_containers/spray/cleaner,
+/obj/item/sharpener{
+ pixel_x = 10
+ },
+/obj/item/reagent_containers/food/condiment/enzyme{
+ layer = 5;
+ pixel_x = -8;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"uV" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"uX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"uY" = (
+/obj/structure/chair/sofa/corp/left,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"uZ" = (
+/obj/machinery/vending/wardrobe/medi_wardrobe{
+ onstation = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Medical";
+ dir = 6;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"va" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/security)
+"vb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"vc" = (
+/obj/machinery/door/airlock{
+ name = "Private Restroom"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"vd" = (
+/obj/structure/bed/double,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"vf" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"vh" = (
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"vi" = (
+/obj/machinery/door/airlock{
+ name = "Private Restroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"vm" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"vn" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"vr" = (
+/obj/structure/closet/l3closet/security,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"vs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/structure/table,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/barkbox,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"vt" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/box/monkeycubes,
+/obj/item/storage/box/monkeycubes,
+/obj/item/clothing/suit/apron/chef,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/reagent_containers/spray/cleaner,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"vu" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Twin Spires Security";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"vx" = (
+/obj/structure/closet/wardrobe/pjs,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"vy" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"vC" = (
+/obj/machinery/door/airlock/external/glass,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/power)
+"vD" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"vE" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "manager";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/workroom)
+"vG" = (
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"vI" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"vK" = (
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"vL" = (
+/obj/machinery/atmospherics/components/trinary/filter/atmos/o2,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"vN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"vQ" = (
+/obj/structure/bed/dogbed{
+ desc = "A comfy-looking pet bed. You can even strap your pet in, in case the gravity turns off.";
+ name = "pet bed"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"vR" = (
+/obj/machinery/door/airlock{
+ id_tag = "a8";
+ name = "Economy Room 1"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"vT" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "hoteldisposals"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"vV" = (
+/obj/structure/bed/double,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"vW" = (
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/ruin/space/has_grav/hotel/bar)
+"vZ" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/toilet/secret/low_loot{
+ dir = 4
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wb" = (
+/obj/structure/table/plasmaglass,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wg" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"wk" = (
+/obj/structure/closet/athletic_mixed,
+/obj/item/clothing/under/misc/bathrobe,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"wl" = (
+/obj/structure/chair/sofa/corp/right,
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wm" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wn" = (
+/obj/machinery/camera{
+ c_tag = "Lobby East";
+ dir = 8;
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"wp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/junction/yjunction{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"wq" = (
+/obj/machinery/vending/wallmed{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"wv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"wx" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"wA" = (
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"wD" = (
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"wF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"wG" = (
+/obj/structure/dresser,
+/obj/item/bdsm_whip/ridingcrop,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"wI" = (
+/obj/structure/table/wood,
+/obj/machinery/button/door{
+ id = "a5window";
+ name = "Privacy Shutters";
+ pixel_y = -11
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wK" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Manager's Office";
+ req_access_txt = "205"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"wL" = (
+/obj/effect/decal/cleanable/glitter/pink,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"wN" = (
+/obj/structure/mirror{
+ pixel_x = 28
+ },
+/obj/structure/table/glass,
+/obj/item/nailpolish/white{
+ pixel_x = -10
+ },
+/obj/item/nailpolish/yellow{
+ pixel_x = -7
+ },
+/obj/item/nailpolish/purple{
+ pixel_x = -4
+ },
+/obj/item/nailpolish/navy{
+ pixel_x = -1
+ },
+/obj/item/nailpolish/blue{
+ pixel_x = 2
+ },
+/obj/item/nailpolish/black{
+ pixel_x = 5
+ },
+/obj/item/nailpolish/aqua{
+ pixel_x = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"wP" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/dock)
+"wR" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wV" = (
+/obj/structure/sign/painting/library{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"wX" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"wY" = (
+/obj/machinery/door/airlock{
+ id_tag = "a2";
+ name = "Guest Room A2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"wZ" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sink/kitchen{
+ pixel_y = 31
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"xa" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 3;
+ name = "3maintenance loot spawner"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"xb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"xc" = (
+/obj/machinery/camera{
+ c_tag = "Exhibitionist Suite East";
+ dir = 8;
+ network = list("hotel","exhibition")
+ },
+/obj/item/kirbyplants/random,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xe" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"xf" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"xh" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/gibber,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"xk" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Manager's Office";
+ req_access_txt = "205"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"xl" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/item/stack/sheet/mineral/silver{
+ amount = 10
+ },
+/obj/item/stack/spacecash/c1000,
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"xq" = (
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/airalarm/directional/east{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"xu" = (
+/obj/machinery/chem_dispenser,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"xz" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xA" = (
+/obj/item/skub,
+/obj/effect/spawner/bundle/costume/nyangirl,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xF" = (
+/obj/structure/sink/kitchen{
+ dir = 8;
+ pixel_x = 11
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"xH" = (
+/obj/item/toy/plush/carrot,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"xI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"xK" = (
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"xO" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Laundry";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"xQ" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"xR" = (
+/obj/structure/table,
+/obj/machinery/recharger{
+ pixel_x = 6;
+ pixel_y = 3
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"xS" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -30
+ },
+/obj/machinery/teleport/station,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"xU" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"xV" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/effect/turf_decal/weather/dirt,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"xW" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xX" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"xY" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"xZ" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Manager's Quarters";
+ req_access_txt = "205"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"yb" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"yc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"yf" = (
+/obj/structure/sign/painting/library,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel)
+"yh" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/computer/security/telescreen{
+ name = "Exhibition Suite";
+ network = list("thunder,exhibition");
+ pixel_y = -26
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yp" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"yr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"yt" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"yy" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yA" = (
+/obj/machinery/camera{
+ c_tag = "Exhibitionist Suite Southwest";
+ dir = 1;
+ network = list("hotel","exhibition")
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yB" = (
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/toy/plush/Synth,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yD" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yG" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yJ" = (
+/obj/structure/table/optable,
+/obj/machinery/defibrillator_mount/loaded{
+ pixel_y = -25
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"yM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"yP" = (
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"yQ" = (
+/obj/structure/table,
+/obj/machinery/smartfridge/disks{
+ pixel_y = 2
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"yS" = (
+/obj/structure/chair/sofa/corp/corner,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"yU" = (
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"yV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"yX" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/structure/chair/pew/right,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"yZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/junction/flip{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"za" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 9
+ },
+/obj/structure/flora/ausbushes/fernybush,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"zb" = (
+/obj/machinery/camera{
+ c_tag = "Manager's Office";
+ dir = 6;
+ network = list("hotel")
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"zd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/sofa/right{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"zf" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"zi" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"zk" = (
+/obj/machinery/iv_drip,
+/obj/machinery/iv_drip,
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_containers/blood/synthetics,
+/obj/item/reagent_containers/blood/synthetics,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"zl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"zn" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zo" = (
+/obj/machinery/door/airlock/public/glass{
+ name = "Bar"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"zt" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/door/window/eastright{
+ dir = 1;
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"zv" = (
+/obj/machinery/camera{
+ c_tag = "Club East";
+ dir = 8;
+ network = list("hotel")
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"zx" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/effect/decal/cleanable/glitter/pink,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"zE" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/obj/structure/pool/ladder,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = -32
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"zL" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"zO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"zP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"zR" = (
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/bedsheet/green/double{
+ dir = 1
+ },
+/obj/item/toy/plush/lizardplushie,
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zT" = (
+/obj/structure/dresser,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zW" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"zY" = (
+/obj/machinery/computer/arcade,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"zZ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/structure/chair/pew{
+ dir = 4
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"Af" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ag" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = -32
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ah" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Aj" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ak" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Am" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 4
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"An" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Ap" = (
+/obj/structure/table,
+/obj/item/grenade/chem_grenade/cleaner,
+/obj/item/grenade/chem_grenade/cleaner,
+/obj/item/grenade/chem_grenade/cleaner,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"Av" = (
+/obj/machinery/door/airlock/external/glass,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/power)
+"Aw" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/item/kirbyplants/random,
+/obj/item/toy/plush/carpplushie,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"AA" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/obj/structure/flora/ausbushes/brflowers,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"AB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"AD" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"AE" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"AG" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"AH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"AI" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/research_table,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"AO" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/crowbar,
+/obj/item/vending_refill/kink,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/obj/item/vending_refill/barkbox,
+/obj/item/vending_refill/autodrobe,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/clothing,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"AQ" = (
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"AT" = (
+/obj/machinery/vending/snack{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"AW" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"AX" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/mob_spawn/human/hotel_staff/splurt/security,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Bb" = (
+/obj/machinery/conveyor_switch/oneway{
+ dir = 8;
+ id = "hoteldisposals";
+ name = "disposal conveyor"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Bc" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Be" = (
+/obj/item/toy/plush/catgirl/fermis,
+/obj/structure/bed/double,
+/obj/item/bedsheet/blue/double,
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Bg" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Bj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Bl" = (
+/obj/machinery/pool/filter{
+ pixel_y = -17
+ },
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"Bo" = (
+/obj/structure/cable/yellow,
+/obj/machinery/power/solar_control{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Bp" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/red/double,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Bq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/door/airlock/maintenance/glass{
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"Bt" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"Bv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Bz" = (
+/obj/structure/closet/wardrobe/pink,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"BD" = (
+/obj/structure/table/plasmaglass,
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tinted{
+ dir = 8
+ },
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"BG" = (
+/obj/structure/table/wood/fancy/royalblack,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"BH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"BJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"BM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"BN" = (
+/obj/structure/grille,
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
+"BO" = (
+/obj/effect/decal/cleanable/glitter/pink,
+/turf/open/floor/light/colour_cycle/dancefloor_a,
+/area/ruin/space/has_grav/hotel/bar)
+"BP" = (
+/obj/structure/table/wood/fancy/blackred,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"BQ" = (
+/obj/machinery/vending/cigarette{
+ onstation = 0
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"BR" = (
+/obj/machinery/door/airlock/external,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/dock)
+"BS" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/structure/flora/tree/jungle/small,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"BT" = (
+/obj/structure/table/plasmaglass,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"BV" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"BW" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
+ dir = 8
+ },
+/obj/machinery/meter/atmos,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"BY" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"BZ" = (
+/obj/structure/table/wood/poker,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/item/toy/cards/deck,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ca" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Cc" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ce" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Cf" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 1
+ },
+/obj/item/kirbyplants/random,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ck" = (
+/obj/structure/table,
+/obj/machinery/plantgenes{
+ pixel_y = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Cl" = (
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/power)
+"Cm" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Cq" = (
+/obj/structure/table/wood,
+/mob/living/simple_animal/pet/cat,
+/obj/item/clothing/neck/petcollar,
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"Cr" = (
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/diamond{
+ amount = 10
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"Cw" = (
+/obj/structure/chair/sofa/corp,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Cx" = (
+/obj/structure/lattice,
+/turf/template_noop,
+/area/template_noop)
+"Cy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Cz" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"CC" = (
+/obj/structure/closet/crate/hydroponics,
+/obj/item/shovel/spade,
+/obj/item/wrench,
+/obj/item/reagent_containers/glass/bucket,
+/obj/item/wirecutters,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"CI" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"CJ" = (
+/obj/structure/sign/departments/restroom{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"CK" = (
+/obj/item/toy/plush/lampplushie,
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"CL" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Club"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"CM" = (
+/obj/machinery/door/poddoor{
+ id = "Hotel Disposal Exit";
+ name = "disposal bay door"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"CN" = (
+/obj/structure/closet/jcloset,
+/obj/item/storage/bag/trash,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/rank/civilian/janitor/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/under/costume/maid,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/away{
+ dir = 1;
+ name = "Hotel Custodial APC";
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"CR" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/item/gps{
+ gpstag = "Twin-Nexus Hotel Retreat";
+ name = "hotel gps"
+ },
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"CS" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/workroom)
+"CV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"CW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/structure/mirror{
+ pixel_x = -28
+ },
+/obj/machinery/camera{
+ c_tag = "Club Backroom";
+ dir = 5;
+ network = list("hotel")
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"CX" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{
+ dir = 4
+ },
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"Da" = (
+/obj/structure/chair/stool/bar,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Db" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/closet/crate,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/obj/machinery/light,
+/obj/item/clothing/head/maid,
+/obj/item/clothing/head/maid,
+/obj/item/clothing/head/maid,
+/obj/item/clothing/accessory/maidapron,
+/obj/item/clothing/accessory/maidapron,
+/obj/item/clothing/accessory/maidapron,
+/obj/item/clothing/gloves/polymaid,
+/obj/item/clothing/gloves/polymaid,
+/obj/item/clothing/gloves/polymaid,
+/obj/item/clothing/neck/maid,
+/obj/item/clothing/neck/maid,
+/obj/item/clothing/neck/maid,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Dc" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Dd" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Dg" = (
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/dock)
+"Dh" = (
+/obj/structure/closet/athletic_mixed,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Di" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/semen,
+/obj/structure/reagent_dispensers/keg/aphro,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Dk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Dl" = (
+/obj/machinery/jukebox{
+ queuecost = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Dm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"Dp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"Dq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/bedsheet/nanotrasen/double{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Dt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Dx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Dy" = (
+/obj/machinery/conveyor/inverted{
+ dir = 10;
+ id = "hoteldisposals"
+ },
+/obj/machinery/recycler,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"DA" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 6
+ },
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"DD" = (
+/obj/structure/chair/sofa/corp/corner,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/button/door{
+ id = "penthouse";
+ name = "Privacy Shutters";
+ pixel_y = 25
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"DE" = (
+/obj/item/vending_refill/wallmed,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"DF" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"DH" = (
+/obj/structure/table/wood,
+/obj/item/storage/box/stockparts/basic,
+/obj/item/stack/ore/bluespace_crystal/artificial{
+ amount = 5
+ },
+/obj/item/multitool,
+/obj/item/screwdriver,
+/obj/item/paper/guides/quantumpad,
+/obj/item/quantum_keycard{
+ pixel_x = 10;
+ pixel_y = 9
+ },
+/obj/item/quantum_keycard{
+ pixel_x = 10;
+ pixel_y = 5
+ },
+/obj/item/toy/crayon/spraycan{
+ pixel_x = -16
+ },
+/obj/item/quantum_keycard{
+ pixel_x = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"DJ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"DK" = (
+/obj/structure/bed/double,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"DL" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"DM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"DQ" = (
+/obj/machinery/vending/clothing{
+ onstation = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"DR" = (
+/obj/structure/chair/stool,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"DS" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"DV" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"DW" = (
+/obj/structure/table/wood/fancy/red,
+/obj/effect/decal/cleanable/glitter/pink,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"DY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"Ea" = (
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Eb" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ec" = (
+/obj/machinery/rnd/production/techfab/department/service,
+/obj/structure/sign/poster/official/hydro_ad{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Ef" = (
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"Eg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Eh" = (
+/obj/structure/kitchenspike,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Ej" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Ek" = (
+/turf/template_noop,
+/area/template_noop)
+"Eo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ep" = (
+/obj/structure/closet/secure_closet,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Eq" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Es" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"Eu" = (
+/obj/structure/table,
+/obj/item/melee/baton/stunsword/smithed,
+/obj/item/electropack/shockcollar,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ex" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"ED" = (
+/obj/machinery/rnd/production/circuit_imprinter/department,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"EE" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"EF" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"EG" = (
+/obj/machinery/vending/boozeomat/all_access{
+ onstation = 0
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"EH" = (
+/obj/item/kirbyplants/random,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"EI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"EJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"EL" = (
+/obj/item/trash/popcorn,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"EM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/door/window/eastleft{
+ name = "Butchery";
+ req_access_txt = "200"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"EN" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"EP" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/power)
+"ER" = (
+/obj/machinery/seed_extractor,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"ES" = (
+/obj/structure/chair/sofa/corp/right,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"EU" = (
+/obj/structure/table/glass,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"EW" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/food/drinks/shaker{
+ pixel_x = 1;
+ pixel_y = 13
+ },
+/obj/item/reagent_containers/food/drinks/shaker{
+ pixel_x = -9
+ },
+/obj/item/reagent_containers/rag,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"EX" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"EZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"Fb" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Fc" = (
+/obj/structure/flora/ausbushes/ywflowers,
+/obj/effect/turf_decal/weather/dirt,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"Fe" = (
+/obj/structure/table,
+/obj/machinery/recharger{
+ pixel_x = 6;
+ pixel_y = 3
+ },
+/obj/machinery/recharger{
+ pixel_x = -6;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Fh" = (
+/obj/machinery/vending/boozeomat{
+ extended_inventory = 1;
+ onstation = 0;
+ req_access_txt = "200"
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/workroom)
+"Fj" = (
+/obj/structure/sign/warning/vacuum/external,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/power)
+"Fn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Fo" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Fp" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"Fq" = (
+/obj/structure/table/wood,
+/obj/item/dyespray,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Ft" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Fw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"Fx" = (
+/obj/machinery/door/airlock{
+ id_tag = "a4";
+ name = "Guest Room A4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Fy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Fz" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"FB" = (
+/obj/structure/table,
+/obj/item/storage/toolbox/electrical,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"FC" = (
+/obj/structure/mineral_door/paperframe{
+ name = "Changing Room"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"FE" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"FG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/camera{
+ c_tag = "Bar Backroom";
+ dir = 8;
+ network = list("hotel")
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"FH" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = -32
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"FK" = (
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"FN" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"FO" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"FP" = (
+/obj/machinery/door/airlock{
+ id_tag = "Staff3"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"FT" = (
+/obj/effect/decal/cleanable/ash,
+/obj/item/trash/can,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"FU" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"FX" = (
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 4;
+ name = "4maintenance loot spawner"
+ },
+/obj/machinery/camera{
+ c_tag = "Disposals";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/machinery/light,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"FY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"FZ" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ga" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/disposalpipe/junction/flip{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Gc" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/structure/pool/ladder{
+ dir = 8
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"Gg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"Gh" = (
+/obj/machinery/atmospherics/miner/oxygen,
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"Gj" = (
+/obj/item/clothing/under/sexynursesuit,
+/obj/item/clothing/under/sexynursesuit,
+/obj/item/clothing/under/sexynursesuit,
+/obj/item/clothing/head/nursehat,
+/obj/item/clothing/head/nursehat,
+/obj/item/clothing/head/nursehat,
+/obj/structure/closet/secure_closet/medical3{
+ req_access = list(200)
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Gl" = (
+/obj/structure/chair/sofa/corp/left,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Gm" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Gu" = (
+/obj/structure/table,
+/obj/item/storage/box/lights/mixed,
+/obj/item/storage/box/lights/mixed,
+/obj/item/lightreplacer,
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"Gv" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 10
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Gw" = (
+/obj/machinery/camera{
+ c_tag = "Commissary";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/machinery/autolathe/toy,
+/obj/item/stack/sheet/plastic/twenty,
+/obj/machinery/light,
+/obj/item/stack/sheet/metal/twenty,
+/obj/item/stack/sheet/glass/five,
+/obj/item/stack/sheet/glass/five,
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"GB" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"GD" = (
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"GG" = (
+/obj/structure/reagent_dispensers/keg/aphro,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"GH" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/obj/machinery/door/window/eastleft{
+ name = "Staff Only";
+ req_access_txt = "200"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"GI" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"GM" = (
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/bedsheet/purple/double{
+ dir = 1
+ },
+/obj/item/toy/plush/slimeplushie,
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"GP" = (
+/obj/structure/fireplace{
+ pixel_y = -6
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"GQ" = (
+/obj/structure/toilet/secret/low_loot{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"GR" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"GU" = (
+/obj/machinery/button/door{
+ id = "Staff3";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"GW" = (
+/obj/machinery/power/smes/engineering,
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/obj/structure/cable,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"GX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"GY" = (
+/obj/machinery/door/window/brigdoor{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ha" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"He" = (
+/obj/structure/table,
+/obj/item/book/manual/hydroponics_pod_people{
+ pixel_x = 6;
+ pixel_y = 5
+ },
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_y = 3
+ },
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/spray/plantbgone{
+ pixel_x = 13;
+ pixel_y = 5
+ },
+/obj/item/watertank,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Hydroponics Backroom";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/item/vending_refill/hydroseeds,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Hf" = (
+/obj/machinery/power/tracker,
+/obj/structure/cable/yellow,
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"Hh" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Hj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "hotelmaint1";
+ name = "Panic Room Shutters";
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ho" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Hp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Hs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"Ht" = (
+/obj/machinery/button/door{
+ id = "Staff4";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Hu" = (
+/obj/structure/lattice,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel)
+"Hw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/airalarm/directional/south{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"Hx" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"Hz" = (
+/obj/structure/table/plasmaglass,
+/obj/effect/decal/cleanable/glitter/pink,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"HC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"HD" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"HE" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"HF" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"HH" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"HI" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"HJ" = (
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/uranium{
+ amount = 10
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"HL" = (
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"HM" = (
+/obj/machinery/atmospherics/miner/nitrogen,
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"HN" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/glass/beaker/large,
+/obj/item/reagent_containers/glass/beaker/large,
+/obj/item/reagent_containers/glass/beaker/large,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"HP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"HQ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"HS" = (
+/obj/item/vending_refill/coffee,
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/vending_refill/clothing,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"HU" = (
+/obj/structure/table/reinforced,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "hotelshopshutters";
+ name = "Commissary Shutters"
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"HW" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"HY" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"HZ" = (
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ia" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Ib" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ic" = (
+/obj/structure/table,
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Ig" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ii" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ij" = (
+/obj/structure/flora/ausbushes/fernybush,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"Ik" = (
+/obj/machinery/food_cart,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Im" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Io" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Is" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"It" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/item/toy/poolnoodle,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"Iv" = (
+/obj/machinery/door/airlock/external,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/dock)
+"Ix" = (
+/obj/structure/closet/cabinet,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Iz" = (
+/obj/structure/table,
+/obj/item/stack/rods{
+ amount = 60
+ },
+/obj/item/stack/sheet/plasteel/twenty,
+/obj/item/storage/part_replacer/bluespace,
+/obj/machinery/atmospherics/pipe/simple/supply/visible{
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"IB" = (
+/obj/machinery/button/door{
+ id = "Staff1";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"ID" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"IG" = (
+/obj/structure/chair/sofa/corp/corner{
+ dir = 4
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"IL" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/structure/chair/pew/right{
+ dir = 4
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"IM" = (
+/obj/machinery/chem_master/condimaster,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"IR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"IU" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"IX" = (
+/obj/machinery/camera{
+ c_tag = "Exhibitionist Suite West";
+ dir = 4;
+ network = list("hotel","exhibition")
+ },
+/obj/item/camera_film,
+/obj/item/camera,
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"IZ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Je" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Jf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Jg" = (
+/obj/structure/table/wood,
+/obj/item/candle{
+ pixel_x = 10;
+ pixel_y = 8
+ },
+/obj/item/candle{
+ pixel_x = 5;
+ pixel_y = 2
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"Jj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/stool/bar,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Jk" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 4
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Jl" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Jm" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/glass/bottle/crocin,
+/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Jo" = (
+/obj/machinery/door/airlock{
+ id_tag = "Staff2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Jq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Jt" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Jz" = (
+/obj/machinery/computer/atmos_control/tank/air_tank{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"JB" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"JF" = (
+/obj/item/reagent_containers/spray/cleaner,
+/obj/item/reagent_containers/glass/bucket,
+/obj/structure/table,
+/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"JG" = (
+/obj/structure/table/plasmaglass,
+/obj/item/storage/dice,
+/obj/item/toy/cards/deck,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"JI" = (
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"JL" = (
+/obj/machinery/photocopier,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"JO" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"JP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"JQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"JR" = (
+/obj/structure/table,
+/obj/item/storage/bag/tray,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"JS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"JU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"JV" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"JW" = (
+/obj/structure/table/wood/fancy/red,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"JX" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"JZ" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ka" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Kb" = (
+/obj/structure/sign/plaques/atmos{
+ pixel_x = -32
+ },
+/obj/machinery/rnd/production/protolathe/department/engineering,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Ke" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Kg" = (
+/obj/structure/chair/sofa/corp,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Kj" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/ruin/space/has_grav/hotel/power)
+"Kk" = (
+/obj/machinery/computer/atmos_control/tank/nitrogen_tank{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Kn" = (
+/obj/machinery/button/door{
+ id = "a7";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = -24;
+ specialfunctions = 4
+ },
+/obj/item/kirbyplants/random,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ko" = (
+/obj/item/toy/cattoy,
+/obj/item/toy/fluff/bone_poly,
+/obj/structure/table,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ks" = (
+/obj/machinery/vending/autodrobe/all_access,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ky" = (
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/reagent_containers/food/snacks/mint{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/item/bedsheet/black/double{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Kz" = (
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"KA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"KB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"KC" = (
+/obj/machinery/door/airlock{
+ id_tag = "a3";
+ name = "Guest Room A3"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"KF" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/statue/boney/ashwalker,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"KG" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"KH" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"KI" = (
+/obj/machinery/computer/security/telescreen{
+ icon = 'icons/obj/status_display.dmi';
+ icon_state = "entertainment";
+ network = list("thunder,exhibition")
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/guestroom)
+"KM" = (
+/obj/machinery/camera{
+ c_tag = "Rooms South";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"KN" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/structure/closet/secure_closet/medical2{
+ req_access = list(200)
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"KO" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"KR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"KU" = (
+/obj/item/rsf,
+/obj/structure/table/glass,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"KW" = (
+/obj/machinery/smartfridge/drying_rack,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Lb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Le" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Lo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Lp" = (
+/obj/machinery/button/door{
+ id = "a4";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = 24;
+ specialfunctions = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Lq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Lr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Ls" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Lt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Lx" = (
+/obj/structure/chair/sofa/corp{
+ dir = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Lz" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"LF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"LI" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"LK" = (
+/obj/item/storage/bag/trash,
+/obj/structure/table,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"LM" = (
+/obj/machinery/door/airlock/public/glass,
+/obj/machinery/door/firedoor,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"LP" = (
+/obj/machinery/button/door{
+ id = "Staff5";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"LQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"LR" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"LT" = (
+/obj/structure/chair/sofa/corp,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"LU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Mc" = (
+/obj/structure/bed/double,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"Mf" = (
+/obj/structure/table/wood,
+/obj/item/clipboard{
+ pixel_y = 3
+ },
+/obj/item/hand_labeler,
+/obj/item/stack/packageWrap,
+/obj/item/stamp{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/stamp/denied,
+/obj/item/storage/secure/safe{
+ pixel_x = -23
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Mg" = (
+/obj/structure/table/wood/fancy/royalblack,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Mi" = (
+/obj/structure/sign/directions/bar{
+ dir = 4;
+ pixel_x = 32;
+ pixel_y = 40
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Mj" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Mk" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ml" = (
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Mo" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/effect/spawner/bundle/costume/maid,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Mr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Mt" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Mv" = (
+/obj/machinery/ore_silo,
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"Mx" = (
+/obj/structure/table/glass,
+/obj/machinery/door/window/westleft{
+ dir = 4;
+ name = "Reception Desk";
+ req_access = null;
+ req_access_txt = "200"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Mz" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{
+ dir = 4
+ },
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"MB" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"MC" = (
+/mob/living/simple_animal/bot/cleanbot,
+/obj/machinery/vending/wardrobe/jani_wardrobe{
+ onstation = 0;
+ scan_id = 0
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"MF" = (
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"MG" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1;
+ name = "Air Outlet Pump"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"MO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"MR" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"MT" = (
+/obj/machinery/vending/hydronutrients{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"MW" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/curtain/goliath,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"MZ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"Ne" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Vault";
+ req_access_txt = "203"
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"Nf" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"Nk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Nn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"No" = (
+/obj/structure/mineral_door/paperframe{
+ name = "Changing Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Np" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/gold{
+ amount = 5
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"Nq" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/power)
+"Nr" = (
+/obj/structure/table/glass,
+/obj/item/reagent_containers/food/drinks/shaker{
+ pixel_x = -13
+ },
+/obj/item/reagent_containers/food/drinks/shaker{
+ pixel_x = -9
+ },
+/obj/item/reagent_containers/rag,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/machinery/light,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Ns" = (
+/obj/structure/girder,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Nu" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Nv" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Nw" = (
+/obj/machinery/vending/clothing{
+ onstation = 0
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Nz" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"ND" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 4
+ },
+/obj/structure/flora/ausbushes/ywflowers,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"NF" = (
+/obj/structure/table,
+/obj/structure/sign/warning/nosmoking/circle{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/machinery/camera{
+ c_tag = "Reception Staffroom";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/item/toy/crayon/spraycan,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"NG" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"NH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"NJ" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ pixel_x = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"NL" = (
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/machinery/computer/teleporter{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"NN" = (
+/obj/machinery/hydroponics/constructable,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"NR" = (
+/obj/structure/closet,
+/obj/item/restraints/handcuffs/cable,
+/obj/item/restraints/handcuffs/cable,
+/obj/item/dildo/knotted,
+/obj/item/clothing/mask/muzzle/ballgag,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"NS" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"NV" = (
+/obj/machinery/hydroponics/constructable,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"NW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/stool/bar,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"NX" = (
+/obj/machinery/chem_master/condimaster{
+ name = "CondiMaster Neo"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"NZ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Oa" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/mineral/titanium/fifty,
+/obj/item/stack/sheet/mineral/plastitanium/fifty,
+/obj/item/rtl,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Of" = (
+/obj/effect/turf_decal/weather/dirt{
+ dir = 5
+ },
+/obj/structure/flora/ausbushes/fernybush,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"Og" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Oj" = (
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"On" = (
+/obj/structure/window/reinforced,
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Oq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/wood/wood_large,
+/area/ruin/space/has_grav/hotel)
+"Os" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Ox" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Oy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"Oz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"OG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"OH" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/dock)
+"OJ" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/structure/chair/pew/left{
+ dir = 4
+ },
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"OM" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/ruin/space/has_grav/hotel/bar)
+"OP" = (
+/obj/structure/table/wood/fancy/blue,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"OQ" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 4
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"OR" = (
+/obj/machinery/hydroponics/constructable,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"OW" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Pa" = (
+/obj/structure/table/wood,
+/obj/item/bouquet/rose,
+/obj/item/candle{
+ pixel_x = 10;
+ pixel_y = 8
+ },
+/obj/item/candle{
+ pixel_x = 5;
+ pixel_y = 2
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"Pb" = (
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"Pc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ph" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/wood/wood_diagonal,
+/area/ruin/space/has_grav/hotel)
+"Pi" = (
+/obj/structure/chair/sofa/corp,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Pk" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/structure/closet/secure_closet/labor_camp_security{
+ name = "hotel security locker";
+ req_access = list(203)
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Pm" = (
+/obj/structure/chair/sofa/corp/left,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Pq" = (
+/obj/structure/table/wood,
+/obj/item/circuitboard/machine/quantumpad,
+/obj/item/circuitboard/machine/quantumpad,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"Pt" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/visible/layer1,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Pv" = (
+/obj/machinery/quantumpad,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"Pw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"Px" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Pz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"PC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{
+ dir = 4
+ },
+/turf/open/floor/engine/o2,
+/area/ruin/space/has_grav/hotel/power)
+"PD" = (
+/obj/machinery/computer/slot_machine,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"PF" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"PG" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"PI" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"PJ" = (
+/obj/machinery/washing_machine,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"PN" = (
+/obj/structure/chair/office/light,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"PP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"PT" = (
+/obj/machinery/vending/cola,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"PV" = (
+/obj/structure/table,
+/obj/item/kitchen/rollingpin,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"PX" = (
+/obj/item/milking_machine/penis,
+/obj/structure/table,
+/obj/item/pregnancytest,
+/obj/item/pregnancytest,
+/obj/effect/decal/cleanable/cobweb{
+ icon_state = "cobweb2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"PY" = (
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"Qa" = (
+/obj/structure/closet/crate/trashcart,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"Qc" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/red/double,
+/obj/item/toy/plush/borgplushie,
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Qg" = (
+/obj/structure/table/plasmaglass,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Qh" = (
+/obj/structure/grille,
+/turf/template_noop,
+/area/space/nearstation)
+"Qi" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/structure/sink/kitchen{
+ dir = 8;
+ pixel_x = 5
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Ql" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Qn" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Qq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Qs" = (
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 4;
+ name = "N2 Outlet Pump"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Qv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/bar)
+"Qw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Qz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"QB" = (
+/obj/structure/window/reinforced,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/table/glass,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"QC" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"QE" = (
+/obj/structure/toilet/secret/prison{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/security)
+"QI" = (
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/obj/effect/decal/cleanable/glass,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"QL" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/item/flashlight/lamp/green{
+ on = 0;
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"QP" = (
+/obj/machinery/vending/games{
+ onstation = 0
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"QQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"QV" = (
+/obj/structure/sign/directions/bar{
+ dir = 4;
+ pixel_x = 32;
+ pixel_y = 40
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"QW" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Staff Only";
+ req_access_txt = "200,201"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"QX" = (
+/obj/machinery/vending/wardrobe/sec_wardrobe{
+ onstation = 0
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"QZ" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Rg" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/away{
+ dir = 1;
+ name = "Guest Rooms APC";
+ pixel_y = 23
+ },
+/obj/effect/decal/cleanable/cobweb{
+ icon_state = "cobweb2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Rh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ri" = (
+/obj/machinery/button/door{
+ id = "hotelshopshutters";
+ name = "Commissary Shutters Control";
+ pixel_y = -23;
+ req_access_txt = null
+ },
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"Rk" = (
+/obj/machinery/button/door{
+ id = "manager";
+ name = "Privacy Shutters Control";
+ pixel_x = -9;
+ pixel_y = 21;
+ req_access_txt = "205"
+ },
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"Rn" = (
+/obj/structure/table/glass,
+/obj/item/paper/pamphlet/ruin/spacehotel,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Rp" = (
+/obj/structure/closet/crate,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Rq" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Rs" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"Rt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Rw" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Rz" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"RA" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"RB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"RC" = (
+/obj/machinery/computer/arcade/battle,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"RK" = (
+/obj/structure/mineral_door/paperframe{
+ name = "Changing Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"RL" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/structure/sign/poster/contraband/lusty_xenomorph{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/custodial)
+"RM" = (
+/obj/machinery/smartfridge,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"RP" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"RQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/item/chair/stool,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"RR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"RS" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"RT" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"RV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Sa" = (
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/custodial)
+"Sb" = (
+/obj/structure/table/wood/fancy/royalblack,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Sh" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Si" = (
+/obj/structure/table/wood,
+/obj/structure/bedsheetbin/towel,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/reagent_containers/rag/towel/random,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/item/clothing/under/misc/bathrobe,
+/obj/item/soap,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/machinery/button/door{
+ id = "penthouse";
+ name = "Privacy Shutters";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Sj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Sl" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Sn" = (
+/obj/structure/table/wood,
+/obj/item/paper_bin/carbon,
+/obj/item/pen/fountain,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"So" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"Su" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"Sv" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/effect/decal/cleanable/semen,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Sx" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"Sy" = (
+/obj/machinery/light/small,
+/turf/open/floor/engine/air,
+/area/ruin/space/has_grav/hotel/power)
+"Sz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"SA" = (
+/obj/machinery/atmospherics/components/trinary/filter/atmos/n2,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"SB" = (
+/obj/machinery/computer/arcade/orion_trail,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"SC" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/dock)
+"SE" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"SF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"SL" = (
+/obj/machinery/button/door{
+ id = "a5";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = -24;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"SM" = (
+/obj/machinery/button/door{
+ id = "a2";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = -24;
+ specialfunctions = 4
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"SN" = (
+/obj/machinery/portable_atmospherics/canister/water_vapor,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"SO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"SP" = (
+/obj/structure/flora/ausbushes/fernybush,
+/obj/effect/turf_decal/weather/dirt{
+ dir = 8
+ },
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"SQ" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Twin Spires Security";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"SS" = (
+/obj/structure/table/wood,
+/obj/item/toy/crayon/spraycan,
+/obj/machinery/button/door{
+ id = "a3";
+ name = "Door Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = 9;
+ specialfunctions = 4
+ },
+/obj/machinery/button/door{
+ id = "a3window";
+ name = "Window Shutters";
+ pixel_x = 9;
+ pixel_y = 9
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"SY" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ta" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Tc" = (
+/obj/machinery/vending/kink{
+ onstation = 0
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Te" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Tf" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/north{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Tg" = (
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel)
+"Th" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Ti" = (
+/obj/machinery/atmospherics/pipe/simple/supply/visible{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Tl" = (
+/obj/structure/toilet/secret/low_loot{
+ dir = 8
+ },
+/obj/structure/curtain,
+/obj/machinery/shower{
+ pixel_x = -1;
+ pixel_y = 19
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Tm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"To" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Tp" = (
+/obj/structure/chair/sofa/corp/corner,
+/obj/machinery/button/door{
+ id = "a2window";
+ name = "Privacy Shutters";
+ pixel_y = 23
+ },
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Tq" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Tr" = (
+/obj/structure/sign/departments/engineering,
+/obj/machinery/atmospherics/pipe/layer_manifold,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/power)
+"Ts" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Tu" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/machinery/vending/autodrobe/all_access,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Tx" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Tz" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"TB" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"TC" = (
+/obj/structure/sign/painting/library{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"TH" = (
+/obj/structure/closet/crate{
+ anchored = 1
+ },
+/obj/item/clothing/shoes/sandal,
+/obj/item/clothing/shoes/sandal,
+/obj/item/clothing/shoes/sandal,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"TI" = (
+/obj/machinery/chem_master,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"TL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel)
+"TO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"TP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"TQ" = (
+/obj/structure/table,
+/obj/item/soap,
+/obj/item/reagent_containers/rag/towel,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"TT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"TW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"TY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"TZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Ua" = (
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/machinery/button/door{
+ id = "Staff2";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Ud" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Uf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ui" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Uj" = (
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1
+ },
+/obj/machinery/power/apc/away{
+ dir = 3;
+ name = "Reception APC";
+ pixel_x = -25
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"Uk" = (
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/workroom)
+"Ul" = (
+/obj/machinery/button/door{
+ id = "Hotel Disposal Exit";
+ name = "Disposal Vent Control";
+ pixel_x = -25;
+ pixel_y = 4;
+ req_access_txt = "200"
+ },
+/obj/machinery/button/massdriver{
+ id = "hoteltrash";
+ pixel_x = -26;
+ pixel_y = -6
+ },
+/obj/structure/chair/stool,
+/obj/structure/disposalpipe/segment{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Um" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Un" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 8
+ },
+/obj/machinery/computer/security/telescreen{
+ name = "Exhibition Suite";
+ network = list("thunder,exhibition");
+ pixel_y = 27
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Uo" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Up" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Ur" = (
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Us" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"Uu" = (
+/obj/structure/filingcabinet,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"Uv" = (
+/obj/structure/dresser,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Uz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/turf/open/floor/carpet/green,
+/area/ruin/space/has_grav/hotel/guestroom)
+"UA" = (
+/obj/structure/toilet/secret/low_loot,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"UE" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"UG" = (
+/obj/structure/bed/double,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"UH" = (
+/obj/machinery/camera{
+ c_tag = "Vault";
+ dir = 6;
+ network = list("hotel")
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"UO" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"UQ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/visible{
+ dir = 4
+ },
+/obj/machinery/meter/atmos,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"UR" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"US" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"UT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/grunge{
+ name = "Club"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"UU" = (
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/guestroom)
+"UW" = (
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"Va" = (
+/obj/machinery/button/door{
+ id = "a1";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = 24;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/carpet/red,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Vb" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/brute,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Vc" = (
+/obj/machinery/teleport/hub,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+"Vd" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"Vg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/bar)
+"Vi" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"Vk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Vm" = (
+/obj/effect/spawner/structure/window/plasma/reinforced,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "penthouse";
+ name = "Privacy Shutters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Vp" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Vq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Vu" = (
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/obj/machinery/space_heater,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Vv" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
+"Vw" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Vx" = (
+/obj/machinery/door/airlock{
+ name = "Voyeurism Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Vy" = (
+/obj/structure/bed/double,
+/obj/item/bedsheet/cosmos/double,
+/obj/item/toy/plush/mothplushie,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Vz" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel/guestroom)
+"VA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"VC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"VD" = (
+/obj/structure/table/glass,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"VE" = (
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"VH" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"VI" = (
+/obj/effect/turf_decal/vg_decals/atmos/nitrogen,
+/turf/open/floor/engine/n2,
+/area/ruin/space/has_grav/hotel/power)
+"VL" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"VN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"VO" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/item/reagent_containers/glass/bucket,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"VU" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space/nearstation)
+"VX" = (
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"Wc" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/item/clothing/gloves/color/latex,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/clothing/suit/apron/surgical,
+/obj/item/clothing/suit/apron/surgical,
+/obj/item/reagent_containers/spray/cleaner{
+ pixel_x = 11
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Wd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 5;
+ pixel_y = -32
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"We" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
+"Wj" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Wk" = (
+/obj/effect/decal/cleanable/insectguts,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Wl" = (
+/obj/structure/table/plasmaglass,
+/obj/effect/decal/cleanable/glitter/white,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"Wm" = (
+/obj/machinery/button/door{
+ id = "a8";
+ name = "privacy button";
+ normaldoorcontrol = 1;
+ pixel_y = 24;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/blue,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Wo" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/semen,
+/obj/structure/reagent_dispensers/keg/semen,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Wr" = (
+/obj/structure/table,
+/obj/item/restraints/handcuffs,
+/obj/item/assembly/timer,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Wt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Wv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/purple,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Ww" = (
+/obj/machinery/chem_dispenser/drinks{
+ dir = 1
+ },
+/obj/structure/table/glass,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"WA" = (
+/obj/machinery/vending/hydroseeds{
+ onstation = 0;
+ slogan_delay = 700
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"WB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"WE" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Distro to Waste"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"WF" = (
+/obj/machinery/computer/rdconsole/production{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"WI" = (
+/obj/item/trash/candy,
+/obj/effect/decal/cleanable/cobweb{
+ icon_state = "cobweb2"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"WK" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"WL" = (
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"WM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/chair/sofa/corp/left{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"WQ" = (
+/obj/structure/chair/sofa/corp{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"WS" = (
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -6;
+ pixel_y = 4
+ },
+/obj/item/folder/red,
+/obj/item/pen,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"WU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"WV" = (
+/obj/structure/table,
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"WY" = (
+/obj/structure/table/wood/fancy/royalblack,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Xa" = (
+/obj/structure/chair/stool,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"Xb" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/multitool,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"Xg" = (
+/obj/item/vending_refill/kink,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Xh" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Hotel Maintenance";
+ req_access_txt = "200,201"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"Xj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Xn" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel)
+"Xo" = (
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"Xp" = (
+/obj/structure/window/reinforced/tinted{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Xr" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Xs" = (
+/obj/structure/table,
+/obj/item/storage/fancy/donut_box{
+ pixel_y = 10
+ },
+/obj/item/storage/fancy/donut_box{
+ pixel_y = -10
+ },
+/obj/item/storage/fancy/donut_box,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"Xw" = (
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
+"Xy" = (
+/obj/machinery/atmospherics/pipe/layer_manifold,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/power)
+"Xz" = (
+/obj/machinery/jukebox/disco/indestructible{
+ queuecost = 0
+ },
+/turf/open/floor/light/colour_cycle/dancefloor_b,
+/area/ruin/space/has_grav/hotel/bar)
+"XD" = (
+/obj/machinery/deepfryer,
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"XE" = (
+/obj/machinery/airalarm/directional/west{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel)
+"XF" = (
+/obj/structure/safe,
+/obj/item/stack/sheet/mineral/gold{
+ amount = 5
+ },
+/obj/item/stack/sheet/mineral/gold{
+ amount = 5
+ },
+/obj/item/stack/sheet/mineral/gold{
+ amount = 5
+ },
+/obj/item/stack/sheet/mineral/gold{
+ amount = 5
+ },
+/obj/item/stack/sheet/mineral/diamond{
+ amount = 10
+ },
+/obj/item/storage/bag/money/c5000,
+/obj/item/stack/spacecash/c1000,
+/obj/item/stack/spacecash/c100,
+/obj/item/stack/spacecash/c1000,
+/obj/item/stack/spacecash/c1000,
+/obj/item/stack/spacecash/c1000,
+/turf/open/floor/engine,
+/area/ruin/space/has_grav/hotel)
+"XH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"XJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Kitchen";
+ dir = 1;
+ network = list("hotel")
+ },
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/ruin/space/has_grav/hotel/bar)
+"XN" = (
+/obj/machinery/door/airlock{
+ id_tag = "a5";
+ name = "Guest Room A5"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"XP" = (
+/obj/structure/table/glass,
+/obj/machinery/chem_dispenser/drinks/beer{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"XQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/bar)
+"XR" = (
+/obj/machinery/vending/cola{
+ onstation = 0
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"XX" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"XY" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/machinery/camera{
+ c_tag = "Re-education";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/effect/spawner/bundle/costume/maid,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"XZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Ya" = (
+/obj/structure/table/plasmaglass,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"Yc" = (
+/obj/machinery/hypnochair,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Yf" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Yi" = (
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"Yj" = (
+/obj/machinery/pool/filter{
+ pixel_y = -17
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/guestroom)
+"Yk" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Yo" = (
+/turf/open/floor/carpet/blackred,
+/area/ruin/space/has_grav/hotel/workroom)
+"Yq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel)
+"Yr" = (
+/obj/effect/decal/cleanable/shreds,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Yt" = (
+/obj/item/milking_machine,
+/obj/structure/table,
+/obj/item/dildo/custom,
+/obj/item/dildo/custom,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Yw" = (
+/obj/structure/chair/sofa/corp/right{
+ dir = 4
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Yy" = (
+/obj/structure/table/plasmaglass,
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"YA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"YC" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"YD" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"YE" = (
+/obj/structure/cable/yellow{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"YI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"YJ" = (
+/obj/structure/sign/departments/custodian,
+/turf/closed/wall,
+/area/ruin/space/has_grav/hotel/custodial)
+"YM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"YN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/obj/machinery/light/small,
+/turf/open/floor/wood{
+ icon_state = "wood-broken4"
+ },
+/area/ruin/space/has_grav/hotel)
+"YT" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"YU" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/machinery/airalarm/directional/south{
+ req_access = null;
+ req_access_txt = "204"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/bar)
+"YW" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/workroom)
+"YX" = (
+/turf/open/floor/plating,
+/area/space/nearstation)
+"YZ" = (
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"Zd" = (
+/obj/structure/table/glass,
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/dock)
+"Ze" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"Zh" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/glass,
+/area/ruin/space/has_grav/hotel/bar)
+"Zi" = (
+/obj/machinery/pool/drain,
+/turf/open/pool,
+/area/ruin/space/has_grav/hotel)
+"Zj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel)
+"Zl" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/machinery/light/small{
+ brightness = 3;
+ dir = 8
+ },
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
+"Zp" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering North";
+ dir = 6;
+ network = list("hotel")
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/binary/pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Zq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/workroom)
+"Zs" = (
+/obj/structure/chair/stool/bar,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/bar)
+"Zt" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Power Storage";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/power)
+"Zu" = (
+/obj/structure/table/glass,
+/obj/machinery/reagentgrinder,
+/turf/open/floor/plasteel/showroomfloor,
+/area/ruin/space/has_grav/hotel/bar)
+"Zx" = (
+/turf/open/floor/plasteel/vaporwave,
+/area/ruin/space/has_grav/hotel/bar)
+"Zy" = (
+/obj/structure/grille,
+/obj/structure/grille,
+/turf/closed/wall/r_wall,
+/area/ruin/space/has_grav/hotel/power)
+"Zz" = (
+/obj/machinery/camera{
+ c_tag = "Rooms West";
+ dir = 1;
+ network = list("hotel")
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ZD" = (
+/turf/open/space/basic,
+/area/space/nearstation)
+"ZH" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken4"
+ },
+/area/ruin/space/has_grav/hotel)
+"ZJ" = (
+/obj/structure/flora/tree/jungle/small,
+/turf/open/floor/grass,
+/area/ruin/space/has_grav/hotel)
+"ZL" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
+"ZM" = (
+/obj/machinery/light,
+/turf/open/floor/carpet/black,
+/area/ruin/space/has_grav/hotel/dock)
+"ZO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/wood,
+/area/ruin/space/has_grav/hotel)
+"ZP" = (
+/obj/structure/table/glass,
+/obj/machinery/chem_dispenser/drinks/beer{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Bar";
+ dir = 4;
+ network = list("hotel")
+ },
+/turf/open/floor/wood/wood_tiled,
+/area/ruin/space/has_grav/hotel/bar)
+"ZQ" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/carpet/royalblack,
+/area/ruin/space/has_grav/hotel/guestroom)
+"ZY" = (
+/obj/machinery/door/airlock/grunge{
+ name = "Hotel Staff Room";
+ req_access_txt = "200"
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/workroom)
+
+(1,1,1) = {"
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+jy
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(2,1,1) = {"
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+LR
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+IZ
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(3,1,1) = {"
+Ek
+jy
+jy
+jy
+Ek
+mF
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+mF
+oc
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+Tg
+Tg
+Tg
+Tg
+fy
+fy
+fy
+fy
+fy
+fy
+fy
+fy
+Zy
+oc
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+Ek
+Ek
+"}
+(4,1,1) = {"
+jy
+mG
+mG
+jy
+Ek
+aN
+Ek
+Ek
+mG
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+oc
+af
+rG
+Ix
+af
+rG
+Ix
+af
+rG
+Ix
+af
+rG
+Ix
+af
+rG
+Ix
+af
+rf
+GG
+af
+Tg
+WV
+Xb
+ce
+fy
+Pb
+hf
+Pb
+fy
+wD
+tI
+wD
+fy
+oc
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+mG
+jy
+Ek
+"}
+(5,1,1) = {"
+jy
+Ek
+LR
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+wx
+dh
+af
+Oj
+IB
+af
+Oj
+Ua
+af
+Oj
+GU
+af
+Oj
+Ht
+af
+Oj
+LP
+af
+oU
+FT
+bb
+Tg
+UH
+sm
+sm
+fy
+Pb
+HM
+Pb
+fy
+wD
+Gh
+wD
+fy
+oc
+Ek
+Ek
+Ek
+Us
+Ek
+Ek
+Us
+Ek
+Ek
+Us
+Ek
+Ek
+Us
+Ek
+jy
+Ek
+"}
+(6,1,1) = {"
+jy
+Ek
+oc
+af
+CM
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+sL
+af
+af
+Jo
+af
+af
+FP
+af
+af
+lk
+af
+af
+ci
+af
+af
+WI
+Oj
+Oj
+Ne
+sm
+sm
+XF
+fy
+CX
+VI
+cu
+fy
+Mz
+jt
+PC
+fy
+oc
+Ek
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+jy
+Ek
+"}
+(7,1,1) = {"
+jy
+Ek
+oc
+af
+sI
+dP
+Ul
+Cy
+nJ
+iw
+ud
+DQ
+Bz
+vx
+hE
+lP
+JO
+RS
+ao
+Oj
+Oj
+Oj
+QI
+Oj
+Oj
+sv
+Oj
+hH
+HS
+Oj
+jj
+Vu
+qG
+Zl
+by
+af
+af
+VH
+Tg
+sm
+sm
+HJ
+fy
+Cl
+Nq
+Cl
+fy
+Cl
+Nq
+Cl
+fy
+oc
+Ek
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+jy
+Ek
+"}
+(8,1,1) = {"
+jy
+Qh
+oc
+af
+vT
+dP
+Bb
+Vq
+af
+kk
+Vp
+pH
+pH
+YM
+HW
+af
+oU
+Oj
+TB
+oU
+Oj
+Oj
+Oj
+Oj
+Oj
+eW
+Oj
+Xg
+cw
+oU
+Oj
+Yr
+Oj
+Oj
+DE
+Oj
+oU
+oU
+Tg
+Mv
+Np
+Cr
+tH
+VU
+UR
+VU
+UR
+VU
+UR
+VU
+YX
+Vv
+wx
+IZ
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+jy
+Ek
+"}
+(9,1,1) = {"
+jy
+Ek
+oc
+af
+vT
+aL
+nD
+FX
+af
+ip
+Zj
+hz
+MB
+Ic
+xO
+af
+qG
+HE
+TB
+Oj
+Wk
+oU
+Sl
+WL
+Hh
+WQ
+Oj
+Oj
+qG
+eR
+sz
+FU
+dc
+Da
+FU
+oU
+Oj
+FH
+Tg
+tH
+tH
+tH
+tH
+EP
+Nq
+EP
+Nq
+EP
+Nq
+EP
+tj
+tj
+tj
+oc
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+Ek
+Rs
+Ek
+mG
+jy
+"}
+(10,1,1) = {"
+jy
+Ek
+oc
+af
+vT
+Oj
+pc
+jj
+af
+dF
+Rq
+Ej
+Ej
+Ej
+Gm
+af
+Ud
+Ns
+dl
+mv
+vs
+on
+Sz
+Jf
+kE
+WM
+zd
+sd
+Wj
+Pz
+mv
+RQ
+Jj
+NW
+bo
+WB
+mv
+Dk
+dj
+tj
+WF
+Kb
+ED
+SA
+Kk
+Qs
+zi
+vL
+gU
+rw
+Av
+fz
+vC
+uM
+LI
+We
+LI
+LI
+We
+LI
+LI
+We
+LI
+LI
+We
+Hf
+mG
+BN
+"}
+(11,1,1) = {"
+jy
+Ek
+oc
+af
+vT
+cz
+hM
+jj
+af
+MB
+UO
+cQ
+PJ
+PJ
+tw
+Mk
+Rg
+by
+Xj
+nf
+nf
+nf
+nf
+nf
+nf
+nf
+nf
+nf
+Ak
+nf
+oy
+nf
+nf
+nf
+nf
+nf
+nf
+nf
+Oz
+tj
+fF
+vh
+Nn
+vh
+vh
+EJ
+sl
+Up
+Bc
+po
+Fj
+tj
+tj
+Kj
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+mG
+jy
+"}
+(12,1,1) = {"
+jy
+mG
+oc
+af
+nt
+Dy
+af
+af
+af
+af
+sE
+af
+af
+af
+af
+Mk
+Mk
+Mk
+Xj
+nf
+GD
+Eh
+tM
+nf
+uH
+wA
+sB
+uP
+jF
+nf
+VE
+rx
+Je
+KU
+jX
+xu
+TI
+nf
+Eq
+Tr
+ej
+BW
+Vk
+tW
+vh
+vh
+Um
+hv
+hv
+aF
+Bo
+tj
+Ek
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+jy
+Ek
+"}
+(13,1,1) = {"
+jy
+Ek
+oc
+Mk
+Mk
+Mk
+Mk
+xz
+RA
+zn
+ZQ
+Uo
+Mk
+aS
+gs
+Jk
+OQ
+Mk
+rC
+nf
+GD
+Jq
+ga
+nf
+uT
+wA
+pC
+ir
+WU
+EF
+VE
+VE
+Di
+VD
+Zu
+WK
+HN
+qO
+Le
+Zt
+bI
+WE
+PP
+pE
+al
+zL
+gA
+EJ
+fS
+fy
+fy
+fy
+fy
+Zy
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+jy
+Ek
+"}
+(14,1,1) = {"
+jy
+Ek
+oc
+Mk
+eI
+ln
+Mk
+pg
+RA
+RA
+dH
+pO
+vR
+wR
+hx
+CI
+yp
+Mk
+Xj
+nf
+xh
+JP
+lt
+nf
+XD
+wA
+wA
+gQ
+jF
+nf
+VE
+be
+HP
+FG
+ty
+xr
+ty
+wv
+Pt
+Xy
+Zp
+UQ
+Ti
+my
+Rp
+uu
+GI
+vh
+EJ
+rq
+nn
+jH
+jH
+fy
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+jy
+Ek
+"}
+(15,1,1) = {"
+jy
+Ek
+oc
+Mk
+sJ
+Mk
+Mk
+Mk
+Mk
+Og
+mN
+RA
+Mk
+Wm
+SY
+gs
+Ui
+Mk
+VN
+nf
+vt
+EM
+Qi
+nf
+Nf
+wA
+wA
+PV
+XJ
+nf
+EF
+rV
+qO
+nf
+nf
+nf
+nf
+nf
+QV
+tj
+qf
+vh
+fH
+YE
+mi
+ds
+dm
+vh
+Jz
+Nq
+oV
+ra
+Sy
+fy
+Ek
+DF
+Ek
+Ek
+DF
+Ek
+Ek
+DF
+Ek
+Ek
+DF
+Ek
+jy
+Ek
+"}
+(16,1,1) = {"
+jy
+Ek
+oc
+Mk
+vi
+Mk
+zR
+lV
+Mk
+vD
+ZQ
+RA
+Mk
+vi
+Mk
+Be
+OP
+Mk
+Xj
+nf
+wZ
+JP
+lW
+nf
+jh
+wA
+pZ
+JR
+jF
+nf
+VE
+VE
+EU
+ZP
+lw
+EW
+Ke
+nf
+Wd
+tj
+Gv
+Oa
+Iz
+GW
+hy
+jz
+SO
+qM
+MG
+rq
+sF
+jH
+jH
+fy
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+Cx
+jy
+Ek
+"}
+(17,1,1) = {"
+jy
+Ek
+oc
+Mk
+bP
+gn
+rL
+Kn
+Mk
+RA
+ZQ
+RA
+Mk
+lx
+Mk
+Mk
+Mk
+Mk
+Xj
+nf
+GD
+Ka
+TP
+pq
+HC
+Gg
+Hx
+dA
+LF
+xK
+Vd
+Mj
+EI
+AH
+AH
+fh
+yr
+nC
+IU
+tj
+tj
+tj
+tj
+tj
+tj
+tj
+tj
+tj
+tj
+fy
+fy
+fy
+fy
+fy
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+mG
+Ek
+Ek
+eY
+jy
+Ek
+Ek
+"}
+(18,1,1) = {"
+jy
+mG
+oc
+Mk
+sr
+Rh
+Rh
+Uz
+mW
+pO
+jk
+iX
+Mk
+fV
+ln
+Mk
+vZ
+Mk
+Xj
+nf
+lb
+Ik
+NX
+nf
+rs
+gC
+HC
+jC
+xF
+db
+Ho
+VE
+DL
+VE
+VE
+AE
+VE
+nf
+cH
+xb
+mv
+Dk
+nv
+qG
+hQ
+Oj
+Hj
+NR
+va
+va
+va
+va
+va
+uq
+uq
+uq
+uq
+uq
+uq
+uq
+uq
+mG
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(19,1,1) = {"
+jy
+Ek
+oc
+Mk
+Fo
+kn
+rL
+rp
+Mk
+RA
+ZQ
+Zz
+Mk
+Mk
+Mk
+Mk
+qi
+Mk
+Xj
+nf
+nf
+nf
+nf
+nf
+fu
+kh
+wA
+RM
+nf
+nf
+kz
+Mg
+Mg
+Mg
+Mg
+Mg
+GH
+nf
+nf
+nf
+nf
+nf
+QV
+Oj
+af
+wg
+uN
+BM
+kX
+Th
+JZ
+tg
+Nz
+hA
+KH
+rY
+va
+AX
+hn
+dR
+uq
+mG
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(20,1,1) = {"
+jy
+Ek
+oc
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+bF
+dH
+pO
+iG
+tv
+gP
+Mk
+vi
+Mk
+Xj
+nf
+MT
+Xo
+Xo
+bw
+Xo
+Lo
+Xo
+ER
+nf
+mg
+vG
+HD
+HD
+HD
+HD
+HD
+mz
+Ts
+BZ
+vG
+vG
+nf
+rK
+Ag
+af
+xa
+Wo
+HE
+va
+Lz
+jE
+Wr
+xR
+op
+FZ
+Af
+vu
+Te
+Ze
+ZL
+uq
+mG
+mG
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(21,1,1) = {"
+jy
+Ek
+oc
+Mk
+IG
+Eb
+yU
+GM
+Mk
+RA
+ZQ
+RA
+Mk
+Va
+EH
+Uv
+Hp
+Mk
+rC
+nf
+WA
+Xo
+OR
+OR
+OR
+NV
+Lb
+YU
+nf
+AQ
+AQ
+AQ
+YA
+VA
+VA
+VA
+Qq
+Zs
+Aj
+gz
+kJ
+rk
+HF
+Oj
+af
+af
+af
+af
+va
+fX
+KR
+WS
+Xs
+Cm
+Is
+uL
+va
+ap
+QC
+Bp
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(22,1,1) = {"
+jy
+Ek
+oc
+kQ
+Cw
+JG
+Jt
+yU
+Mk
+RA
+ZQ
+RA
+Mk
+GP
+ry
+HZ
+df
+Mk
+Xj
+nf
+sk
+KG
+TW
+TW
+TW
+lq
+Xo
+GB
+nf
+AQ
+AQ
+AQ
+XH
+AQ
+AQ
+AQ
+AQ
+AQ
+Ts
+iA
+Fy
+nf
+Oz
+Oj
+OW
+kb
+qG
+Oj
+eQ
+bg
+jE
+jE
+eV
+jE
+BH
+mx
+va
+va
+va
+va
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(23,1,1) = {"
+jy
+Ek
+oc
+kQ
+au
+wb
+uo
+Wv
+wY
+Lt
+ID
+RA
+Mk
+wl
+JW
+HZ
+HZ
+Mk
+VN
+hg
+xH
+Lo
+OR
+OR
+OR
+NN
+Xo
+Xo
+nf
+AQ
+tS
+xe
+Ii
+tF
+bS
+AQ
+PY
+PY
+AQ
+XH
+Fy
+nf
+MO
+Dk
+mv
+kB
+mv
+jr
+SQ
+MR
+GR
+FO
+RP
+FO
+GR
+vn
+qY
+mr
+KO
+Fe
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(24,1,1) = {"
+jy
+mG
+oc
+kQ
+LT
+sj
+vf
+SM
+Mk
+RA
+ZQ
+RA
+Mk
+mB
+nS
+HZ
+Qc
+Mk
+yZ
+Qv
+Ea
+Lo
+Xo
+Xo
+Xo
+Lo
+Xo
+IM
+nf
+AQ
+Kg
+Qg
+BT
+Qg
+qQ
+AQ
+PY
+PY
+Ts
+tQ
+Io
+nf
+Ta
+fd
+fd
+fd
+fd
+Eg
+va
+eO
+GY
+eO
+va
+eO
+GY
+eO
+va
+Tf
+pb
+Eu
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(25,1,1) = {"
+jy
+Ek
+oc
+Mk
+Tp
+fP
+Pc
+yU
+Mk
+Qn
+ZQ
+Uo
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+Xj
+nf
+nf
+Lo
+Xo
+nf
+KW
+em
+QQ
+fD
+nf
+iM
+yS
+Vi
+XQ
+Ib
+ec
+AQ
+PY
+PY
+Ts
+rm
+fK
+nf
+Zq
+Gj
+Vb
+ue
+fd
+rK
+va
+Ep
+Fn
+mw
+va
+Ep
+Fn
+mw
+va
+jV
+ae
+cC
+uq
+mG
+mG
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(26,1,1) = {"
+jy
+Ek
+oc
+Mk
+lQ
+aD
+Pc
+sb
+Mk
+vD
+ZQ
+RA
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+VN
+nf
+Ec
+Lo
+VO
+nf
+nf
+RM
+Bq
+nf
+nf
+ug
+AQ
+AQ
+ux
+AQ
+AQ
+AQ
+PY
+PY
+Ts
+rH
+lG
+nf
+Nk
+uV
+JU
+aA
+fd
+zF
+va
+aK
+LU
+Jl
+va
+aK
+LU
+Jl
+va
+Pk
+gd
+QX
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+"}
+(27,1,1) = {"
+jy
+Ek
+oc
+Mk
+Mk
+cq
+iv
+ht
+Mk
+Og
+mN
+RA
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+rC
+nf
+xU
+Mr
+He
+nf
+bH
+Zx
+bZ
+Gw
+nf
+Cz
+AQ
+cO
+Dl
+cO
+AQ
+AQ
+PY
+PY
+AQ
+ux
+Tq
+nf
+nB
+Zq
+Ur
+cG
+fd
+Dt
+va
+yb
+nw
+QE
+va
+yb
+nw
+QE
+va
+pT
+gK
+vr
+uq
+Ek
+Ek
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(28,1,1) = {"
+jy
+mG
+oc
+Mk
+UA
+NJ
+iz
+ln
+Mk
+RA
+ZQ
+RA
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+VN
+nf
+CC
+yQ
+Ck
+nf
+aY
+kI
+ep
+Ri
+nf
+AQ
+AQ
+AQ
+AQ
+AQ
+AQ
+AQ
+PY
+PY
+AQ
+ux
+AQ
+nf
+uZ
+Zq
+Ur
+zk
+fd
+Oz
+va
+va
+va
+va
+va
+va
+va
+va
+va
+va
+ez
+uq
+uq
+uq
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(29,1,1) = {"
+jy
+Ek
+oc
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+RA
+Px
+jv
+Vz
+Vz
+Vz
+Vz
+Vz
+Mk
+Ak
+nf
+oD
+oD
+oD
+nf
+nf
+HU
+bO
+bO
+nf
+AQ
+tS
+xe
+vG
+tF
+bS
+AQ
+PY
+PY
+AQ
+ux
+ee
+nf
+nB
+Lq
+rA
+Wc
+fd
+Oz
+YC
+mh
+YJ
+MC
+Gu
+ly
+Ap
+ts
+va
+Yc
+tJ
+xf
+fM
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(30,1,1) = {"
+jy
+Ek
+oc
+Mk
+SS
+IX
+Ks
+en
+Mk
+RA
+ZQ
+gk
+gk
+gk
+xW
+gk
+gk
+LM
+Dx
+iC
+ku
+ku
+ku
+XE
+Su
+ku
+ku
+ku
+nf
+AQ
+Kg
+Qg
+Qg
+Qg
+qQ
+AQ
+PY
+PY
+AQ
+vb
+oM
+nf
+Ur
+Bv
+Ur
+yJ
+fd
+Eo
+mv
+jr
+qV
+gx
+RB
+qE
+uy
+DR
+va
+Mo
+Fn
+mw
+AI
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(31,1,1) = {"
+jy
+Ek
+oc
+ls
+UU
+UU
+UU
+yA
+Mk
+RA
+YD
+RR
+RR
+RR
+nQ
+RA
+KM
+Mk
+Dx
+oz
+yq
+RC
+Xa
+kG
+Xa
+PD
+Xa
+Dm
+nf
+iM
+cn
+Fz
+vG
+Ib
+ec
+AQ
+AQ
+AQ
+AQ
+Os
+qQ
+cl
+Ur
+KN
+rc
+er
+fd
+jS
+Oj
+Dt
+Sa
+CN
+Ef
+mQ
+Ef
+JX
+va
+XY
+Sv
+Lr
+Db
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(32,1,1) = {"
+jy
+Ek
+oc
+ls
+UU
+yB
+UU
+ol
+KC
+pO
+gV
+gk
+gk
+gk
+gk
+gk
+gk
+LM
+Dx
+oz
+yv
+SB
+Xa
+zY
+Xa
+PD
+Xa
+to
+nf
+AQ
+AQ
+AQ
+Bg
+AQ
+AQ
+AQ
+Bg
+AQ
+AQ
+VL
+ec
+nf
+FE
+fd
+fd
+fd
+fd
+fd
+qG
+Oz
+Sa
+JF
+Qa
+RL
+hm
+LK
+va
+AG
+DV
+DV
+lj
+uq
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(33,1,1) = {"
+jy
+Ek
+oc
+ls
+UU
+UU
+UU
+gu
+Mk
+RA
+ZQ
+RA
+Vz
+Vz
+Vz
+Vz
+Vz
+KI
+Dx
+oz
+yv
+ku
+ku
+ku
+ku
+ku
+ku
+to
+nf
+nf
+nf
+nf
+nf
+zo
+zo
+nf
+nf
+nf
+CL
+nf
+nf
+nf
+vG
+HD
+do
+cP
+Ww
+fd
+Oj
+Wd
+Sa
+Sa
+Sa
+Sa
+Sa
+fd
+fd
+jf
+Uk
+Uk
+Uk
+Uk
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(34,1,1) = {"
+jy
+mG
+iY
+Mk
+Uf
+xc
+oK
+zT
+Mk
+vD
+Xr
+RA
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+dy
+oC
+yM
+oz
+oz
+oz
+oz
+oz
+oz
+rD
+oz
+TC
+xY
+TC
+iC
+oz
+oz
+ib
+tS
+xe
+vG
+vG
+Sh
+js
+vG
+HD
+BG
+VC
+XP
+fd
+Oj
+Eg
+fd
+PT
+wq
+of
+ul
+fd
+iB
+NH
+fd
+dr
+Dq
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(35,1,1) = {"
+jy
+Ek
+iY
+Mk
+pd
+Mk
+ls
+ls
+Mk
+RA
+ZQ
+RA
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+ea
+wp
+zm
+ki
+mA
+XX
+mA
+mA
+mA
+Yk
+ki
+mA
+mA
+mA
+mA
+SF
+xI
+mL
+Pm
+DW
+vG
+AQ
+AQ
+dQ
+vG
+HD
+zx
+kp
+Nr
+fd
+Mi
+st
+rS
+gm
+EX
+gm
+FY
+vI
+vN
+JB
+fd
+Kz
+OG
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(36,1,1) = {"
+jy
+Ek
+iY
+Mk
+vi
+Mk
+Un
+yh
+Mk
+RA
+Px
+jv
+Vz
+ZD
+ZD
+ZD
+ZD
+Mk
+af
+af
+af
+af
+oz
+XZ
+af
+af
+af
+af
+af
+af
+af
+af
+oz
+cK
+NS
+nf
+oE
+vG
+AQ
+Ts
+Zh
+AQ
+AQ
+dQ
+BG
+sV
+jJ
+fd
+Oj
+rC
+fd
+AO
+td
+Es
+NL
+fd
+HQ
+yc
+fd
+rR
+cN
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(37,1,1) = {"
+jy
+Ek
+iY
+Mk
+UE
+Mk
+EL
+eP
+Vx
+pO
+gV
+RA
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+wk
+Dh
+AW
+af
+oz
+TO
+af
+AW
+Dh
+wk
+af
+gD
+TQ
+af
+oz
+cK
+QP
+nf
+Ce
+AQ
+Ts
+Ya
+Ya
+Ya
+Ts
+AQ
+ql
+DJ
+he
+Xh
+eg
+Ig
+fd
+lc
+yc
+PG
+xS
+fd
+fd
+wK
+fd
+fd
+xZ
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(38,1,1) = {"
+jy
+mG
+iY
+Mk
+Tl
+Mk
+mP
+kW
+Mk
+RA
+dH
+pO
+Fx
+pO
+ES
+Sb
+gM
+Mk
+pt
+pJ
+Dc
+af
+oz
+XZ
+af
+pt
+pJ
+Dc
+af
+PI
+aR
+tG
+oP
+Ah
+nf
+nf
+qe
+AQ
+fi
+Ya
+hN
+Hz
+Zh
+ee
+fd
+Fh
+fd
+fd
+SE
+fd
+fd
+hq
+yc
+PG
+Vc
+fd
+vQ
+Mt
+Sn
+Mf
+Tm
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(39,1,1) = {"
+jy
+Ek
+iY
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+yD
+mN
+RA
+Mk
+Lp
+Gl
+WY
+bv
+Mk
+hz
+pX
+DM
+No
+oP
+Yf
+lB
+DM
+NZ
+yV
+af
+xQ
+ng
+af
+Ox
+cK
+nf
+tq
+wL
+AQ
+vW
+Hz
+Ya
+Ya
+OM
+AQ
+fd
+Jm
+sH
+CW
+mH
+Nw
+fd
+sZ
+yc
+PG
+FB
+fd
+sV
+Hs
+ew
+cV
+dq
+Uk
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(40,1,1) = {"
+jy
+Ek
+iY
+Mk
+GQ
+ln
+Mk
+xA
+Mk
+vD
+ZQ
+RA
+Mk
+Nu
+dW
+gk
+gk
+Mk
+FC
+af
+af
+af
+MW
+MW
+af
+af
+af
+RK
+af
+af
+af
+af
+CJ
+ti
+dd
+Sj
+AQ
+bL
+vW
+bL
+Ya
+vW
+vW
+vW
+fd
+fc
+EE
+fe
+Rt
+Tu
+fd
+NF
+uk
+Dp
+rn
+fd
+Kz
+PN
+Cq
+bi
+sV
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(41,1,1) = {"
+jy
+Ek
+iY
+Mk
+Tx
+Mk
+Mk
+Mk
+Mk
+Qn
+ZQ
+rZ
+Mk
+gk
+dW
+gk
+gk
+Mk
+uz
+Bl
+lU
+IL
+zZ
+zZ
+OJ
+KF
+hF
+qH
+af
+gD
+TQ
+af
+aj
+eB
+nf
+AQ
+vW
+vW
+Xz
+BO
+Wl
+Ya
+Ya
+BD
+ow
+Yy
+Yy
+lv
+sV
+sU
+fd
+bK
+bs
+PG
+ld
+fd
+zb
+PN
+xl
+Rk
+sV
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(42,1,1) = {"
+jy
+Ek
+iY
+Mk
+vi
+Mk
+HI
+Uf
+XN
+pO
+gV
+RA
+Mk
+uE
+ey
+yy
+mk
+Mk
+uz
+eT
+qg
+eX
+Zi
+Zi
+UW
+qD
+HL
+qH
+af
+PI
+aR
+tG
+oP
+Yq
+UT
+RV
+AQ
+qJ
+vW
+bL
+Ya
+vW
+vW
+vW
+fd
+sV
+sV
+Tz
+sV
+sV
+ZY
+PG
+co
+PG
+Pq
+fd
+YW
+AD
+Yo
+Yo
+sV
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(43,1,1) = {"
+jy
+Ek
+iY
+Mk
+cA
+IR
+th
+SL
+Mk
+RA
+ZQ
+Uo
+Mk
+Mk
+Mk
+Mk
+Mk
+Mk
+uz
+HL
+yX
+UW
+UW
+UW
+UW
+qD
+HL
+qH
+af
+xQ
+ng
+af
+Ox
+cK
+nf
+ke
+AQ
+AQ
+vW
+Ya
+Ya
+Ya
+OM
+wL
+fd
+wN
+lE
+wG
+Tc
+Tc
+fd
+PG
+co
+PG
+DH
+fd
+Ls
+dM
+Im
+Uu
+JL
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(44,1,1) = {"
+jy
+mG
+iY
+Mk
+JI
+TY
+Vy
+CK
+Mk
+RA
+ZQ
+RA
+Mk
+rr
+dI
+Ky
+QL
+Mk
+uz
+HL
+eq
+Ex
+Ex
+Ex
+It
+Gc
+HL
+qH
+af
+af
+af
+af
+CJ
+cK
+nf
+nf
+js
+AQ
+Zh
+Hz
+hN
+Ya
+Zh
+ee
+fd
+fd
+fd
+fd
+fd
+fd
+fd
+fd
+CS
+qr
+fd
+fd
+vE
+xk
+vE
+vE
+vE
+Uk
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(45,1,1) = {"
+jy
+Ek
+iY
+Mk
+JI
+jR
+gg
+Aw
+Mk
+Mk
+mU
+Mk
+Mk
+KA
+xq
+xq
+xq
+Mk
+hT
+qh
+DY
+Oq
+DY
+DY
+BJ
+DY
+MZ
+EZ
+af
+um
+fO
+tG
+oP
+Ah
+Ql
+nf
+Ce
+AQ
+Ts
+Ya
+Ya
+Ya
+nO
+AQ
+qo
+nl
+Yw
+FK
+wV
+wV
+zt
+Uj
+qy
+nj
+hj
+QB
+gW
+gW
+FK
+ic
+qI
+qo
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(46,1,1) = {"
+jy
+Ek
+iY
+lR
+UU
+Am
+cm
+rF
+Mk
+FN
+sx
+ax
+oa
+zl
+Wt
+Wt
+TT
+Mk
+TH
+qH
+Xn
+DK
+UG
+UG
+Mc
+Xn
+qH
+fa
+af
+JV
+kv
+af
+oz
+cK
+Fq
+nf
+oE
+ne
+AQ
+Ts
+Zh
+AQ
+AQ
+AQ
+qo
+Pi
+Zd
+FK
+gW
+gW
+sw
+de
+eo
+TZ
+DS
+On
+gW
+gW
+FK
+Zd
+lN
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(47,1,1) = {"
+jy
+cb
+iY
+lR
+UU
+UU
+wI
+Lx
+Mk
+im
+gq
+yG
+yG
+yG
+yG
+yG
+kj
+Mk
+af
+mC
+af
+af
+af
+af
+af
+af
+mC
+af
+af
+af
+af
+af
+oz
+cK
+NS
+ib
+aw
+bD
+vG
+AQ
+wL
+AQ
+BP
+oM
+qo
+Pi
+Zd
+FK
+gW
+gW
+CR
+Mx
+Dd
+hB
+hX
+nP
+gW
+gW
+FK
+Zd
+lN
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(48,1,1) = {"
+jy
+mG
+iY
+lR
+aT
+UU
+UU
+hu
+Mk
+DD
+To
+Ml
+FN
+ig
+EG
+uw
+wm
+Mk
+lA
+qK
+iL
+af
+YZ
+yP
+af
+iL
+qK
+lA
+af
+wF
+wX
+wX
+wX
+JQ
+NS
+nf
+cn
+Fz
+vG
+zv
+vm
+vG
+Cc
+ec
+qo
+na
+Zd
+FK
+gW
+gW
+FK
+FK
+KB
+FK
+FK
+FK
+gW
+gW
+FK
+Zd
+Ft
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(49,1,1) = {"
+jy
+Ek
+iY
+Mk
+lR
+lR
+lR
+lR
+Mk
+Vm
+Vm
+Vm
+Mk
+Mk
+Mk
+Mk
+vc
+Mk
+iL
+vd
+GX
+Ph
+US
+YI
+HY
+iL
+vV
+iL
+af
+Yi
+yf
+yf
+yP
+cK
+iU
+nf
+nf
+nf
+nf
+nf
+rE
+nf
+Vg
+nf
+qo
+iy
+FK
+FK
+gW
+gW
+FK
+FK
+KB
+FK
+FK
+FK
+gW
+gW
+FK
+FK
+bp
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(50,1,1) = {"
+jy
+Ek
+Nv
+LI
+LI
+LI
+LI
+Fb
+Ek
+Ek
+Ek
+Ek
+Mk
+lz
+kt
+MF
+PF
+Mk
+iP
+rd
+Hw
+af
+yP
+ZO
+af
+AB
+cL
+zP
+af
+dT
+bR
+oz
+yP
+cK
+Bj
+iC
+xY
+oz
+uX
+vy
+iC
+oz
+rD
+xY
+bj
+gW
+gW
+gW
+io
+qo
+Pv
+gW
+tf
+gW
+gW
+di
+qo
+SC
+gW
+gW
+EN
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(51,1,1) = {"
+jy
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Mk
+xX
+Xp
+lC
+zW
+Mk
+cg
+Pa
+Jg
+af
+vK
+YN
+af
+cg
+Pa
+Jg
+af
+fb
+mK
+lD
+Oy
+LQ
+Ga
+mA
+mA
+mA
+Yk
+mA
+mA
+mA
+qW
+rJ
+TL
+qk
+So
+zO
+Rz
+zO
+zO
+zO
+oH
+zO
+zO
+zO
+zO
+Pw
+nR
+Qz
+uF
+qo
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(52,1,1) = {"
+jy
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+iY
+mG
+mG
+mG
+mG
+Mk
+iJ
+Cf
+QZ
+Si
+Mk
+af
+af
+af
+Hu
+ih
+gF
+af
+af
+af
+af
+af
+dT
+uY
+oz
+yP
+ZO
+yP
+yP
+yP
+yP
+yP
+yP
+yP
+yP
+An
+Bj
+bj
+gW
+oB
+gW
+Fw
+qo
+Pv
+gW
+gW
+gW
+gW
+di
+qo
+CV
+gW
+oB
+EN
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(53,1,1) = {"
+jy
+Ek
+Ek
+mG
+mG
+mG
+mG
+iY
+Ek
+Ek
+mG
+cb
+Mk
+Mk
+jm
+zE
+yt
+Mk
+sy
+Oj
+OW
+Oj
+ZH
+hd
+Oj
+RT
+qj
+YT
+QW
+VX
+yf
+yf
+yP
+ZO
+za
+hY
+AA
+hY
+SP
+SP
+oe
+yP
+rD
+uv
+af
+hS
+JS
+nj
+Qw
+nj
+nj
+gW
+gW
+gW
+gW
+nj
+nj
+Qw
+nj
+JS
+ZM
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(54,1,1) = {"
+jy
+mG
+mG
+mG
+Ek
+cb
+Ek
+iY
+Ek
+Ek
+mG
+Ek
+Ek
+Mk
+Yj
+uO
+cp
+Mk
+PX
+Yt
+sS
+uA
+Ko
+uJ
+pG
+zf
+SN
+SN
+af
+yP
+yP
+yP
+yP
+hP
+bB
+ZJ
+mf
+nx
+gI
+jO
+Fc
+yP
+rD
+oz
+dP
+FK
+oJ
+tU
+Ha
+FK
+nj
+gW
+gW
+gW
+gW
+nj
+FK
+Ha
+tU
+oJ
+FK
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(55,1,1) = {"
+jy
+Ek
+Bt
+lf
+lf
+lf
+lf
+Ca
+pI
+pI
+pI
+pI
+oS
+Mk
+ky
+lh
+tX
+Mk
+af
+af
+af
+Hu
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+af
+ll
+no
+mf
+eF
+nx
+dJ
+jO
+Fc
+yP
+rD
+oz
+dP
+FK
+Vw
+Rn
+pK
+FK
+nj
+gW
+gW
+gW
+gW
+nj
+FK
+BV
+Rn
+BY
+FK
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(56,1,1) = {"
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+mG
+Ek
+mG
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+fo
+Ek
+Ek
+jy
+Ek
+Ek
+dP
+pM
+bB
+nx
+nx
+nx
+gI
+BS
+xV
+yP
+rD
+oz
+dP
+FK
+FK
+cY
+FK
+FK
+nj
+nj
+nj
+nj
+nj
+nj
+FK
+FK
+cY
+FK
+FK
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(57,1,1) = {"
+jy
+mG
+mG
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+mG
+jy
+jy
+mG
+Ek
+mG
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+mG
+mG
+jy
+Ek
+Ek
+dP
+pM
+Of
+Fp
+ND
+Fp
+Ij
+HH
+DA
+yP
+rD
+oz
+af
+Ia
+nj
+nj
+nj
+nj
+nj
+Rw
+wn
+nj
+Rw
+nj
+nj
+nj
+nj
+nj
+Ia
+qo
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(58,1,1) = {"
+jy
+Ek
+Bt
+lf
+lf
+lf
+lf
+Ca
+pI
+pI
+pI
+pI
+oS
+Ek
+jy
+Ek
+Ek
+mG
+mG
+mG
+mG
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+mG
+jy
+Ek
+mG
+dP
+jL
+yP
+yP
+yP
+dv
+Sx
+yP
+yP
+Sx
+tn
+NG
+af
+qo
+wP
+wP
+wP
+Iv
+wP
+qo
+wP
+wP
+qo
+wP
+Iv
+wP
+wP
+wP
+qo
+qo
+mG
+mG
+jy
+Ek
+Ek
+Ek
+"}
+(59,1,1) = {"
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+jy
+mG
+mG
+dP
+ro
+dv
+yP
+dv
+ro
+af
+XR
+BQ
+af
+oz
+AT
+af
+Ek
+Ek
+Ek
+OH
+Dg
+OH
+Ek
+Ek
+Ek
+Ek
+OH
+Dg
+OH
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(60,1,1) = {"
+jy
+mG
+mG
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+jy
+Ek
+Ek
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+mF
+Ek
+mG
+af
+dP
+dP
+dP
+dP
+dP
+af
+dP
+dP
+af
+dP
+dP
+af
+Ek
+Ek
+Ek
+OH
+BR
+OH
+Ek
+Ek
+Ek
+Ek
+OH
+BR
+OH
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+"}
+(61,1,1) = {"
+jy
+Ek
+Bt
+lf
+lf
+lf
+lf
+Ca
+pI
+pI
+pI
+pI
+oS
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+jy
+jy
+Cx
+Ek
+Ek
+Ek
+"}
+(62,1,1) = {"
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(63,1,1) = {"
+jy
+mG
+mG
+Ek
+Ek
+Ek
+Ek
+iY
+Ek
+Ek
+Ek
+Ek
+Ek
+mG
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+mF
+mG
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(64,1,1) = {"
+jy
+mG
+Bt
+lf
+lf
+lf
+lf
+bl
+pI
+pI
+pI
+pI
+oS
+mG
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(65,1,1) = {"
+Ek
+jy
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+Ek
+Ek
+Ek
+Ek
+mG
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(66,1,1) = {"
+Ek
+Ek
+jy
+jy
+jy
+jy
+jy
+aN
+aN
+jy
+jy
+jy
+jy
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
+(67,1,1) = {"
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+Ek
+"}
diff --git a/modular_splurt/code/game/area/areas/ruins/space.dm b/modular_splurt/code/game/area/areas/ruins/space.dm
index 1af32b50d8..45182a0fde 100644
--- a/modular_splurt/code/game/area/areas/ruins/space.dm
+++ b/modular_splurt/code/game/area/areas/ruins/space.dm
@@ -91,3 +91,20 @@
/datum/outfit/syndicate_empty/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
H.faction |= ROLE_SYNDICATE
+
+/area/ruin/space/ruinsolars
+ name = "Solar Array"
+ dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT
+ requires_power = FALSE
+ has_gravity = FALSE
+ area_flags = UNIQUE_AREA
+ flags_1 = NONE
+ sound_environment = SOUND_AREA_SPACE
+
+/datum/map_template/ruin/space/spacehotelsplurt
+ prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
+ id = "spacehotelsplurt"
+ suffix = "spacehotelsplurt.dmm"
+ name = "Twin Spires Hotel and Club"
+ description = "A Nanotrasen-partnered interstellar hotel and stripclub"
+
diff --git a/modular_splurt/code/game/objects/items/cards_ids.dm b/modular_splurt/code/game/objects/items/cards_ids.dm
index 04dde78777..78feee7ccc 100644
--- a/modular_splurt/code/game/objects/items/cards_ids.dm
+++ b/modular_splurt/code/game/objects/items/cards_ids.dm
@@ -6,3 +6,19 @@
/obj/item/card/id/syndicate/slaver/leader
name = "\improper Slaver Master ID"
desc = "A cheap ID used by slave traders. This guy seems to run the show."
+
+/obj/item/card/id/away/hotel/splurt
+ name = "Staff ID"
+ assignment = "Hotel Staff"
+ desc = "A staff ID used to access the hotel's doors."
+ access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_AWAY_ENGINE)
+
+/obj/item/card/id/away/hotel/splurt/security
+ name = "Officer ID"
+ assignment = "Hotel Security"
+ access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_AWAY_SEC, ACCESS_AWAY_ENGINE)
+
+/obj/item/card/id/away/hotel/manager
+ name = "Manager ID"
+ assignment = "Hotel Manager"
+ access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MAINT, ACCESS_AWAY_ENGINE, ACCESS_AWAY_SEC, ACCESS_AWAY_GENERIC1)
diff --git a/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm b/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
index e4239a6158..dad8db5a9f 100644
--- a/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
+++ b/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
@@ -53,3 +53,61 @@
new_spawn.language_holder.understood_languages += /datum/language/draconic
new_spawn.language_holder.spoken_languages += /datum/language/draconic
+//Splurt-Specific Space Hotel Staff
+/obj/effect/mob_spawn/human/hotel_staff/splurt //not free antag u little shits
+ name = "staff sleeper"
+ desc = "A sleeper designed for long-term stasis between guest visits."
+ mob_name = "hotel staff member"
+ job_description = "Hotel Staff"
+ icon = 'icons/obj/machines/sleeper.dmi'
+ icon_state = "sleeper_s"
+ objectives = "Cater to visiting guests with your fellow staff. Do not leave your assigned hotel and always remember: The customer is always right!"
+ short_desc = "You are a staff member of a top-of-the-line space hotel!"
+ flavour_text = "You are a staff member of a top-of-the-line space hotel! Cater to guests and make sure the manager doesn't fire you."
+ important_info = "DON'T leave the hotel"
+ assignedrole = "Hotel Staff"
+ death = FALSE
+ roundstart = FALSE
+ random = TRUE
+ canloadappearance = TRUE
+ id_job = "Hotel Staff"
+ id = /obj/item/card/id/away/hotel/splurt
+ uniform = /obj/item/clothing/under/suit/red
+ shoes = /obj/item/clothing/shoes/laceup
+ head = /obj/item/clothing/head/hotel
+ r_pocket = /obj/item/radio/off
+ l_pocket = /obj/item/pda
+ back = /obj/item/storage/backpack/satchel
+
+/obj/effect/mob_spawn/human/hotel_staff/splurt/security
+ name = "hotel security sleeper"
+ mob_name = "hotel security member"
+ job_description = "Hotel Security"
+ short_desc = "You are a peacekeeper."
+ flavour_text = "You have been assigned to this hotel to protect the interests of the company while keeping the peace between \
+ guests and the staff."
+ important_info = "Do NOT leave the hotel, as that is grounds for contract termination."
+ objectives = "Do not leave your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible."
+ id_job = "Hotel Security"
+ uniform = /obj/item/clothing/under/rank/security/officer/blueshirt
+ shoes = /obj/item/clothing/shoes/jackboots
+ suit = /obj/item/clothing/suit/armor/vest/blueshirt
+ head = /obj/item/clothing/head/helmet/blueshirt
+ back = /obj/item/storage/backpack/satchel/sec
+ belt = /obj/item/storage/belt/security/full
+ id = /obj/item/card/id/away/hotel/splurt/security
+
+/obj/effect/mob_spawn/human/hotel_staff/manager
+ name = "hotel manager sleeper"
+ mob_name = "hotel manager"
+ job_description = "Hotel Manager"
+ short_desc = "You are the manager of a space hotel"
+ flavour_text = "You manage one site of a successful chain of space hotels. Your parent company has recently partnered with Nanotrasen to service some of their stations; you have recieved a selection of fancy tech as a result! Protect the interests of your parent company, ensure your staff are performing to standard and make sure to keep your guests happy!"
+ important_info = "Staff, including you, are NOT to leave the hotel."
+ objectives = "Don't leave your assigned hotel. Cater to visiting guests. Maintain good corporate relations and remember: The customer is always right!"
+ id_job = "Hotel Manager"
+ uniform = /obj/item/clothing/under/suit/black
+ suit = /obj/item/clothing/suit/toggle/lawyer/black
+ head = /obj/item/clothing/head/beret/black
+ id = /obj/item/card/id/away/hotel/manager
+
From 50ff01d57c787390371450df20750a79c7675563 Mon Sep 17 00:00:00 2001
From: Satile1
Date: Sun, 23 Oct 2022 13:44:41 +0100
Subject: [PATCH 27/64] Rewords important notes, adds headsets
---
.../objects/structures/ghost_role_spawners.dm | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm b/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
index dad8db5a9f..f3d7e95a2a 100644
--- a/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
+++ b/modular_splurt/code/game/objects/structures/ghost_role_spawners.dm
@@ -61,10 +61,10 @@
job_description = "Hotel Staff"
icon = 'icons/obj/machines/sleeper.dmi'
icon_state = "sleeper_s"
- objectives = "Cater to visiting guests with your fellow staff. Do not leave your assigned hotel and always remember: The customer is always right!"
+ objectives = "Cater to visiting guests with your fellow staff. Don't abandon the hotel - you can advertise and link up with potential guests, but always remember who signs your cheques! The customer is always right!"
short_desc = "You are a staff member of a top-of-the-line space hotel!"
flavour_text = "You are a staff member of a top-of-the-line space hotel! Cater to guests and make sure the manager doesn't fire you."
- important_info = "DON'T leave the hotel"
+ important_info = "DON'T abandon the hotel"
assignedrole = "Hotel Staff"
death = FALSE
roundstart = FALSE
@@ -75,9 +75,9 @@
uniform = /obj/item/clothing/under/suit/red
shoes = /obj/item/clothing/shoes/laceup
head = /obj/item/clothing/head/hotel
- r_pocket = /obj/item/radio/off
- l_pocket = /obj/item/pda
+ r_pocket = /obj/item/pda
back = /obj/item/storage/backpack/satchel
+ ears = /obj/item/radio/headset
/obj/effect/mob_spawn/human/hotel_staff/splurt/security
name = "hotel security sleeper"
@@ -86,8 +86,8 @@
short_desc = "You are a peacekeeper."
flavour_text = "You have been assigned to this hotel to protect the interests of the company while keeping the peace between \
guests and the staff."
- important_info = "Do NOT leave the hotel, as that is grounds for contract termination."
- objectives = "Do not leave your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible."
+ important_info = "Do NOT abandon the hotel, as that is grounds for contract termination."
+ objectives = "Do not abandon your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible."
id_job = "Hotel Security"
uniform = /obj/item/clothing/under/rank/security/officer/blueshirt
shoes = /obj/item/clothing/shoes/jackboots
@@ -97,14 +97,14 @@
belt = /obj/item/storage/belt/security/full
id = /obj/item/card/id/away/hotel/splurt/security
-/obj/effect/mob_spawn/human/hotel_staff/manager
+/obj/effect/mob_spawn/human/hotel_staff/splurt/manager
name = "hotel manager sleeper"
mob_name = "hotel manager"
job_description = "Hotel Manager"
short_desc = "You are the manager of a space hotel"
- flavour_text = "You manage one site of a successful chain of space hotels. Your parent company has recently partnered with Nanotrasen to service some of their stations; you have recieved a selection of fancy tech as a result! Protect the interests of your parent company, ensure your staff are performing to standard and make sure to keep your guests happy!"
- important_info = "Staff, including you, are NOT to leave the hotel."
- objectives = "Don't leave your assigned hotel. Cater to visiting guests. Maintain good corporate relations and remember: The customer is always right!"
+ flavour_text = "You manage one site of a successful chain of space hotels. Your parent company has recently been bought out by Nanotrasen and tasked with servicing some of their stations; you have recieved a selection of fancy tech as a result! Protect the interests of your parent company, ensure your staff are performing to standard and make sure to keep your guests happy!"
+ important_info = "Staff, including you, are NOT to abandon the hotel."
+ objectives = "Don't abandon your assigned hotel. Cater to visiting guests. Maintain good corporate relations and remember: The customer is always right!"
id_job = "Hotel Manager"
uniform = /obj/item/clothing/under/suit/black
suit = /obj/item/clothing/suit/toggle/lawyer/black
From 3eb1d9a59036074f2b5af15c5f42b18cb2ffbcff Mon Sep 17 00:00:00 2001
From: Satile1
Date: Sun, 23 Oct 2022 13:46:04 +0100
Subject: [PATCH 28/64] Map update
---
modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm | 1 +
1 file changed, 1 insertion(+)
diff --git a/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
index 5c13fec35c..a86a4c95f8 100644
--- a/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
+++ b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
@@ -2855,6 +2855,7 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
dir = 4
},
+/obj/item/beacon,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/dock)
"oJ" = (
From 426306b647192281b8a1b41d8297f8ae248b940a Mon Sep 17 00:00:00 2001
From: KathrinBailey
Date: Wed, 26 Oct 2022 03:59:10 +0100
Subject: [PATCH 29/64] Update mech_construct.dmi
---
modular_splurt/icons/mecha/mech_construct.dmi | Bin 1361 -> 1501 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/modular_splurt/icons/mecha/mech_construct.dmi b/modular_splurt/icons/mecha/mech_construct.dmi
index 3886c9542f93c869dd797549beca3176373c6ea0..1406b4463cb6e8db84e65dff5fdf9c2cfc7fcd4b 100644
GIT binary patch
delta 1404
zcmV-?1%vw03f&8kBmr8HB~pI?000jV4lpnV=-0C=38lRXNVJtFa-mK{D?3
z>o#+s)uc~IkB0`e=GNbb(R7bN7bFfTnyb0&4_du~%f2?}lU5$XpaE6REHVg$~
z1aCvFsaT*TQKOX$#C3ku>PfKRnm4KW!^x;!`kNz>jfA$@&N#^^(QOhN32h!IBD0i}
z7!jNZ`oXoe(3*bizTfc%;28Z^{gxYf000DfNklAwtChv4<}GG4x%UaJ7GlXU=G
z>?7-m{5I6A2&{T5EIq~Y`UQVs0fgcX#xs>OZyoN
zo{;t$2#8lHCE9;4E&w9C@nNt+H0XiGxKmI7TyrXuMLPhx;79<&D~?PY4L~QN
zcymm*1P3@Xp_ooX1|ky?GsRmZ76~AzI&TKB_Z|S!QZk{VhjCoi10L2u`#cIchah(B
z8yn~%z!ZvI4OJU%J-{2bzYomf#6}X&G=SgdLZG4VZz>4^~;e7Q*c|>)&n_0PZuv?RGDt;dSsG2u8aX
z0SLvIPXzZOyPUxoYko&Bz=3D1;N2FCu_?Jh9ey0rcV`&4MvT7a*R)0a~>!p4(QfBM8P=
zKv4>nv7+k|)iPz;!LeO6NkTCe-^|sAQfmDK4aFG$H<9|Im1~C)^;@tE0)LFr1xo)_
z-qP^vE3D((&h*E4V9YO!o!cleF=qLNv3q|XCnCmMm}fgPCdOM3_*SJ`#5f4xU6=2$
z_(|H%ECP_Uomm7RVLP)3K+1Mz5rCBK%rXSW{~tK4o_WgVuIu{wu7}$a`iqNM|MBde
z6G0C*kL?M3WitSPA`aZR!rpFd{<7If;$b|O2m$kz%|`U`?0a)6rtc}6I}q(~^yY9>
zMxXi0=B@|ju7`PGF84RoeLngg!T^^Q0Fa@_Nmyn0GeK2-B&e<5)tP`3z~fmg1;hbh
zBC0tDAqhT8W}$$54}SoluQd&D{P-1A^8x1I>2TO#haGmV=-0C=38lDi7SFbqX!`zuT`7D``hmy!@NG{0a3R%3%>gJja*uiMNSs!8`E4hMl+
z^XP|hGTn33D-wsC%-!6MC#~MW6<^EsqLs%m`?3`-P_V{^VTF{y+faXJUM
z;<`U;^&(hs%ez$kax&_W|K>>GD|s$5y6R|eOGJxsrx^2{YgYYRCt{2nhleqAPk1N-NHgEUAo)$?*ISNOT>@vkO&Cs%pLFS
zSnCRTOf-f}g=m`fYtnyF_TL5_L-2lj8+YGM?}q@0lXn2@>Xuog(M0S(I
z#VTdc1EzPUq5yxSlT;>4b^uH(DFQ0ogFBK;k$$1=Qz4j4!Gn*H2XR<1o(uuy7Y=~9
ziNWe<%Z!iU>%llcjt9b1Z#S@YyNNyn8sqceeDKG3GUwA+GypY$GGAX`aIsSNmyee&
zr-S0`)1WFiuM
z@s@~10w}7^n*sdy1prbxnUI-bye{v71=h&;G73G1AobcS3+y7m6pCGiR*m!?kVfq9
zgMM-1BZ;5nqNJ&*scBCYHA1QY(7lX(0qA$Ua&G;!&Lx*lbT6YXKAc@^AL_BxijZCL
z_W&znqcVR0*j`4)N|*r1sEOG%e@Xe3Q|58BMFnWqs(?8e07^WN2SA=HRfz{wMxjOa
zGD;qT+{b_l0hEd^y&DnEiKA2RLu$>9;p5KWQ_2Fp|*kN|V(Oei5q<`mrd@58eD
zqYl98B*_qDj;OOno$P1#GRjx!2gM6?BoNz02^7b
zg69>DabI$Sb$lyr0uYO_bsel_;ICWXL0D8Q##ll**Kf7~h{YIJlOBM3E4x8!0U|M0
z&klbHr0bqEfD3l=6pb;u0Pz?HINNpj*>!duK{Un+ic+YIEnSz`PS}1NY`axANi4?d
zMcf?L+VwYREXMe2BKzA}uEU7-J5T|^a*WXh*8Q=IrQ!1#x5KtGmt#CImKVls8zm*i
zqP#HX`#1?PuAzl?W=f1}5G<`qYs5GTu()F`-(m5S)y~`mAgi6Z2|z|Wa}$7^cIGAk
zIql4C2-@!lnvPRp*<5Zv*xA{BY1v$;^0K)KMM>FQ!+u%WTtg{kb5m1OQ&Uq@Q&ZEw
ZrN6YwK@%~NHz)uA002ovPDHLkV1n03OXdIo
From a18577a33418d63dbd2ad0cc3c84f07aa2e85520 Mon Sep 17 00:00:00 2001
From: IHOPMommyLich <60290598+IHOPMommyLich@users.noreply.github.com>
Date: Tue, 25 Oct 2022 23:00:22 -0400
Subject: [PATCH 30/64] Lowering Threshold
Lowers the base transfer vote threshold from 3 to 1.
---
code/controllers/subsystem/vote.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index eb28d4b4f2..407a8f927c 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -253,7 +253,7 @@ SUBSYSTEM_DEF(vote)
calculate_highest_median(vote_title_text)
var/list/winners = list()
if(mode == "transfer")
- var/amount_required = 3 + transfer_votes_done
+ var/amount_required = 1 + transfer_votes_done
transfer_votes_done += 1
text += "\nExtending requires at least [amount_required] votes to win."
if(choices[VOTE_CONTINUE] < amount_required || choices[VOTE_TRANSFER] >= choices[VOTE_CONTINUE])
From e24941645a508e4c588663ed4d14bef98554aa36 Mon Sep 17 00:00:00 2001
From: Ldip999 <60290575+Ldip999@users.noreply.github.com>
Date: Thu, 27 Oct 2022 10:17:13 +0200
Subject: [PATCH 31/64] Adds a limbgrower to cogstation
---
_maps/map_files/CogStation/CogStation.dmm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm
index 30dde18974..14f2cdab81 100644
--- a/_maps/map_files/CogStation/CogStation.dmm
+++ b/_maps/map_files/CogStation/CogStation.dmm
@@ -54536,7 +54536,6 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"crw" = (
-/obj/machinery/computer/med_data,
/obj/effect/turf_decal/tile/red{
dir = 4
},
@@ -54547,6 +54546,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/red,
+/obj/machinery/limbgrower,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"crx" = (
From bcbbd12f4c0dcfd09b05972ce63952f89ab22cf1 Mon Sep 17 00:00:00 2001
From: Ldip999 <60290575+Ldip999@users.noreply.github.com>
Date: Thu, 27 Oct 2022 10:19:00 +0200
Subject: [PATCH 32/64] Adjusts cogstation surgery kits + tables closer to
patient
---
_maps/map_files/CogStation/CogStation.dmm | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm
index 14f2cdab81..e083901062 100644
--- a/_maps/map_files/CogStation/CogStation.dmm
+++ b/_maps/map_files/CogStation/CogStation.dmm
@@ -55943,7 +55943,9 @@
/turf/open/floor/plasteel,
/area/science/xenobiology)
"cuf" = (
-/obj/machinery/computer/operating,
+/obj/machinery/computer/operating{
+ dir = 8
+ },
/obj/effect/turf_decal/bot,
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/turf/open/floor/plasteel,
@@ -55966,7 +55968,6 @@
/obj/item/paper/guides/cogstation/letter_med{
pixel_y = 4
},
-/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"cui" = (
@@ -56140,6 +56141,8 @@
"cux" = (
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/obj/effect/landmark/event_spawn,
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel,
/area/medical/medbay/zone2)
"cuC" = (
@@ -56655,6 +56658,8 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
},
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel,
/area/medical/medbay/zone2)
"cvG" = (
@@ -59394,7 +59399,7 @@
/area/hallway/primary/aft)
"cAU" = (
/obj/machinery/computer/operating{
- dir = 1
+ dir = 8
},
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -59477,7 +59482,6 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
-/obj/item/storage/backpack/duffelbag/med/surgery,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone2)
"cBe" = (
From 53e2df7199cb5df78b7dab2c51793e4274f7c5d9 Mon Sep 17 00:00:00 2001
From: Ldip999 <60290575+Ldip999@users.noreply.github.com>
Date: Thu, 27 Oct 2022 10:21:12 +0200
Subject: [PATCH 33/64] Adjusts cog station chemistry
Gives an extra chem heater for independent multi track meth making, instead puts the less used and more easily shared grinder at the middle
---
_maps/map_files/CogStation/CogStation.dmm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm
index e083901062..6578f737fe 100644
--- a/_maps/map_files/CogStation/CogStation.dmm
+++ b/_maps/map_files/CogStation/CogStation.dmm
@@ -30653,7 +30653,6 @@
/turf/open/floor/plating,
/area/maintenance/aft)
"brK" = (
-/obj/structure/window/reinforced/spawner/east,
/obj/machinery/chem_dispenser,
/obj/machinery/airalarm{
pixel_y = 24
@@ -31153,18 +31152,10 @@
/turf/open/floor/grass,
/area/service/hydroponics)
"bsL" = (
-/obj/structure/table,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
-/obj/machinery/reagentgrinder{
- pixel_y = 8
- },
-/obj/item/storage/box/syringes,
-/obj/item/storage/box/beakers{
- pixel_x = -2;
- pixel_y = -2
- },
+/obj/machinery/chem_heater,
/turf/open/floor/plasteel,
/area/medical/chemistry)
"bsM" = (
@@ -31186,6 +31177,11 @@
pixel_y = 6
},
/obj/structure/disposalpipe/segment,
+/obj/item/storage/box/beakers{
+ pixel_x = -2;
+ pixel_y = -2
+ },
+/obj/item/storage/box/syringes,
/turf/open/floor/plasteel,
/area/medical/chemistry)
"bsO" = (
@@ -37092,7 +37088,10 @@
/turf/closed/wall/mineral/lead,
/area/engineering/atmos)
"bFZ" = (
-/obj/machinery/chem_heater,
+/obj/structure/table,
+/obj/machinery/reagentgrinder{
+ pixel_y = 8
+ },
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
"bGa" = (
@@ -52784,6 +52783,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
+/obj/machinery/chem_heater,
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
"com" = (
From 45bacf8a1ff293bfb30d6200964e3cefd4c5271f Mon Sep 17 00:00:00 2001
From: Ldip999 <60290575+Ldip999@users.noreply.github.com>
Date: Thu, 27 Oct 2022 10:23:34 +0200
Subject: [PATCH 34/64] Gives medbay storage a medical windoor on cogstation
At the moment medbay storage has a windoor which is controlled exclusively by robotics. This gives a second layer of windoor which is controlled exclusively by medbay, so neither department invades eachother without both consenting
---
_maps/map_files/CogStation/CogStation.dmm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm
index 6578f737fe..34037c31aa 100644
--- a/_maps/map_files/CogStation/CogStation.dmm
+++ b/_maps/map_files/CogStation/CogStation.dmm
@@ -47522,6 +47522,10 @@
name = "Robotics Desk";
req_access_txt = "29"
},
+/obj/machinery/door/window/eastright{
+ name = "Medbay Desk";
+ req_access_txt = "5"
+ },
/turf/open/floor/plasteel/white,
/area/science/robotics/lab)
"ccC" = (
From 17a041cec39394192099a2f79d10ded9277f5b71 Mon Sep 17 00:00:00 2001
From: Ldip999 <60290575+Ldip999@users.noreply.github.com>
Date: Thu, 27 Oct 2022 10:25:06 +0200
Subject: [PATCH 35/64] Fixes one cogstation conveyor belt
The rotation was off and the belt made things go nowhere, leading to things getting stuck in space.
---
_maps/map_files/CogStation/CogStation.dmm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm
index 34037c31aa..bc8af8a789 100644
--- a/_maps/map_files/CogStation/CogStation.dmm
+++ b/_maps/map_files/CogStation/CogStation.dmm
@@ -70164,6 +70164,13 @@
},
/turf/open/floor/plating,
/area/cargo/storage)
+"rCm" = (
+/obj/machinery/conveyor/auto{
+ id = "pq";
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/router/aux)
"rCL" = (
/obj/effect/landmark/start/assistant,
/obj/structure/chair{
@@ -96641,7 +96648,7 @@ cPo
cPo
cPo
cPo
-cPo
+rCm
abp
aaa
aaa
From 55af757fab290796764b1dc26a96b96897e317f9 Mon Sep 17 00:00:00 2001
From: Satile1
Date: Thu, 27 Oct 2022 18:58:17 +0100
Subject: [PATCH 36/64] Disable Old Hotel, fix manager spawner, more staff
---
code/datums/ruins/space.dm | 1 +
.../SpaceRuins/spacehotelsplurt.dmm | 1087 +++++++++++------
2 files changed, 724 insertions(+), 364 deletions(-)
diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm
index 7a57e50364..81118e15e6 100644
--- a/code/datums/ruins/space.dm
+++ b/code/datums/ruins/space.dm
@@ -148,6 +148,7 @@
suffix = "spacehotel.dmm"
name = "The Twin-Nexus Hotel"
description = "An interstellar hotel, where the weary spaceman can rest their head and relax, assured that the residental staff will not murder them in their sleep. Probably."
+ unpickable = TRUE //Splurt Change
/datum/map_template/ruin/space/turreted_outpost
id = "turreted-outpost"
diff --git a/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
index a86a4c95f8..24c5462944 100644
--- a/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
+++ b/modular_splurt/_maps/RandomRuins/SpaceRuins/spacehotelsplurt.dmm
@@ -37,19 +37,11 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"ap" = (
+/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/structure/table,
-/obj/machinery/airalarm/directional/north{
- req_access = null;
- req_access_txt = "204"
- },
-/turf/open/floor/plasteel/dark,
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"au" = (
/obj/structure/chair/sofa/corp,
@@ -213,6 +205,12 @@
/obj/machinery/light,
/turf/open/floor/carpet/royalblack,
/area/ruin/space/has_grav/hotel/dock)
+"br" = (
+/obj/structure/grille,
+/obj/structure/lattice,
+/obj/structure/lattice,
+/turf/template_noop,
+/area/space/nearstation)
"bs" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -254,6 +252,22 @@
/obj/structure/table/wood/fancy/purple,
/turf/open/floor/carpet/royalblack,
/area/ruin/space/has_grav/hotel/bar)
+"bE" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/bedsheet/red/double{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"bF" = (
/obj/machinery/airalarm/directional/north{
req_access = null;
@@ -624,10 +638,7 @@
/turf/open/floor/wood/wood_tiled,
/area/ruin/space/has_grav/hotel/workroom)
"dr" = (
-/obj/item/stack/sheet/mineral/silver{
- amount = 5
- },
-/obj/effect/mob_spawn/human/hotel_staff/manager,
+/obj/effect/mob_spawn/human/hotel_staff/splurt/manager,
/turf/open/floor/wood/wood_tiled,
/area/ruin/space/has_grav/hotel/workroom)
"ds" = (
@@ -639,6 +650,18 @@
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/power)
+"dt" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/red/double,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"dv" = (
/obj/structure/chair/comfy/brown{
color = "#596479";
@@ -732,20 +755,22 @@
/turf/open/floor/carpet/black,
/area/ruin/space/has_grav/hotel/bar)
"dR" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 8
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
},
-/obj/structure/closet/secure_closet/labor_camp_security{
- name = "hotel security locker";
- req_access = list(203)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/computer/security/telescreen{
+ name = "Exhibition Suite";
+ network = list("thunder,exhibition");
+ pixel_y = 27
},
-/obj/item/gun/energy/laser/scatter/shotty,
/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/hotel/security)
+/area/ruin/space/has_grav/hotel)
"dT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -985,10 +1010,12 @@
/turf/open/pool,
/area/ruin/space/has_grav/hotel)
"eY" = (
-/obj/structure/lattice,
-/obj/structure/grille,
-/turf/template_noop,
-/area/space/nearstation)
+/obj/machinery/door/airlock{
+ id_tag = "Staff6";
+ name = "Masseuse's Quarters"
+ },
+/turf/open/floor/plating,
+/area/ruin/space/has_grav/hotel)
"fa" = (
/obj/structure/table/wood,
/obj/structure/bedsheetbin/towel,
@@ -1267,11 +1294,13 @@
/area/ruin/space/has_grav/hotel/guestroom)
"gx" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/obj/structure/cable{
icon_state = "1-4"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"gz" = (
@@ -1421,21 +1450,30 @@
/turf/open/floor/carpet/black,
/area/ruin/space/has_grav/hotel/dock)
"hm" = (
-/obj/structure/janitorialcart,
-/obj/item/mop,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/hotel/custodial)
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/open/space/basic,
+/area/space/nearstation)
"hn" = (
+/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
dir = 4
},
-/turf/open/floor/plasteel/dark,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"hq" = (
/obj/structure/closet/secure_closet/freezer/kitchen/mining,
@@ -1615,6 +1653,23 @@
icon_state = "wood-broken"
},
/area/ruin/space/has_grav/hotel)
+"ii" = (
+/obj/effect/mob_spawn/human/hotel_staff/splurt/security,
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"im" = (
/obj/structure/chair/sofa/corp/right,
/obj/machinery/light{
@@ -2141,6 +2196,19 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/turf/closed/wall,
/area/ruin/space/has_grav/hotel/security)
+"la" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 5
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"lb" = (
/obj/machinery/icecream_vat,
/turf/open/floor/plasteel/showroomfloor,
@@ -2292,7 +2360,10 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel/guestroom)
"ly" = (
-/obj/structure/closet/l3closet/janitor,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"lz" = (
@@ -2429,6 +2500,7 @@
"mh" = (
/obj/effect/decal/cleanable/oil,
/obj/effect/spawner/lootdrop/maintenance,
+/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"mi" = (
@@ -2452,8 +2524,17 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
+"mt" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"mv" = (
@@ -2708,6 +2789,24 @@
/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
+"nL" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"nO" = (
/obj/structure/chair/stool/bar,
/obj/effect/decal/cleanable/glitter/blue,
@@ -2922,6 +3021,16 @@
/obj/machinery/vending/barkbox,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/guestroom)
+"pi" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
"po" = (
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
dir = 9
@@ -3135,11 +3244,13 @@
/turf/open/pool,
/area/ruin/space/has_grav/hotel)
"qE" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
- dir = 5
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"qG" = (
@@ -3209,24 +3320,12 @@
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel)
"qY" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/machinery/door/airlock/grunge{
- name = "Equipment Storage";
- req_access_txt = "203"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/hotel/security)
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
"ra" = (
/obj/machinery/air_sensor/atmos/air_tank,
/turf/open/floor/engine/air,
@@ -3575,9 +3674,7 @@
/turf/open/floor/carpet/black,
/area/ruin/space/has_grav/hotel/guestroom)
"sy" = (
-/obj/item/mesmetron,
-/obj/item/genital_equipment/condom,
-/obj/structure/table,
+/obj/effect/mob_spawn/human/hotel_staff/splurt,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"sz" = (
@@ -3646,15 +3743,18 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"sS" = (
-/obj/item/nailpolish/red,
-/obj/item/nailpolish/white,
-/obj/item/nailpolish/purple,
-/obj/item/nailpolish/black,
-/obj/item/nailpolish/blue,
-/obj/structure/table,
-/obj/item/dyespray,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/hotel)
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space/basic,
+/area/space/nearstation)
"sU" = (
/obj/item/restraints/handcuffs/fake/kinky,
/obj/machinery/gear_painter,
@@ -3669,6 +3769,11 @@
/obj/machinery/microwave,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/workroom)
+"tc" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/template_noop,
+/area/space/nearstation)
"td" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
/obj/structure/cable{
@@ -3741,13 +3846,8 @@
/turf/open/floor/carpet/black,
/area/ruin/space/has_grav/hotel/bar)
"ts" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/item/pen,
-/turf/open/floor/plasteel,
+/obj/effect/mob_spawn/human/hotel_staff/splurt,
+/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/custodial)
"tv" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
@@ -3958,15 +4058,24 @@
/area/ruin/space/has_grav/hotel/bar)
"uy" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
+/obj/machinery/door/airlock{
+ id_tag = "Staff7";
+ name = "Maid's room"
+ },
+/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/custodial)
"uz" = (
/turf/open/floor/wood/wood_tiled,
/area/ruin/space/has_grav/hotel)
"uA" = (
-/obj/item/restraints/handcuffs/fake/kinky,
/obj/structure/table,
+/obj/item/milking_machine,
+/obj/item/milking_machine/penis,
+/obj/item/dildo/custom,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
+/obj/item/genital_equipment/condom,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"uE" = (
@@ -4006,26 +4115,15 @@
/area/ruin/space/has_grav/hotel)
"uL" = (
/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
dir = 9
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 9
},
-/obj/machinery/camera{
- c_tag = "Security Office South";
- dir = 1;
- network = list("hotel")
- },
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"uM" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
- },
/obj/structure/cable/yellow{
icon_state = "1-8"
},
@@ -4181,8 +4279,6 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/obj/structure/cable{
icon_state = "1-4"
},
@@ -4230,9 +4326,10 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel/bar)
"vu" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/machinery/camera{
+ c_tag = "Security Office South";
+ dir = 4;
+ network = list("hotel")
},
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -4240,12 +4337,8 @@
/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/machinery/door/airlock/grunge{
- name = "Twin Spires Security";
- req_access_txt = "203"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"vx" = (
@@ -4406,6 +4499,31 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
+"wi" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/storage/fancy/donut_box{
+ pixel_y = -10
+ },
+/obj/item/clothing/head/warden,
+/obj/machinery/button/door{
+ id = "HotelSec1";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"wk" = (
/obj/structure/closet/athletic_mixed,
/obj/item/clothing/under/misc/bathrobe,
@@ -5197,7 +5315,6 @@
/turf/open/pool,
/area/ruin/space/has_grav/hotel)
"Af" = (
-/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 8
},
@@ -5265,12 +5382,12 @@
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel)
"Ap" = (
-/obj/structure/table,
-/obj/item/grenade/chem_grenade/cleaner,
-/obj/item/grenade/chem_grenade/cleaner,
-/obj/item/grenade/chem_grenade/cleaner,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/hotel/custodial)
+/obj/machinery/power/solar,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
"Av" = (
/obj/machinery/door/airlock/external/glass,
/obj/structure/cable/yellow{
@@ -5382,16 +5499,27 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel)
"AX" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
/obj/effect/turf_decal/tile/red{
dir = 4
},
/obj/effect/turf_decal/tile/red{
dir = 8
},
-/obj/effect/turf_decal/tile/red{
- dir = 1
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/door/airlock/grunge{
+ id_tag = "HotelSec2";
+ name = "Officer's Quarters";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
},
-/obj/effect/mob_spawn/human/hotel_staff/splurt/security,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/security)
"Bb" = (
@@ -5451,12 +5579,13 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/effect/turf_decal/tile/red{
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
dir = 8
},
-/obj/structure/bed/double,
-/obj/item/bedsheet/red/double,
-/turf/open/floor/plasteel/dark,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"Bq" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
@@ -5524,11 +5653,21 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"BN" = (
-/obj/structure/grille,
-/obj/structure/lattice,
-/obj/structure/lattice,
-/turf/template_noop,
-/area/space/nearstation)
+/obj/effect/mob_spawn/human/hotel_staff/splurt/security,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"BO" = (
/obj/effect/decal/cleanable/glitter/pink,
/turf/open/floor/light/colour_cycle/dancefloor_a,
@@ -5746,14 +5885,6 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"CN" = (
-/obj/structure/closet/jcloset,
-/obj/item/storage/bag/trash,
-/obj/item/clothing/under/rank/civilian/janitor/maid,
-/obj/item/clothing/under/rank/civilian/janitor/maid,
-/obj/item/clothing/under/rank/civilian/janitor/maid,
-/obj/item/clothing/under/costume/maid,
-/obj/item/clothing/under/costume/maid,
-/obj/item/clothing/under/costume/maid,
/obj/structure/cable{
icon_state = "0-8"
},
@@ -5762,6 +5893,8 @@
name = "Hotel Custodial APC";
pixel_y = 23
},
+/obj/structure/closet/crate/trashcart,
+/obj/item/storage/bag/trash,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"CR" = (
@@ -5935,8 +6068,31 @@
/obj/item/bedsheet/nanotrasen/double{
dir = 1
},
+/obj/item/stack/sheet/mineral/silver{
+ amount = 5
+ },
/turf/open/floor/wood/wood_tiled,
/area/ruin/space/has_grav/hotel/workroom)
+"Dr" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/button/door{
+ id = "HotelSec3";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = -25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"Dt" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 8
@@ -5997,12 +6153,21 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"DF" = (
-/obj/machinery/power/solar,
-/obj/structure/cable/yellow{
- icon_state = "0-8"
+/obj/effect/turf_decal/tile/red{
+ dir = 1
},
-/turf/open/floor/plasteel/airless/solarpanel,
-/area/ruin/space/ruinsolars)
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"DH" = (
/obj/structure/table/wood,
/obj/item/storage/box/stockparts/basic,
@@ -6058,14 +6223,17 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel)
"DR" = (
-/obj/structure/chair/stool,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
dir = 1
},
-/obj/structure/disposalpipe/segment{
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
dir = 5
},
-/turf/open/floor/plasteel,
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/custodial)
"DS" = (
/obj/structure/chair/office/light{
@@ -6378,7 +6546,7 @@
/area/ruin/space/has_grav/hotel/workroom)
"Fj" = (
/obj/structure/sign/warning/vacuum/external,
-/turf/closed/wall,
+/turf/closed/wall/r_wall,
/area/ruin/space/has_grav/hotel/power)
"Fn" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
@@ -6479,6 +6647,11 @@
},
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
+"FI" = (
+/obj/machinery/power/tracker,
+/obj/structure/cable/yellow,
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/ruin/space/ruinsolars)
"FK" = (
/turf/open/floor/carpet/royalblack,
/area/ruin/space/has_grav/hotel/dock)
@@ -6802,10 +6975,24 @@
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/bar)
"Hf" = (
-/obj/machinery/power/tracker,
-/obj/structure/cable/yellow,
-/turf/open/floor/plasteel/airless/solarpanel,
-/area/ruin/space/ruinsolars)
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/bed/double{
+ dir = 1
+ },
+/obj/item/bedsheet/red/double{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"Hh" = (
/obj/structure/chair/sofa/corp/right{
dir = 8
@@ -6841,6 +7028,18 @@
},
/turf/open/floor/carpet/red,
/area/ruin/space/has_grav/hotel/guestroom)
+"Hq" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"Hs" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
dir = 10
@@ -7176,6 +7375,30 @@
},
/turf/open/floor/wood/wood_tiled,
/area/ruin/space/has_grav/hotel/guestroom)
+"IS" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/door/airlock/grunge{
+ id_tag = "HotelSec3";
+ name = "Officer's Quarters";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"IU" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3,
/obj/structure/cable{
@@ -7190,6 +7413,17 @@
/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
+"IW" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
"IX" = (
/obj/machinery/camera{
c_tag = "Exhibitionist Suite West";
@@ -7328,6 +7562,9 @@
/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6{
pixel_x = 32
},
+/obj/item/grenade/chem_grenade/cleaner,
+/obj/item/grenade/chem_grenade/cleaner,
+/obj/item/grenade/chem_grenade/cleaner,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"JG" = (
@@ -7417,11 +7654,17 @@
/turf/open/floor/carpet/red,
/area/ruin/space/has_grav/hotel/guestroom)
"JX" = (
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
dir = 8
},
-/turf/open/floor/plasteel,
+/obj/machinery/button/door{
+ id = "Staff7";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = 23;
+ specialfunctions = 4
+ },
+/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/custodial)
"JZ" = (
/obj/effect/turf_decal/tile/red{
@@ -7500,6 +7743,10 @@
/obj/item/toy/cattoy,
/obj/item/toy/fluff/bone_poly,
/obj/structure/table,
+/obj/item/restraints/handcuffs/fake/kinky,
+/obj/item/dyespray,
+/obj/item/nailpolish/red,
+/obj/item/mesmetron,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"Ks" = (
@@ -7583,13 +7830,25 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"KI" = (
-/obj/machinery/computer/security/telescreen{
- icon = 'icons/obj/status_display.dmi';
- icon_state = "entertainment";
- network = list("thunder,exhibition")
+/obj/effect/turf_decal/tile/red{
+ dir = 8
},
-/turf/closed/wall,
-/area/ruin/space/has_grav/hotel/guestroom)
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "HotelSec2";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"KM" = (
/obj/machinery/camera{
c_tag = "Rooms South";
@@ -7615,14 +7874,26 @@
/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
- dir = 5
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
},
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
+"KQ" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/mob_spawn/human/hotel_staff/splurt/security,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"KR" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1,
/turf/open/floor/plasteel,
@@ -7748,9 +8019,14 @@
/turf/open/space/basic,
/area/space/nearstation)
"LK" = (
-/obj/item/storage/bag/trash,
-/obj/structure/table,
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+ dir = 8
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/custodial)
"LM" = (
/obj/machinery/door/airlock/public/glass,
@@ -7924,6 +8200,9 @@
onstation = 0;
scan_id = 0
},
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"MF" = (
@@ -7998,7 +8277,7 @@
"Ne" = (
/obj/machinery/door/airlock/grunge{
name = "Vault";
- req_access_txt = "203"
+ req_one_access = "203;204"
},
/turf/open/floor/engine,
/area/ruin/space/has_grav/hotel)
@@ -8169,6 +8448,16 @@
},
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/bar)
+"NQ" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
"NR" = (
/obj/structure/closet,
/obj/item/restraints/handcuffs/cable,
@@ -8517,20 +8806,41 @@
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/has_grav/hotel/bar)
"PX" = (
-/obj/item/milking_machine/penis,
-/obj/structure/table,
-/obj/item/pregnancytest,
-/obj/item/pregnancytest,
/obj/effect/decal/cleanable/cobweb{
icon_state = "cobweb2"
},
+/obj/structure/closet/cabinet,
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"PY" = (
/turf/open/floor/glass,
/area/ruin/space/has_grav/hotel/bar)
+"PZ" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/machinery/door/airlock/grunge{
+ id_tag = "HotelSec1";
+ name = "Security Chief's Quarters";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"Qa" = (
-/obj/structure/closet/crate/trashcart,
+/obj/structure/closet/l3closet/janitor,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"Qc" = (
@@ -8614,14 +8924,17 @@
/turf/open/floor/carpet/black,
/area/ruin/space/has_grav/hotel/dock)
"QC" = (
+/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 4
},
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 8
},
-/turf/open/floor/plasteel/dark,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"QE" = (
/obj/structure/toilet/secret/prison{
@@ -8808,8 +9121,8 @@
/area/ruin/space/has_grav/hotel/guestroom)
"RB" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"RC" = (
@@ -8830,10 +9143,11 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel)
"RL" = (
-/obj/structure/reagent_dispensers/watertank,
/obj/structure/sign/poster/contraband/lusty_xenomorph{
pixel_x = 32
},
+/obj/structure/janitorialcart,
+/obj/item/mop,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/custodial)
"RM" = (
@@ -9170,14 +9484,18 @@
/area/ruin/space/has_grav/hotel/workroom)
"Te" = (
/obj/effect/turf_decal/tile/red{
- dir = 4
+ dir = 8
},
/obj/effect/turf_decal/tile/red{
dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel/dark,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"Tf" = (
/obj/effect/turf_decal/tile/red{
@@ -9513,12 +9831,28 @@
/turf/open/floor/plasteel/showroomfloor,
/area/ruin/space/has_grav/hotel/workroom)
"Us" = (
-/obj/machinery/power/solar,
-/obj/structure/cable/yellow{
- icon_state = "0-4"
+/obj/effect/turf_decal/tile/red{
+ dir = 4
},
-/turf/open/floor/plasteel/airless/solarpanel,
-/area/ruin/space/ruinsolars)
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/door/airlock/grunge{
+ name = "Equipment Storage";
+ req_access_txt = "203"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/ruin/space/has_grav/hotel/security)
"Uu" = (
/obj/structure/filingcabinet,
/obj/structure/cable{
@@ -9843,18 +10177,22 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"We" = (
-/obj/structure/cable/yellow{
- icon_state = "1-2"
+/obj/effect/turf_decal/tile/red{
+ dir = 8
},
-/obj/structure/cable/yellow{
- icon_state = "1-8"
+/obj/effect/turf_decal/tile/red{
+ dir = 1
},
-/obj/structure/cable/yellow{
- icon_state = "1-4"
+/obj/effect/turf_decal/tile/red{
+ dir = 4
},
-/obj/structure/lattice/catwalk,
-/turf/open/space/basic,
-/area/space/nearstation)
+/obj/structure/closet/secure_closet/labor_camp_security{
+ name = "hotel security locker";
+ req_access = list(203)
+ },
+/obj/item/gun/energy/laser/scatter/shotty,
+/turf/open/floor/plasteel/dark,
+/area/ruin/space/has_grav/hotel/security)
"Wj" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3{
dir = 8
@@ -10335,10 +10673,20 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"Yt" = (
-/obj/item/milking_machine,
-/obj/structure/table,
-/obj/item/dildo/custom,
-/obj/item/dildo/custom,
+/obj/machinery/button/door{
+ id = "Staff6";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/structure/mirror{
+ pixel_y = -32
+ },
+/obj/structure/bed/double,
+/obj/item/bedsheet/random/double{
+ dir = 1
+ },
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel)
"Yw" = (
@@ -10453,13 +10801,19 @@
/turf/open/floor/carpet/royalblack,
/area/ruin/space/has_grav/hotel/dock)
"Ze" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{
- dir = 5
+/obj/effect/turf_decal/tile/red{
+ dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 9
+/obj/effect/turf_decal/tile/red{
+ dir = 1
},
-/turf/open/floor/plasteel/dark,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"Zh" = (
/obj/structure/chair/stool/bar,
@@ -10522,7 +10876,7 @@
"Zt" = (
/obj/machinery/door/airlock/engineering{
name = "Power Storage";
- req_access_txt = "203"
+ req_access_txt = "204"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
@@ -10565,12 +10919,17 @@
/turf/open/floor/grass,
/area/ruin/space/has_grav/hotel)
"ZL" = (
-/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
dir = 8
},
-/obj/machinery/light,
-/turf/open/floor/plasteel/dark,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/security)
"ZM" = (
/obj/machinery/light,
@@ -10672,18 +11031,18 @@ jy
jy
jy
Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
+jy
Ek
Ek
"}
@@ -10742,19 +11101,19 @@ wx
IZ
jy
Ek
+jy
+mG
Ek
Ek
+mG
Ek
Ek
+mG
Ek
Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
-Ek
+mG
+mG
+jy
Ek
"}
(3,1,1) = {"
@@ -10812,20 +11171,20 @@ Zy
oc
jy
jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
-jy
+Cx
+qY
Ek
Ek
+qY
+Ek
+Ek
+qY
+Ek
+Ek
+qY
+Ek
+jy
+Ek
"}
(4,1,1) = {"
jy
@@ -10883,17 +11242,17 @@ oc
Ek
Ek
Ek
-mG
+Rs
Ek
Ek
-mG
+Rs
Ek
Ek
-mG
+Rs
Ek
Ek
-mG
-mG
+Rs
+Ek
jy
Ek
"}
@@ -10953,16 +11312,16 @@ oc
Ek
Ek
Ek
-Us
+Rs
Ek
Ek
-Us
+Rs
Ek
Ek
-Us
+Rs
Ek
Ek
-Us
+Rs
Ek
jy
Ek
@@ -11104,8 +11463,8 @@ Ek
Ek
Rs
Ek
+mG
jy
-Ek
"}
(8,1,1) = {"
jy
@@ -11161,21 +11520,21 @@ VU
YX
Vv
wx
-IZ
-Ek
-Rs
-Ek
-Ek
-Rs
-Ek
-Ek
-Rs
-Ek
-Ek
-Rs
-Ek
-jy
-Ek
+hm
+LI
+sS
+LI
+LI
+sS
+LI
+LI
+sS
+LI
+LI
+sS
+FI
+mG
+br
"}
(9,1,1) = {"
jy
@@ -11228,21 +11587,21 @@ Nq
EP
Nq
EP
-tj
-tj
-tj
+tH
+tH
+tH
oc
Ek
-Rs
+Xw
Ek
Ek
-Rs
+Xw
Ek
Ek
-Rs
+Xw
Ek
Ek
-Rs
+Xw
Ek
mG
jy
@@ -11302,20 +11661,20 @@ Av
fz
vC
uM
-LI
-We
-LI
-LI
-We
-LI
-LI
-We
-LI
-LI
-We
-Hf
-mG
-BN
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+Ek
+Xw
+Ek
+jy
+Ek
"}
(11,1,1) = {"
jy
@@ -11369,8 +11728,8 @@ Up
Bc
po
Fj
-tj
-tj
+tH
+tH
Kj
Ek
Xw
@@ -11384,8 +11743,8 @@ Ek
Ek
Xw
Ek
-mG
jy
+Ek
"}
(12,1,1) = {"
jy
@@ -11439,7 +11798,7 @@ hv
hv
aF
Bo
-tj
+tH
Ek
Ek
Ek
@@ -11513,16 +11872,16 @@ fy
fy
Zy
Ek
-Xw
+Ap
Ek
Ek
-Xw
+Ap
Ek
Ek
-Xw
+Ap
Ek
Ek
-Xw
+Ap
Ek
jy
Ek
@@ -11583,17 +11942,17 @@ jH
jH
fy
Ek
-Xw
+mG
Ek
Ek
-Xw
+mG
Ek
Ek
-Xw
+mG
Ek
Ek
-Xw
-Ek
+mG
+Cx
jy
Ek
"}
@@ -11653,19 +12012,19 @@ ra
Sy
fy
Ek
-DF
+mG
Ek
Ek
-DF
+mG
Ek
Ek
-DF
+mG
Ek
Ek
-DF
-Ek
+mG
jy
Ek
+Ek
"}
(16,1,1) = {"
jy
@@ -11724,17 +12083,17 @@ jH
fy
Ek
mG
+uq
+uq
+uq
+uq
+uq
+uq
+uq
+uq
Ek
Ek
-mG
-Ek
-Ek
-mG
-Ek
-Ek
-mG
-Cx
-jy
+Qh
Ek
"}
(17,1,1) = {"
@@ -11793,18 +12152,18 @@ fy
fy
fy
Ek
-mG
+Ek
+uq
+BN
+Hf
+va
+We
+Hq
+bE
+uq
Ek
Ek
-mG
-Ek
-Ek
-mG
-Ek
-Ek
-eY
-jy
-Ek
+Qh
Ek
"}
(18,1,1) = {"
@@ -11865,17 +12224,17 @@ uq
uq
uq
uq
-uq
-uq
-uq
+DF
+KI
+va
+KQ
+la
+wi
uq
mG
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(19,1,1) = {"
jy
@@ -11936,16 +12295,16 @@ KH
rY
va
AX
-hn
-dR
+va
+va
+va
+PZ
+va
uq
mG
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(20,1,1) = {"
jy
@@ -12008,14 +12367,14 @@ vu
Te
Ze
ZL
+mt
+IW
+NQ
uq
mG
mG
jy
Ek
-Ek
-Ek
-Ek
"}
(21,1,1) = {"
jy
@@ -12074,18 +12433,18 @@ Xs
Cm
Is
uL
-va
+ap
ap
QC
Bp
+ap
+QC
+pi
uq
Ek
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(22,1,1) = {"
jy
@@ -12146,16 +12505,16 @@ BH
mx
va
va
+Us
va
va
+IS
+va
uq
Ek
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(23,1,1) = {"
jy
@@ -12212,20 +12571,20 @@ GR
FO
RP
FO
-GR
+hn
vn
-qY
+va
mr
KO
Fe
+va
+nL
+Dr
uq
Ek
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(24,1,1) = {"
jy
@@ -12288,14 +12647,14 @@ va
Tf
pb
Eu
+va
+ii
+dt
uq
Ek
Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(25,1,1) = {"
jy
@@ -12359,13 +12718,13 @@ jV
ae
cC
uq
+uq
+uq
+uq
mG
mG
jy
Ek
-Ek
-Ek
-Ek
"}
(26,1,1) = {"
jy
@@ -12431,11 +12790,11 @@ QX
uq
Ek
Ek
+Ek
+Ek
+Ek
jy
Ek
-Ek
-Ek
-Ek
"}
(27,1,1) = {"
jy
@@ -12501,11 +12860,11 @@ vr
uq
Ek
Ek
+Ek
+Ek
+Ek
mG
jy
-Ek
-Ek
-Ek
"}
(28,1,1) = {"
jy
@@ -12573,8 +12932,8 @@ uq
mG
mG
jy
-Ek
-Ek
+tc
+tc
Ek
"}
(29,1,1) = {"
@@ -12632,7 +12991,7 @@ YJ
MC
Gu
ly
-Ap
+Sa
ts
va
Yc
@@ -12772,7 +13131,7 @@ Sa
CN
Ef
mQ
-Ef
+Sa
JX
va
XY
@@ -12842,7 +13201,7 @@ Sa
JF
Qa
RL
-hm
+Sa
LK
va
AG
@@ -12875,8 +13234,8 @@ Vz
Vz
Vz
Vz
-KI
-Dx
+Mk
+dR
oz
yv
ku
@@ -14277,8 +14636,8 @@ zE
yt
Mk
sy
-Oj
OW
+eY
Oj
ZH
hd
@@ -14348,7 +14707,7 @@ cp
Mk
PX
Yt
-sS
+af
uA
Ko
uJ
From 4878185d6c3d6e257a1c822cd13180c0082ccf4d Mon Sep 17 00:00:00 2001
From: SPLURT-Station
Date: Fri, 28 Oct 2022 00:45:32 +0000
Subject: [PATCH 37/64] Update TGS DMAPI
---
code/__DEFINES/tgs.dm | 2 +-
code/modules/tgs/v3210/api.dm | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm
index 51bf6e66f7..83e06658c5 100644
--- a/code/__DEFINES/tgs.dm
+++ b/code/__DEFINES/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "6.0.5"
+#define TGS_DMAPI_VERSION "6.0.6"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
diff --git a/code/modules/tgs/v3210/api.dm b/code/modules/tgs/v3210/api.dm
index 9bcc801897..3c218d5b10 100644
--- a/code/modules/tgs/v3210/api.dm
+++ b/code/modules/tgs/v3210/api.dm
@@ -99,7 +99,11 @@
if(skip_compat_check && !fexists(SERVICE_INTERFACE_DLL))
TGS_ERROR_LOG("Service parameter present but no interface DLL detected. This is symptomatic of running a service less than version 3.1! Please upgrade.")
return
+ #if DM_VERSION >= 515
+ call_ext(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+ #else
call(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+ #endif
return TRUE
/datum/tgs_api/v3210/OnTopic(T)
From e2bae246422b6b4954059170c15f41ff5e5fdb8b Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 21:51:06 +0000
Subject: [PATCH 38/64] Automatic changelog generation for PR #537 [ci skip]
---
html/changelogs/AutoChangeLog-pr-537.yml | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-537.yml
diff --git a/html/changelogs/AutoChangeLog-pr-537.yml b/html/changelogs/AutoChangeLog-pr-537.yml
new file mode 100644
index 0000000000..a36198bbfc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-537.yml
@@ -0,0 +1,6 @@
+author: JerryWester
+delete-after: true
+changes:
+ - rscadd: Arachnid quirk, grants the abilities of arachnids to non-arachnids for
+ the cost of a point
+ - tweak: Bloodsucker fledgelings can drink from cocooned victims
From 6a46682dc701bf915414225e4fdf920d0dba30fd Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Fri, 28 Oct 2022 21:52:35 +0000
Subject: [PATCH 39/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-537.yml | 6 ------
html/changelogs/archive/2022-10.yml | 5 +++++
2 files changed, 5 insertions(+), 6 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-537.yml
diff --git a/html/changelogs/AutoChangeLog-pr-537.yml b/html/changelogs/AutoChangeLog-pr-537.yml
deleted file mode 100644
index a36198bbfc..0000000000
--- a/html/changelogs/AutoChangeLog-pr-537.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: JerryWester
-delete-after: true
-changes:
- - rscadd: Arachnid quirk, grants the abilities of arachnids to non-arachnids for
- the cost of a point
- - tweak: Bloodsucker fledgelings can drink from cocooned victims
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index 27d96f00ee..28ac28bee9 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -139,3 +139,8 @@
2022-10-23:
Nukechickenu64:
- rscadd: Added werewolf quirk
+2022-10-28:
+ JerryWester:
+ - rscadd: Arachnid quirk, grants the abilities of arachnids to non-arachnids for
+ the cost of a point
+ - tweak: Bloodsucker fledgelings can drink from cocooned victims
From 96a15965ef6d16eb81c890230579d5ccf8104b76 Mon Sep 17 00:00:00 2001
From: BongaTheProto <93835010+BongaTheProto@users.noreply.github.com>
Date: Fri, 28 Oct 2022 16:54:09 -0500
Subject: [PATCH 40/64] Update mech_construct.dmi
---
modular_splurt/icons/mecha/mech_construct.dmi | Bin 1501 -> 3042 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/modular_splurt/icons/mecha/mech_construct.dmi b/modular_splurt/icons/mecha/mech_construct.dmi
index 1406b4463cb6e8db84e65dff5fdf9c2cfc7fcd4b..1f24596d4631c8426dbe613fac0f6a8878927616 100644
GIT binary patch
literal 3042
zcmV<83mx={P)V=-0C=38lg|pmFbs#!?NgNPD2V^AUSvadaIa7@8`t92LR#wUTitn}Ipr6U
zkB=Nut4n+Bdez)InUSIkUY*rxyOZMOOtPgp9;C47Mw^x`6pHRCt{2onMF*RUF4>)dy2kGckmv)DR<6
z#J9*`eUiepEeIbZ6X_vMBzJ3j2xU=vXiE(#>>)x72~o;4s0eB!eHAmUMA9v9fs2`2
zy7VHq{m$-h{N1@TbLY?R%$;-R_krQgojLd1IrICT-}y7=oM{^v7;u#GGNIWQpfs0B
zNdlkj-&KthZbk3*wse=H^g&;3*p*g-50aO>pm>Z&J44S#WT
z|LIpF4ZG^ox2n!U#~B*^&D0e=DuRNOs0e`Zr=A-%@Wqe-3t1S&3Tg!K`i`BR;RY{X
zaz77!bimEUw;o|Rf7H-*B3O85*9|-B0kFUBxee~;y!i{f^Kb0jA>tV*ZVp{pcyWM@y94`=DdF9BqYGvQHDvawI7zSq>9Y+|1^U7cJ7$*-JH%gR}kaIN7y)V
zN-;b4pfhrn{yR2*VJ5!r_|0497vm)tPq@a6AhF`P#38zx2xc4MY`aJ=p`Eih|
z55rU$N;d%BKnhcyMH0#YS*h^=?-2HR#Tf~vXQ=|boR@zALED%Ex
zL0Y9eUX2Gp&O%!qgq7pm3;4Z6SPrN91GeF-(=uN)I+D0J%1r}
z=UQY}aF8*nC;*hRA%q~;&szYJknxdl^jMm5(Iz~L6m)Ol`f)FCPtu5>MgSB+n9KIx
z4DJEm-`C&p&;1@FD@gdP8BAEGFRfl`MDyh^hb*D9`zKDhm9?1s4N1j8sJs
zxgLg>s0DNK@+{JzxT0q_NeL_hczd23iyPK2h9D2XMP(Dxo~6im0(fnEpZodc*WY+2
zH*eWo_X83K3{E1zKCcfXjWZ1>pC#M=z?5e(g~UDZ1n}mrKDR6Q-470UC%3$?fjofg
z9;t-@V0_B;*r!|$Aq-!wxaDc1IF;s8R|HHN8R9N4vi(kd1dVF>N#cxyziV02O`Gs6
zCXl)ZkzK)IHT$3^d(_tVUu4`klK^jojvA1qAKYgAtpJf`U=&iLc#4ck&r(!sMg{Y7
z-roX#XuHLpASag9(6KifDZVK<<
zxp!v$6Fq(mVas+SZ6&e}z;ix5@q?lNx^c5E?AWo2caFS)RHaWbL*(4Rpot=c-?jS(
zj+mGTqR10_a;Vap==uO9M+H!FQ~)JM1yFKS03}BSP;yiNB`4L>z&O}6$G*%M^#GD9
zStw>O<^lXC`XtzEme6dvaA;lpl5!UWc=Ue$OVz~mfzJ~j~S-o3l!Jq%AH
z(w=p_C8GkMx%Ci1UL$Q=xtKALHe&)H*8~w@qv_VB3}n-6-mFNb)p#91Y9)&xXfh}E
z%P@qCk6NY$A+kPd&!r!L6bm8naROPPQM}lSx|o9rkXA}}q3ZyWD_JzchS@w)NTxN{
zp1>?CSpOn)3=a##EBb%dHsU|*BC`ndL5Bgq#d7t
z?njylqPYq{3Q|49G&p_?pC+4tLA{PWJ^8;7gEs{S1>(y^0Fra=i!{W%S<})b|5L{U
zq@b009dnr%&?!<>VfaiRGoX>mUS^+D20`sI9y^eXJ0*JuY3TqOy2q-x!
zfRdv{Ktj5^yCZut_w3nYRk5LK1jVG0;r-Ym1oZ$hSigR~Yy8=>XU7VE?bHwOpVcS%3v6D%9JUwL|}{Yfi-o2W|zU}6}<4%Syu#6
z!1#+EUTRGrf)yU12xTyJ2SWq|iGk;M7~h8X4iZ)ffV1KjEoh4VUezm
z{%>6mFwncQ=0E6o=fp}P5m+Mt0_E)4^JDw|+@41nOzs^6L};oQ28v>okSW)XX=o>I
zFCR7fs8PK|qE^;~f%pKXt3eEvm{ZrR=?LO)%H-~spkt=q_m^~SBhw>>{41iRou_D(
z2WWN~>>mz(V)=K@rlECpMULrt1LP5W2UAT}wZ;PgzZc+`%>DfTX`ilRPTPLx^p(yU
zqvthV@R@aQyVvu{p;uD>pO^=bT)i@iW|YAMPZx=y;&e9c6|-3kPl$K`xFp^_HZcRJ
zXk{>W$aE1t|HJ7cjid#s^|W0JYOi;eWL|42=pH%3yNC
zJgl(`X)#2KfM&cPnks~#$gg=XI$|DxFA1Awv7)4KkD$g+kC*_E3r!XQL8#%gBkBRr
z978c+%Wx<~cszjA>Xk}Xk}~J88fFlpB+0MEAFSd)>MaY{NsHe7#Ps{NeGEN0F5?{
z+8PNYE-?PGWy_qtzCQQ+wwJqI!#4UI!XPZbZxIIT-|KcNiDPjvYJZ(0S~iIdjJI9Q>FT0pY|F01Vl~_VF1t
zEP2d3)CwdGK_Y-biOYla?;ld*CnME>kf347@BpUXp+mWv49dTQuybns#-!>AB#%%#
zEIE6QkHVkZVPKT`v>z2#2`5uO01PiNG&v5`1Vkl}YWDUpuB1n$44}<2<
zTi{mwuwh?GhqVHriXS%WBvO)NodEblBIJDX1p3e?9o7f{#-(=7lpGa6$x#8692G#x
kQ2~@36+p>R0hFBo0lxThJe5wRPyhe`07*qoM6N<$g0^jqw*UYD
delta 1494
zcmV;{1u6RC7u^ex8Gi!+008vhk@)}s09sH?R7JqRz=TRe%Wq4ygiXtoOFKS78yz5-
zQcy}&UMMa$q-!yxQZWEZe@#tIK0ZElMn!39X_A_tyvo)xGBO?>9uyQ55*thae-3|Y
z0KmY&0000F5DqXfFo1x7ikoo|00001bW%=J06^y0W&i*HtABb_Sad{Xb7OL8aCB*J
zZU6vyoSle7G+Hi)9H8uq7`G3R7s9pM-Baw}Sw%N`&$tcln5*rC^9w;KSl#>_{oCx~CwYAWie(b*A
z@dn@+{a5{#8+iZ#1bRtCK~#90?V4+M+aL^vSsN%$O-j0?+p&}X|2HRrFYU3o8Dl=o
z+Kz8Cyblsq1ZRvLHrubsYU#fWR)^sA^fF$)oL;K{uz!RW)1
zMHh+$i1Z5rC=#GS0LjiE4iIO!1b~JHxGVu;{URx10=|@^Le})AOCz8`dE(D
z;g_Wn*?*di?gO9W(BUAP@6UfIY0B5MUq}L>2^S1z0HmA%s1B5-I&h3EzI`LdlLfG@
zm&*unXus^h;TIAB2$ml=PIwR#)&*?3p#i7}kdJ8s3V=)d84R9~_8JI?S1BdhFD?Kg
zyYXSLLNw@s#<){Z09%w)i(v3YQQ_@h0U^Jy#^fa*XrpP!#FST4=*
zap-({xDNmvMgSp30Q+#+L1eFP0_VTkbl^w;!z+$V91TDxqIh#mw*&_`GohGHLk1!f
z5q~qqTO<|%;LmG63^tKiFG=WuMqOb{h8usTUP2ohUtvqqitllL<6SLyixn|dJOhhrqjNRk`a#vehteqNHy*MIjX
z$sGW^N%FA(oc0S-uv+?KbP*ZWRFTGr{e4FQegg@Er(7yB7fn#h6b7_aeKT!5C|P
zM=!vEXRP4e7L2hexj`L&m5Km_VytuvYZ>_4uHQlMS}4X?LTPOdWdK4k#?_<+aQ!Ol
z!PWuI|p2GoJwJo08R;?ol##lg63YD><>k`#6W!k~9
zT{THUF&5v<)rV4Q{R9og82>ks`lFR=hY|H#unYo!jL`*3|5e`7@arqAynP34CQU0DvM6
z+_=KtZfyRt*+}AHJeLRo^Oem;^zrO_b1J6qDVsYG?QrzwR7Riq%I2;I<*tW$U@rGJ
z)O|ks9>M^Z6#$T-$4OXa_)jxIRedC=t>4v|fD^#uSu6#_0bnAkIR_yLK1ybxfP4>s
w0HCim4RHMU6;$&9=HTgY*kOkqcGzb24-E!XdxJ-jj{pDw07*qoM6N<$f*la0K>z>%
From fc2a7e0efbcc2954a26b6679eaea7c48c0aa146f Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 22:06:47 +0000
Subject: [PATCH 41/64] Automatic changelog generation for PR #573 [ci skip]
---
html/changelogs/AutoChangeLog-pr-573.yml | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-573.yml
diff --git a/html/changelogs/AutoChangeLog-pr-573.yml b/html/changelogs/AutoChangeLog-pr-573.yml
new file mode 100644
index 0000000000..59fb330b1f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-573.yml
@@ -0,0 +1,4 @@
+author: KathrinBailey
+delete-after: true
+changes:
+ - bugfix: Savannah Ivanov chassis sprite is no longer invisible.
From aa61604d2df6231a234ef79b3952cc8d12133bdf Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Fri, 28 Oct 2022 22:08:14 +0000
Subject: [PATCH 42/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-573.yml | 4 ----
html/changelogs/archive/2022-10.yml | 2 ++
2 files changed, 2 insertions(+), 4 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-573.yml
diff --git a/html/changelogs/AutoChangeLog-pr-573.yml b/html/changelogs/AutoChangeLog-pr-573.yml
deleted file mode 100644
index 59fb330b1f..0000000000
--- a/html/changelogs/AutoChangeLog-pr-573.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: KathrinBailey
-delete-after: true
-changes:
- - bugfix: Savannah Ivanov chassis sprite is no longer invisible.
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index 28ac28bee9..fec580ba50 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -144,3 +144,5 @@
- rscadd: Arachnid quirk, grants the abilities of arachnids to non-arachnids for
the cost of a point
- tweak: Bloodsucker fledgelings can drink from cocooned victims
+ KathrinBailey:
+ - bugfix: Savannah Ivanov chassis sprite is no longer invisible.
From 9440bf7b90501b4b8bdc144bef8fccc4cae86575 Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 22:51:10 +0000
Subject: [PATCH 43/64] Automatic changelog generation for PR #559 [ci skip]
---
html/changelogs/AutoChangeLog-pr-559.yml | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-559.yml
diff --git a/html/changelogs/AutoChangeLog-pr-559.yml b/html/changelogs/AutoChangeLog-pr-559.yml
new file mode 100644
index 0000000000..936d06198f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-559.yml
@@ -0,0 +1,5 @@
+author: zeroisthebiggay
+delete-after: true
+changes:
+ - tweak: hypothetically allows you to leash cowbells and maid collars for erotic
+ purposes
From 2698b325ed389718f7ea0e9652f6a57aec97595d Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Fri, 28 Oct 2022 22:52:36 +0000
Subject: [PATCH 44/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-559.yml | 5 -----
html/changelogs/archive/2022-10.yml | 3 +++
2 files changed, 3 insertions(+), 5 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-559.yml
diff --git a/html/changelogs/AutoChangeLog-pr-559.yml b/html/changelogs/AutoChangeLog-pr-559.yml
deleted file mode 100644
index 936d06198f..0000000000
--- a/html/changelogs/AutoChangeLog-pr-559.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-author: zeroisthebiggay
-delete-after: true
-changes:
- - tweak: hypothetically allows you to leash cowbells and maid collars for erotic
- purposes
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index fec580ba50..12e38abeb6 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -146,3 +146,6 @@
- tweak: Bloodsucker fledgelings can drink from cocooned victims
KathrinBailey:
- bugfix: Savannah Ivanov chassis sprite is no longer invisible.
+ zeroisthebiggay:
+ - tweak: hypothetically allows you to leash cowbells and maid collars for erotic
+ purposes
From bc6c63dd3ae0266f1856af31b81b049befa581c4 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 28 Oct 2022 20:26:56 -0300
Subject: [PATCH 45/64] Update TGS DMAPI (#271)
Co-authored-by: tgstation-server
---
code/__DEFINES/tgs.dm | 2 +-
code/modules/tgs/v3210/api.dm | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm
index 51bf6e66f7..83e06658c5 100644
--- a/code/__DEFINES/tgs.dm
+++ b/code/__DEFINES/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "6.0.5"
+#define TGS_DMAPI_VERSION "6.0.6"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
diff --git a/code/modules/tgs/v3210/api.dm b/code/modules/tgs/v3210/api.dm
index 9bcc801897..3c218d5b10 100644
--- a/code/modules/tgs/v3210/api.dm
+++ b/code/modules/tgs/v3210/api.dm
@@ -99,7 +99,11 @@
if(skip_compat_check && !fexists(SERVICE_INTERFACE_DLL))
TGS_ERROR_LOG("Service parameter present but no interface DLL detected. This is symptomatic of running a service less than version 3.1! Please upgrade.")
return
+ #if DM_VERSION >= 515
+ call_ext(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+ #else
call(SERVICE_INTERFACE_DLL, SERVICE_INTERFACE_FUNCTION)(instance_name, command) //trust no retval
+ #endif
return TRUE
/datum/tgs_api/v3210/OnTopic(T)
From a21a047c3d26cbca4e97c98523ccb5a46a1f7e75 Mon Sep 17 00:00:00 2001
From: SandPoot <43283559+SandPoot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 20:30:36 -0300
Subject: [PATCH 46/64] Fixes custom roundstart items (#272)
---
code/controllers/subsystem/job.dm | 2 ++
modular_citadel/code/modules/custom_loadout/load_to_mob.dm | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm
index d2dfd83076..02c8afdfc7 100644
--- a/code/controllers/subsystem/job.dm
+++ b/code/controllers/subsystem/job.dm
@@ -489,6 +489,8 @@ SUBSYSTEM_DEF(job)
job.after_spawn(H, M.client, joined_late) // note: this happens before the mob has a key! M will always have a client, H might not.
equip_loadout(N, H, TRUE)//CIT CHANGE - makes players spawn with in-backpack loadout items properly. A little hacky but it works
+ handle_roundstart_items(H, M.ckey, H.mind.assigned_role, H.mind.special_role)
+
var/list/tcg_cards
if(ishuman(H))
if(length(H.client?.prefs?.tcg_cards))
diff --git a/modular_citadel/code/modules/custom_loadout/load_to_mob.dm b/modular_citadel/code/modules/custom_loadout/load_to_mob.dm
index 1d28c7320c..2dd30e6078 100644
--- a/modular_citadel/code/modules/custom_loadout/load_to_mob.dm
+++ b/modular_citadel/code/modules/custom_loadout/load_to_mob.dm
@@ -54,7 +54,7 @@
var/obj/item/loaded = loaded_atom
var/obj/item/storage/S = H.get_item_by_slot(ITEM_SLOT_BACK)
if(istype(S))
- SEND_SIGNAL(S, COMSIG_TRY_STORAGE_INSERT,loaded, TRUE, H) //Force it into their backpack
+ SEND_SIGNAL(S, COMSIG_TRY_STORAGE_INSERT, loaded, null, TRUE, TRUE) //Force it into their backpack
continue
if(!H.put_in_hands(loaded)) //They don't have one/somehow that failed, put it in their hands
loaded.forceMove(T) //Guess we're just dumping it on the floor!
From 9a9a70e97a7964ef2d5cbb2c5a72968cfd3c1e8f Mon Sep 17 00:00:00 2001
From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 23:31:38 +0000
Subject: [PATCH 47/64] Automatic changelog generation for PR #272 [ci skip]
---
html/changelogs/AutoChangeLog-pr-272.yml | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-272.yml
diff --git a/html/changelogs/AutoChangeLog-pr-272.yml b/html/changelogs/AutoChangeLog-pr-272.yml
new file mode 100644
index 0000000000..e5e31fa8a3
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-272.yml
@@ -0,0 +1,4 @@
+author: SandPoot
+delete-after: true
+changes:
+ - bugfix: Fixed custom_roundstart_items, go reward your favorite players.
From d14ef651fb9c1042b2028f42056acb81fc5f44e4 Mon Sep 17 00:00:00 2001
From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com>
Date: Fri, 28 Oct 2022 23:32:35 +0000
Subject: [PATCH 48/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-272.yml | 4 ----
html/changelogs/archive/2022-10.yml | 3 +++
2 files changed, 3 insertions(+), 4 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-272.yml
diff --git a/html/changelogs/AutoChangeLog-pr-272.yml b/html/changelogs/AutoChangeLog-pr-272.yml
deleted file mode 100644
index e5e31fa8a3..0000000000
--- a/html/changelogs/AutoChangeLog-pr-272.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: SandPoot
-delete-after: true
-changes:
- - bugfix: Fixed custom_roundstart_items, go reward your favorite players.
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index b996f9250c..5a93fcbf79 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -23,3 +23,6 @@
and the standard cargo bounties.
- rscadd: The Sales Tagger has been added to enable a little bit of entrepreneurship
by the crew.
+2022-10-28:
+ SandPoot:
+ - bugfix: Fixed custom_roundstart_items, go reward your favorite players.
From 5844ae79b9c39009ae2be5844d38f46ed691f6cd Mon Sep 17 00:00:00 2001
From: SandPoot <43283559+SandPoot@users.noreply.github.com>
Date: Sat, 29 Oct 2022 00:28:00 -0300
Subject: [PATCH 49/64] Fixes dwarves (again) (#273)
---
code/modules/mob/living/carbon/human/species_types/dwarves.dm | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species_types/dwarves.dm b/code/modules/mob/living/carbon/human/species_types/dwarves.dm
index ae208a4291..e0a9bcaa36 100644
--- a/code/modules/mob/living/carbon/human/species_types/dwarves.dm
+++ b/code/modules/mob/living/carbon/human/species_types/dwarves.dm
@@ -34,10 +34,8 @@ GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) //
H.AddElement(/datum/element/dwarfism, COMSIG_SPECIES_LOSS, src)
RegisterSignal(C, COMSIG_MOB_SAY, .proc/handle_speech) //We register handle_speech is being used.
-/datum/species/dwarf/on_species_loss(mob/living/carbon/C, datum/species/new_species)
+/datum/species/dwarf/on_species_loss(mob/living/carbon/H, datum/species/new_species)
. = ..()
- var/mob/living/carbon/human/H = C
- H.RemoveElement(/datum/element/dwarfism, COMSIG_SPECIES_LOSS, src)
UnregisterSignal(H, COMSIG_MOB_SAY) //We register handle_speech is not being used.
//Dwarf Name stuff
From 4e6cda3c4d6312994586b0fe4f5b0e043965fffb Mon Sep 17 00:00:00 2001
From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com>
Date: Sat, 29 Oct 2022 03:28:52 +0000
Subject: [PATCH 50/64] Automatic changelog generation for PR #273 [ci skip]
---
html/changelogs/AutoChangeLog-pr-273.yml | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-273.yml
diff --git a/html/changelogs/AutoChangeLog-pr-273.yml b/html/changelogs/AutoChangeLog-pr-273.yml
new file mode 100644
index 0000000000..00759c2231
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-273.yml
@@ -0,0 +1,4 @@
+author: SandPoot
+delete-after: true
+changes:
+ - bugfix: 'Fixed dwarves (again) thanks for the bug supporters: None.'
From f5ce42be1529daf6052c3e40e19eb144252c54b5 Mon Sep 17 00:00:00 2001
From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com>
Date: Sat, 29 Oct 2022 03:30:09 +0000
Subject: [PATCH 51/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-273.yml | 4 ----
html/changelogs/archive/2022-10.yml | 3 +++
2 files changed, 3 insertions(+), 4 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-273.yml
diff --git a/html/changelogs/AutoChangeLog-pr-273.yml b/html/changelogs/AutoChangeLog-pr-273.yml
deleted file mode 100644
index 00759c2231..0000000000
--- a/html/changelogs/AutoChangeLog-pr-273.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: SandPoot
-delete-after: true
-changes:
- - bugfix: 'Fixed dwarves (again) thanks for the bug supporters: None.'
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index 5a93fcbf79..f3523ef135 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -26,3 +26,6 @@
2022-10-28:
SandPoot:
- bugfix: Fixed custom_roundstart_items, go reward your favorite players.
+2022-10-29:
+ SandPoot:
+ - bugfix: 'Fixed dwarves (again) thanks for the bug supporters: None.'
From 2bbc9f033f480978fa2c7d21e0372dd5917e2396 Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:12:47 +0300
Subject: [PATCH 52/64] cumqueen
---
code/modules/holiday/halloween/jacqueen.dm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index f97da7c528..25cc7eca9d 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -410,9 +410,9 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
if(ishuman(C))
- option = rand(1,6)
+ option = rand(1,7)
else
- option = rand(1,5)
+ option = rand(1,6)
switch(option)
if(1)
visible_message("[src] waves their arms around, \"Hocus pocus, making friends is now your focus!\"")
@@ -442,6 +442,10 @@
jacqrunes("A new familiar for me, and you'll see it's thee!", C)
C.reagents.add_reagent(/datum/reagent/fermi/secretcatchem, 30)
if(6)
+ visible_message("[src] waves their arms around, \"There will be some fun on this night, go on and find someone you like!\"")
+ jacqrunes("There will be some fun on this night, go on and find someone you like!", C)
+ C.reagents.add_reagent(/datum/reagent/drug/aphrodisiacplus, 15)
+ if(7)
visible_message("[src] waves their arms around, \"While you may not be a ghost, for this sheet you'll always be it's host.\"")
jacqrunes("While you may not be a ghost, for this sheet you'll always be it's host.", C)
var/mob/living/carbon/human/H = C
From 92f16f1267ea832e0b625d333a8cfe4e9afdfeb0 Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:39:22 +0300
Subject: [PATCH 53/64] genderchange
---
code/modules/holiday/halloween/jacqueen.dm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index 25cc7eca9d..3b10a7705b 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -409,7 +409,9 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
- if(ishuman(C))
+ if(ishuman(C) and gender_check(c)== MALE or FEMALE)
+ option = rand(1,8)
+ else if (ishuman(C))
option = rand(1,7)
else
option = rand(1,6)
@@ -454,6 +456,9 @@
H.dropItemToGround(W, TRUE)
var/ghost = new /obj/item/clothing/suit/ghost_sheet/sticky
H.equip_to_slot(ghost, ITEM_SLOT_OCLOTHING, 1, 1)
+ if(8)
+ visible_message("[src] waves their arms around, \"Who cares, it's lad or lass? You'll take a new life glanсe!\"")
+ jacqrunes("Who cares, it's lad or lass? You'll take a new life glanсe!",C)
poof()
//Blame Fel
From 20a5d6a6441d66ab04ceab369f62702085f70c2e Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:42:59 +0300
Subject: [PATCH 54/64] quickfix
---
code/modules/holiday/halloween/jacqueen.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index 3b10a7705b..9ed50d3846 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -409,7 +409,7 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
- if(ishuman(C) and gender_check(c)== MALE or FEMALE)
+ if(ishuman(C) and C.gender == MALE or FEMALE)
option = rand(1,8)
else if (ishuman(C))
option = rand(1,7)
From 9a82573c92f49547c5ab93be5796a275dd9a1d23 Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:46:12 +0300
Subject: [PATCH 55/64] quickfix2?
---
code/modules/holiday/halloween/jacqueen.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index 9ed50d3846..39f52fdb34 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -409,7 +409,7 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
- if(ishuman(C) and C.gender == MALE or FEMALE)
+ if(ishuman(C) and (C.gender == MALE or C.gender == FEMALE))
option = rand(1,8)
else if (ishuman(C))
option = rand(1,7)
From 292e2fbd52cce54658cdb97c53253abaf5916651 Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:51:29 +0300
Subject: [PATCH 56/64] godimdumb
---
code/modules/holiday/halloween/jacqueen.dm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index 39f52fdb34..257ccc35c0 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -444,7 +444,7 @@
jacqrunes("A new familiar for me, and you'll see it's thee!", C)
C.reagents.add_reagent(/datum/reagent/fermi/secretcatchem, 30)
if(6)
- visible_message("[src] waves their arms around, \"There will be some fun on this night, go on and find someone you like!\"")
+ visible_message("[src] waves their arms around, \"There will be some fun on this night, go on and find someone you like!\"")
jacqrunes("There will be some fun on this night, go on and find someone you like!", C)
C.reagents.add_reagent(/datum/reagent/drug/aphrodisiacplus, 15)
if(7)
@@ -457,8 +457,9 @@
var/ghost = new /obj/item/clothing/suit/ghost_sheet/sticky
H.equip_to_slot(ghost, ITEM_SLOT_OCLOTHING, 1, 1)
if(8)
- visible_message("[src] waves their arms around, \"Who cares, it's lad or lass? You'll take a new life glanсe!\"")
- jacqrunes("Who cares, it's lad or lass? You'll take a new life glanсe!",C)
+ visible_message("[src] waves their arms around, \"Who cares, it's lad or lass? You'll take a new life glanсe!\"")
+ jacqrunes("Who cares, it's lad or lass? You'll take a new life glanсe!", C)
+ C.set_gender(C.gender == MALE ? FEMALE : MALE)
poof()
//Blame Fel
From 6b6997c2912104e71fc6c49d14ba348ddf084e9e Mon Sep 17 00:00:00 2001
From: Lonofera
Date: Sat, 29 Oct 2022 16:58:24 +0300
Subject: [PATCH 57/64] now that's gonna work indeed
---
code/modules/holiday/halloween/jacqueen.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm
index 257ccc35c0..0f112a0238 100644
--- a/code/modules/holiday/halloween/jacqueen.dm
+++ b/code/modules/holiday/halloween/jacqueen.dm
@@ -409,7 +409,7 @@
/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender)
var/option
- if(ishuman(C) and (C.gender == MALE or C.gender == FEMALE))
+ if(ishuman(C) && (C.gender == MALE || C.gender == FEMALE))
option = rand(1,8)
else if (ishuman(C))
option = rand(1,7)
From 161471cb158f1b44e74d6e4ac304e64952e93385 Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Sat, 29 Oct 2022 18:41:23 +0000
Subject: [PATCH 58/64] Automatic changelog generation for PR #576 [ci skip]
---
html/changelogs/AutoChangeLog-pr-576.yml | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-576.yml
diff --git a/html/changelogs/AutoChangeLog-pr-576.yml b/html/changelogs/AutoChangeLog-pr-576.yml
new file mode 100644
index 0000000000..22ea06ed91
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-576.yml
@@ -0,0 +1,8 @@
+author: Ldip999
+delete-after: true
+changes:
+ - rscadd: Limbgrower added to Cog surgery.
+ - rscdel: Removed medical records console from Cog surgery.
+ - rscadd: Medical windoor added to shared table between robotics and medical storage
+ on Cog.
+ - bugfix: One conveyor's rotation fixed on Cog.
From 04134318618f45edc55f739d97127867d780106d Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Sat, 29 Oct 2022 18:42:45 +0000
Subject: [PATCH 59/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-576.yml | 8 --------
html/changelogs/archive/2022-10.yml | 10 ++++++++--
2 files changed, 8 insertions(+), 10 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-576.yml
diff --git a/html/changelogs/AutoChangeLog-pr-576.yml b/html/changelogs/AutoChangeLog-pr-576.yml
deleted file mode 100644
index 22ea06ed91..0000000000
--- a/html/changelogs/AutoChangeLog-pr-576.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-author: Ldip999
-delete-after: true
-changes:
- - rscadd: Limbgrower added to Cog surgery.
- - rscdel: Removed medical records console from Cog surgery.
- - rscadd: Medical windoor added to shared table between robotics and medical storage
- on Cog.
- - bugfix: One conveyor's rotation fixed on Cog.
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index ed48adcb92..460c9e28ed 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -146,11 +146,17 @@
- tweak: Bloodsucker fledgelings can drink from cocooned victims
KathrinBailey:
- bugfix: Savannah Ivanov chassis sprite is no longer invisible.
+ SandPoot:
+ - bugfix: Fixed custom_roundstart_items, go reward your favorite players.
zeroisthebiggay:
- tweak: hypothetically allows you to leash cowbells and maid collars for erotic
purposes
- SandPoot:
- - bugfix: Fixed custom_roundstart_items, go reward your favorite players.
2022-10-29:
+ Ldip999:
+ - rscadd: Limbgrower added to Cog surgery.
+ - rscdel: Removed medical records console from Cog surgery.
+ - rscadd: Medical windoor added to shared table between robotics and medical storage
+ on Cog.
+ - bugfix: One conveyor's rotation fixed on Cog.
SandPoot:
- bugfix: 'Fixed dwarves (again) thanks for the bug supporters: None.'
From 85a0cdaec8225df79d5547414f3919095201b10d Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Sun, 30 Oct 2022 16:26:23 +0000
Subject: [PATCH 60/64] Automatic changelog generation for PR #547 [ci skip]
---
html/changelogs/AutoChangeLog-pr-547.yml | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-547.yml
diff --git a/html/changelogs/AutoChangeLog-pr-547.yml b/html/changelogs/AutoChangeLog-pr-547.yml
new file mode 100644
index 0000000000..90494816ac
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-547.yml
@@ -0,0 +1,6 @@
+author: KathrinBailey
+delete-after: true
+changes:
+ - rscdel: PACMAN Boxstation Engine
+ - rscadd: DIY Boxstation Engine
+ - rscadd: DIY Supermatter Boxstation Engine
From ac055f753eba5ccb39626ff79344eb7bc56b3dbf Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Sun, 30 Oct 2022 16:28:03 +0000
Subject: [PATCH 61/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-547.yml | 6 ------
html/changelogs/archive/2022-10.yml | 5 +++++
2 files changed, 5 insertions(+), 6 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-547.yml
diff --git a/html/changelogs/AutoChangeLog-pr-547.yml b/html/changelogs/AutoChangeLog-pr-547.yml
deleted file mode 100644
index 90494816ac..0000000000
--- a/html/changelogs/AutoChangeLog-pr-547.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: KathrinBailey
-delete-after: true
-changes:
- - rscdel: PACMAN Boxstation Engine
- - rscadd: DIY Boxstation Engine
- - rscadd: DIY Supermatter Boxstation Engine
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index 460c9e28ed..5bb82bb17f 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -160,3 +160,8 @@
- bugfix: One conveyor's rotation fixed on Cog.
SandPoot:
- bugfix: 'Fixed dwarves (again) thanks for the bug supporters: None.'
+2022-10-30:
+ KathrinBailey:
+ - rscdel: PACMAN Boxstation Engine
+ - rscadd: DIY Boxstation Engine
+ - rscadd: DIY Supermatter Boxstation Engine
From 15bfb4f302933b35e6ca24cad3e210e8cae553e4 Mon Sep 17 00:00:00 2001
From: BongaTheProto <93835010+BongaTheProto@users.noreply.github.com>
Date: Sun, 30 Oct 2022 13:28:57 -0500
Subject: [PATCH 62/64] module and organize
and so we can merge
---
code/datums/ruins/space.dm | 1 -
modular_splurt/code/datums/ruins/space.dm | 25 +++++++++++++++++++
.../code/game/area/areas/ruins/space.dm | 24 ------------------
tgstation.dme | 1 +
4 files changed, 26 insertions(+), 25 deletions(-)
create mode 100644 modular_splurt/code/datums/ruins/space.dm
diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm
index 81118e15e6..7a57e50364 100644
--- a/code/datums/ruins/space.dm
+++ b/code/datums/ruins/space.dm
@@ -148,7 +148,6 @@
suffix = "spacehotel.dmm"
name = "The Twin-Nexus Hotel"
description = "An interstellar hotel, where the weary spaceman can rest their head and relax, assured that the residental staff will not murder them in their sleep. Probably."
- unpickable = TRUE //Splurt Change
/datum/map_template/ruin/space/turreted_outpost
id = "turreted-outpost"
diff --git a/modular_splurt/code/datums/ruins/space.dm b/modular_splurt/code/datums/ruins/space.dm
new file mode 100644
index 0000000000..870eb7b861
--- /dev/null
+++ b/modular_splurt/code/datums/ruins/space.dm
@@ -0,0 +1,25 @@
+//Main code edits
+/datum/map_template/ruin/space/spacehotel
+ unpickable = TRUE
+
+//Own stuff
+/datum/map_template/ruin/space/radiostation
+ prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
+ id = "radiostation"
+ suffix = "radiostation.dmm"
+ name = "NT Radio Station"
+ description = "A mobile NT Radio Station ship."
+
+/datum/map_template/ruin/space/syndielistenspace
+ prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
+ id = "syndielistenspace"
+ suffix = "syndielistenspace.dmm"
+ name = "Syndicate Listening Outpost"
+ description = "A syndicate listening outpost cleverly disguised as an asteroid"
+
+/datum/map_template/ruin/space/spacehotelsplurt
+ prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
+ id = "spacehotelsplurt"
+ suffix = "spacehotelsplurt.dmm"
+ name = "Twin Spires Hotel and Club"
+ description = "A Nanotrasen-partnered interstellar hotel and stripclub"
diff --git a/modular_splurt/code/game/area/areas/ruins/space.dm b/modular_splurt/code/game/area/areas/ruins/space.dm
index 45182a0fde..112ee10f1f 100644
--- a/modular_splurt/code/game/area/areas/ruins/space.dm
+++ b/modular_splurt/code/game/area/areas/ruins/space.dm
@@ -37,27 +37,11 @@
icon_state = "dorms"
has_gravity = STANDARD_GRAVITY
-/datum/map_template/ruin/space/radiostation
- prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
- id = "radiostation"
- suffix = "radiostation.dmm"
- name = "NT Radio Station"
- description = "A mobile NT Radio Station ship."
-
-
/area/ruin/space/syndielistenspace
name = "Syndicate Listening Post"
icon_state = "yellow"
has_gravity = STANDARD_GRAVITY
-/datum/map_template/ruin/space/syndielistenspace
- prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
- id = "syndielistenspace"
- suffix = "syndielistenspace.dmm"
- name = "Syndicate Listening Outpost"
- description = "A syndicate listening outpost cleverly disguised as an asteroid"
-
-
/obj/effect/mob_spawn/human/space/syndicate/special(mob/living/new_spawn)
new_spawn.grant_language(/datum/language/codespeak, TRUE, TRUE, LANGUAGE_MIND)
@@ -100,11 +84,3 @@
area_flags = UNIQUE_AREA
flags_1 = NONE
sound_environment = SOUND_AREA_SPACE
-
-/datum/map_template/ruin/space/spacehotelsplurt
- prefix = "modular_splurt/_maps/RandomRuins/SpaceRuins/"
- id = "spacehotelsplurt"
- suffix = "spacehotelsplurt.dmm"
- name = "Twin Spires Hotel and Club"
- description = "A Nanotrasen-partnered interstellar hotel and stripclub"
-
diff --git a/tgstation.dme b/tgstation.dme
index 5187213951..dfbe6cba80 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -4324,6 +4324,7 @@
#include "modular_splurt\code\datums\mood_events\preg_events.dm"
#include "modular_splurt\code\datums\mutations\telekenisis.dm"
#include "modular_splurt\code\datums\ruins\lavaland.dm"
+#include "modular_splurt\code\datums\ruins\space.dm"
#include "modular_splurt\code\datums\status_effects\pregnancy.dm"
#include "modular_splurt\code\datums\traits\defines.dm"
#include "modular_splurt\code\datums\traits\good.dm"
From 663a8667673e9f272ade663a45646098af85f539 Mon Sep 17 00:00:00 2001
From: SPLURT Bot <97993072+SPLURT-Station-Bot@users.noreply.github.com>
Date: Sun, 30 Oct 2022 18:44:26 +0000
Subject: [PATCH 63/64] Automatic changelog generation for PR #569 [ci skip]
---
html/changelogs/AutoChangeLog-pr-569.yml | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 html/changelogs/AutoChangeLog-pr-569.yml
diff --git a/html/changelogs/AutoChangeLog-pr-569.yml b/html/changelogs/AutoChangeLog-pr-569.yml
new file mode 100644
index 0000000000..9fb10d837e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-569.yml
@@ -0,0 +1,5 @@
+author: Satile1
+delete-after: true
+changes:
+ - tweak: A chain of space hotels has been bought out by Nanotrasen and will begin
+ servicing nearby stations!
From 2de992e16b4b9a8d8fab9304320a1f545ff6b26e Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Sun, 30 Oct 2022 18:46:08 +0000
Subject: [PATCH 64/64] Automatic changelog compile [ci skip]
---
html/changelogs/AutoChangeLog-pr-569.yml | 5 -----
html/changelogs/archive/2022-10.yml | 3 +++
2 files changed, 3 insertions(+), 5 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-569.yml
diff --git a/html/changelogs/AutoChangeLog-pr-569.yml b/html/changelogs/AutoChangeLog-pr-569.yml
deleted file mode 100644
index 9fb10d837e..0000000000
--- a/html/changelogs/AutoChangeLog-pr-569.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-author: Satile1
-delete-after: true
-changes:
- - tweak: A chain of space hotels has been bought out by Nanotrasen and will begin
- servicing nearby stations!
diff --git a/html/changelogs/archive/2022-10.yml b/html/changelogs/archive/2022-10.yml
index 5bb82bb17f..c6fcb19019 100644
--- a/html/changelogs/archive/2022-10.yml
+++ b/html/changelogs/archive/2022-10.yml
@@ -165,3 +165,6 @@
- rscdel: PACMAN Boxstation Engine
- rscadd: DIY Boxstation Engine
- rscadd: DIY Supermatter Boxstation Engine
+ Satile1:
+ - tweak: A chain of space hotels has been bought out by Nanotrasen and will begin
+ servicing nearby stations!